Ticket #24523: 24523.patch
| File 24523.patch, 3.9 KB (added by , 7 months ago) |
|---|
-
src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
100 100 private final ImageOpenExternalAction imageOpenExternalAction = new ImageOpenExternalAction(); 101 101 private final LayerVisibilityAction visibilityAction = new LayerVisibilityAction(Collections::emptyList, 102 102 () -> Collections.singleton(imageryFilterSettings)); 103 103 private final CloseOtherTabsAction closeAllTabsAction = new CloseOtherTabsAction(); 104 104 private final ImageDisplay imgDisplay = new ImageDisplay(imageryFilterSettings); 105 105 private Future<?> imgLoadingFuture; 106 106 private boolean centerView; … … 255 255 addButtonGroup(buttons, this.btnCopyPath, this.btnOpenExternal); 256 256 addButtonGroup(buttons, createButton(visibilityAction, buttonDim)); 257 257 258 258 259 JPanel bottomPane = new JPanel(new GridBagLayout()); 259 260 GridBagConstraints gc = new GridBagConstraints(); 260 261 gc.gridx = 0; … … 417 418 imageRemoveFromDiskAction.destroy(); 418 419 imageZoomAction.destroy(); 419 420 toggleAction.destroy(); 421 closeAllTabsAction.destroy(); 420 422 cancelLoadingImage(); 421 423 super.destroy(); 422 424 // make sure that Image Display is destroyed here, it might not be a component … … 607 609 refresh(false); 608 610 } 609 611 } 610 612 611 613 private class ImageRemoveAction extends JosmAction { 612 614 ImageRemoveAction() { 613 615 super(null, new ImageProvider(DIALOG_FOLDER, "delete"), tr("Remove photo from layer"), Shortcut.registerShortcut( … … 756 758 } 757 759 } 758 760 761 private class CloseOtherTabsAction extends JosmAction { 762 CloseOtherTabsAction() { 763 super(tr("close-other-tabs"), new ImageProvider("misc", "close"), tr("Close other tabs"), 764 Shortcut.registerShortcut("closeother", "close other tabs", KeyEvent.VK_Y, Shortcut.ALT), false, null, 765 false); 766 } 767 768 @Override 769 public void actionPerformed(ActionEvent e) { 770 for (int i = layers.getTabCount() - 1; i >= 0; i--) { 771 Component component = layers.getComponentAt(i); 772 if (component instanceof MoveImgDisplayPanel) { 773 MoveImgDisplayPanel<?> moveImgDisplayPanel = (MoveImgDisplayPanel<?>) component; 774 if (moveImgDisplayPanel.layer.containsImage(currentEntry)) 775 continue; 776 layers.removeTabAt(i); 777 layers.remove(moveImgDisplayPanel); 778 } 779 } 780 } 781 } 782 759 783 /** 760 784 * A tab title renderer for {@link HideableTabbedPane} that allows us to close tabs. 761 785 */ … … 1032 1056 if (Config.getPref().getBoolean("geoimage.viewer.extendedinfo", false)) { 1033 1057 osd.append(tr("\nEXIF DTO time: {0}", dtf.format(entry.getExifInstant()))); 1034 1058 } else { 1035 osd.append(tr("\nEXIF time: {0}", dtf.format(entry.getExifInstant()))); 1059 osd.append(tr("\nEXIF time: {0}", dtf.format(entry.getExifInstant()))); 1036 1060 } 1037 1061 } 1038 1062 … … 1042 1066 } 1043 1067 if (entry.hasGpsTime()) { 1044 1068 osd.append(tr("\nCorr GPS time: {0}", dtf.format(entry.getGpsInstant()))); 1045 } 1069 } 1046 1070 if (entry.getExifImgDir() != null) { 1047 1071 osd.append(tr("\nDirection {0}\u00b0", Math.round(entry.getExifImgDir()))); 1048 1072 } … … 1211 1235 GuiHelper.runInEDT(this::refresh); 1212 1236 } 1213 1237 } 1214 1238 1215 1239 private void registerOnLayer(Layer layer) { 1216 1240 if (layer instanceof IGeoImageLayer) { 1217 1241 layer.addPropertyChangeListener(l -> {
