Changeset 10611 in josm for trunk/src/org/openstreetmap/josm/gui/layer/geoimage
- Timestamp:
- 2016-07-23T18:46:45+02:00 (8 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/CorrelateGpxWithImages.java
r10420 r10611 30 30 import java.util.Collection; 31 31 import java.util.Collections; 32 import java.util.Comparator;33 32 import java.util.Date; 34 33 import java.util.Dictionary; … … 60 59 import javax.swing.event.DocumentEvent; 61 60 import javax.swing.event.DocumentListener; 62 import javax.swing.event.ListSelectionEvent;63 import javax.swing.event.ListSelectionListener;64 61 import javax.swing.filechooser.FileFilter; 65 62 … … 460 457 }); 461 458 imgList.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 462 imgList.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 463 464 @Override 465 public void valueChanged(ListSelectionEvent arg0) { 466 int index = imgList.getSelectedIndex(); 467 Integer orientation = ExifReader.readOrientation(yLayer.data.get(index).getFile()); 468 imgDisp.setImage(yLayer.data.get(index).getFile(), orientation); 469 Date date = yLayer.data.get(index).getExifTime(); 470 if (date != null) { 471 DateFormat df = DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM); 472 lbExifTime.setText(df.format(date)); 473 tfGpsTime.setText(df.format(date)); 474 tfGpsTime.setCaretPosition(tfGpsTime.getText().length()); 475 tfGpsTime.setEnabled(true); 476 tfGpsTime.requestFocus(); 477 } else { 478 lbExifTime.setText(tr("No date")); 479 tfGpsTime.setText(""); 480 tfGpsTime.setEnabled(false); 481 } 459 imgList.getSelectionModel().addListSelectionListener(evt -> { 460 int index = imgList.getSelectedIndex(); 461 Integer orientation = ExifReader.readOrientation(yLayer.data.get(index).getFile()); 462 imgDisp.setImage(yLayer.data.get(index).getFile(), orientation); 463 Date date = yLayer.data.get(index).getExifTime(); 464 if (date != null) { 465 DateFormat df = DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM); 466 lbExifTime.setText(df.format(date)); 467 tfGpsTime.setText(df.format(date)); 468 tfGpsTime.setCaretPosition(tfGpsTime.getText().length()); 469 tfGpsTime.setEnabled(true); 470 tfGpsTime.requestFocus(); 471 } else { 472 lbExifTime.setText(tr("No date")); 473 tfGpsTime.setText(""); 474 tfGpsTime.setEnabled(false); 482 475 } 483 476 }); … … 485 478 486 479 JButton openButton = new JButton(tr("Open another photo")); 487 openButton.addActionListener(new ActionListener() { 488 489 @Override 490 public void actionPerformed(ActionEvent ae) { 491 AbstractFileChooser fc = DiskAccessAction.createAndOpenFileChooser(true, false, null, 492 JpgImporter.FILE_FILTER_WITH_FOLDERS, JFileChooser.FILES_ONLY, "geoimage.lastdirectory"); 493 if (fc == null) 494 return; 495 File sel = fc.getSelectedFile(); 496 497 Integer orientation = ExifReader.readOrientation(sel); 498 imgDisp.setImage(sel, orientation); 499 500 Date date = ExifReader.readTime(sel); 501 if (date != null) { 502 lbExifTime.setText(DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM).format(date)); 503 tfGpsTime.setText(DateUtils.getDateFormat(DateFormat.SHORT).format(date)+' '); 504 tfGpsTime.setEnabled(true); 505 } else { 506 lbExifTime.setText(tr("No date")); 507 tfGpsTime.setText(""); 508 tfGpsTime.setEnabled(false); 509 } 480 openButton.addActionListener(ae -> { 481 AbstractFileChooser fc = DiskAccessAction.createAndOpenFileChooser(true, false, null, 482 JpgImporter.FILE_FILTER_WITH_FOLDERS, JFileChooser.FILES_ONLY, "geoimage.lastdirectory"); 483 if (fc == null) 484 return; 485 File sel = fc.getSelectedFile(); 486 487 Integer orientation = ExifReader.readOrientation(sel); 488 imgDisp.setImage(sel, orientation); 489 490 Date date = ExifReader.readTime(sel); 491 if (date != null) { 492 lbExifTime.setText(DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM).format(date)); 493 tfGpsTime.setText(DateUtils.getDateFormat(DateFormat.SHORT).format(date)+' '); 494 tfGpsTime.setEnabled(true); 495 } else { 496 lbExifTime.setText(tr("No date")); 497 tfGpsTime.setText(""); 498 tfGpsTime.setEnabled(false); 510 499 } 511 500 }); … … 1092 1081 } 1093 1082 1094 Collections.sort(dateImgLst, new Comparator<ImageEntry>() { 1095 @Override 1096 public int compare(ImageEntry arg0, ImageEntry arg1) { 1097 return arg0.getExifTime().compareTo(arg1.getExifTime()); 1098 } 1099 }); 1083 Collections.sort(dateImgLst, (o1, o2) -> o1.getExifTime().compareTo(o2.getExifTime())); 1100 1084 1101 1085 return dateImgLst; -
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
r10604 r10611 66 66 import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent; 67 67 import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent; 68 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;69 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;70 68 import org.openstreetmap.josm.gui.util.GuiHelper; 71 69 import org.openstreetmap.josm.io.JpgImporter; … … 431 429 432 430 if (selected != null && !data.isEmpty()) { 433 GuiHelper.runInEDTAndWait(new Runnable() { 434 @Override 435 public void run() { 436 for (int i = 0; i < data.size(); i++) { 437 if (selected.equals(data.get(i))) { 438 currentPhoto = i; 439 ImageViewerDialog.showImage(GeoImageLayer.this, data.get(i)); 440 break; 441 } 431 GuiHelper.runInEDTAndWait(() -> { 432 for (int i = 0; i < data.size(); i++) { 433 if (selected.equals(data.get(i))) { 434 currentPhoto = i; 435 ImageViewerDialog.showImage(GeoImageLayer.this, data.get(i)); 436 break; 442 437 } 443 438 } … … 881 876 }; 882 877 883 mapModeListener = new MapModeChangeListener() { 884 @Override 885 public void mapModeChange(MapMode oldMapMode, MapMode newMapMode) { 886 if (newMapMode == null || isSupportedMapMode(newMapMode)) { 887 Main.map.mapView.addMouseListener(mouseAdapter); 888 } else { 889 Main.map.mapView.removeMouseListener(mouseAdapter); 890 } 878 mapModeListener = (oldMapMode, newMapMode) -> { 879 if (newMapMode == null || isSupportedMapMode(newMapMode)) { 880 Main.map.mapView.addMouseListener(mouseAdapter); 881 } else { 882 Main.map.mapView.removeMouseListener(mouseAdapter); 891 883 } 892 884 }; … … 895 887 mapModeListener.mapModeChange(null, Main.map.mapMode); 896 888 897 Main.getLayerManager().addActiveLayerChangeListener(new ActiveLayerChangeListener() { 898 @Override 899 public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) { 900 if (Main.getLayerManager().getActiveLayer() == GeoImageLayer.this) { 901 // only in select mode it is possible to click the images 902 Main.map.selectSelectTool(false); 903 } 889 Main.getLayerManager().addActiveLayerChangeListener(e -> { 890 if (Main.getLayerManager().getActiveLayer() == GeoImageLayer.this) { 891 // only in select mode it is possible to click the images 892 Main.map.selectSelectTool(false); 904 893 } 905 894 });
Note:
See TracChangeset
for help on using the changeset viewer.