Changeset 2627 in josm for trunk/src/org/openstreetmap/josm/gui/layer/geoimage
- Timestamp:
- 2009-12-13T12:28:18+01:00 (14 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui/layer/geoimage
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
r2621 r2627 10 10 11 11 import java.awt.AlphaComposite; 12 import java.awt.BorderLayout; 12 13 import java.awt.Color; 13 14 import java.awt.Component; … … 36 37 37 38 import javax.swing.Icon; 39 import javax.swing.JLabel; 38 40 import javax.swing.JMenuItem; 39 41 import javax.swing.JOptionPane; 42 import javax.swing.JPanel; 40 43 import javax.swing.JSeparator; 44 import javax.swing.SwingConstants; 41 45 42 46 import org.openstreetmap.josm.Main; … … 46 50 import org.openstreetmap.josm.data.coor.LatLon; 47 51 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor; 52 import org.openstreetmap.josm.gui.ExtendedDialog; 48 53 import org.openstreetmap.josm.gui.MapView; 49 54 import org.openstreetmap.josm.gui.PleaseWaitRunnable; … … 587 592 ImageViewerDialog.showImage(this, null); 588 593 } 589 } 590 updateOffscreenBuffer = true; 591 Main.main.map.repaint(); 594 updateOffscreenBuffer = true; 595 Main.main.map.repaint(); 596 } 597 } 598 599 public void removeCurrentPhotoFromDisk() { 600 ImageEntry toDelete = null; 601 if (data != null && data.size() > 0 && currentPhoto >= 0 && currentPhoto < data.size()) { 602 toDelete = data.get(currentPhoto); 603 604 int result = new ExtendedDialog( 605 Main.parent, 606 tr("Delete image file from disk"), 607 new String[] {tr("Cancel"), tr("Delete")}) 608 .setButtonIcons(new String[] {"cancel.png", "dialogs/delete.png"}) 609 .setContent(new JLabel(tr("<html><h3>Delete the file {0} from the disk?<p>The image file will be permanently lost!" 610 ,toDelete.file.getName()), ImageProvider.get("dialogs/geoimage/deletefromdisk"),SwingConstants.LEFT)) 611 .toggleEnable("geoimage.deleteimagefromdisk") 612 .setToggleCheckboxText(tr("Always delete and don't show this dialog again")) 613 .setCancelButton(1) 614 .setDefaultButton(2) 615 .showDialog() 616 .getValue(); 617 618 if(result == 2 || result == ExtendedDialog.DialogNotShown) 619 { 620 data.remove(currentPhoto); 621 if (currentPhoto >= data.size()) { 622 currentPhoto = data.size() - 1; 623 } 624 if (currentPhoto >= 0) { 625 ImageViewerDialog.showImage(this, data.get(currentPhoto)); 626 } else { 627 ImageViewerDialog.showImage(this, null); 628 } 629 630 if (toDelete.file.delete()) { 631 System.out.println("File "+toDelete.file.toString()+" deleted. "); 632 } else { 633 JOptionPane.showMessageDialog( 634 Main.parent, 635 tr("Image file could not be deleted."), 636 tr("Error"), 637 JOptionPane.ERROR_MESSAGE 638 ); 639 } 640 641 updateOffscreenBuffer = true; 642 Main.main.map.repaint(); 643 } 644 } 592 645 } 593 646 -
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
r2617 r2627 39 39 private static final String COMMAND_NEXT = "next"; 40 40 private static final String COMMAND_REMOVE = "remove"; 41 private static final String COMMAND_REMOVE_FROM_DISK = "removefromdisk"; 41 42 private static final String COMMAND_PREVIOUS = "previous"; 42 43 private static final String COMMAND_COLLAPSE = "collapse"; … … 93 94 btnPrevious.getActionMap().put(APREVIOUS, prevAction); 94 95 95 JButton btnDelete = new JButton(new ImageAction(COMMAND_REMOVE, ImageProvider.get("dialogs", "delete"), tr("Remove photo from layer"))); 96 final String DELETE_TEXT = tr("Remove photo from layer"); 97 ImageAction delAction = new ImageAction(COMMAND_REMOVE, ImageProvider.get("dialogs", "delete"), DELETE_TEXT); 98 JButton btnDelete = new JButton(delAction); 96 99 btnDelete.setPreferredSize(buttonDim); 100 Shortcut scDelete = Shortcut.registerShortcut( 101 "geoimage:deleteimagefromlayer", tr("Geoimage: {0}", DELETE_TEXT), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT, Shortcut.SHIFT_DEFAULT); 102 Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDelete.getKeyStroke(), DELETE_TEXT); 103 Main.contentPane.getActionMap().put(DELETE_TEXT, delAction); 104 btnDelete.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDelete.getKeyStroke(), DELETE_TEXT); 105 btnDelete.getActionMap().put(DELETE_TEXT, delAction); 106 107 ImageAction delFromDiskAction = new ImageAction(COMMAND_REMOVE_FROM_DISK, ImageProvider.get("dialogs", "geoimage/deletefromdisk"), tr("Delete image file from disk")); 108 JButton btnDeleteFromDisk = new JButton(delFromDiskAction); 109 btnDeleteFromDisk.setPreferredSize(buttonDim); 110 Shortcut scDeleteFromDisk = Shortcut.registerShortcut( 111 "geoimage:deletefilefromdisk", tr("Geoimage: {0}", tr("Delete File from disk")), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT, Shortcut.GROUP_MENU + Shortcut.SHIFT_DEFAULT); 112 final String ADELFROMDISK = "Delete image file from disk"; 113 Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDeleteFromDisk.getKeyStroke(), ADELFROMDISK); 114 Main.contentPane.getActionMap().put(ADELFROMDISK, delFromDiskAction); 115 btnDeleteFromDisk.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDeleteFromDisk.getKeyStroke(), ADELFROMDISK); 116 btnDeleteFromDisk.getActionMap().put(ADELFROMDISK, delFromDiskAction); 97 117 98 118 ImageAction nextAction = new ImageAction(COMMAND_NEXT, ImageProvider.get("dialogs", "next"), tr("Next")); … … 125 145 buttons.add(Box.createRigidArea(new Dimension(14, 0))); 126 146 buttons.add(btnDelete); 147 buttons.add(btnDeleteFromDisk); 127 148 128 149 JPanel bottomPane = new JPanel(); … … 176 197 if (currentLayer != null) { 177 198 currentLayer.removeCurrentPhoto(); 199 } 200 } else if (COMMAND_REMOVE_FROM_DISK.equals(action)) { 201 if (currentLayer != null) { 202 currentLayer.removeCurrentPhotoFromDisk(); 178 203 } 179 204 } else if (COMMAND_COLLAPSE.equals(action)) {
Note:
See TracChangeset
for help on using the changeset viewer.