Ignore:
Timestamp:
2015-06-18T15:15:47+02:00 (9 years ago)
Author:
nokutu
Message:

Solved bugs with huge and/or multiple downloads

Location:
applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary
Files:
1 added
16 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImage.java

    r31275 r31277  
    132132       
    133133        public String getDate() {
     134                return getDate("dd/MM/yyyy - hh:mm:ss");
     135        }
     136       
     137        public String getDate(String format) {
    134138                Date date = new Date(getCapturedAt());
    135139
    136                 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy - hh:mm:ss");
     140                SimpleDateFormat formatter = new SimpleDateFormat(format);
    137141                return formatter.format(date);
    138142        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImportedImage.java

    r31264 r31277  
    1313         */
    1414        protected File file;
     15        public final String datetimeOriginal;
    1516
    16         public MapillaryImportedImage(double lat, double lon, double ca, File file) {
     17        public MapillaryImportedImage(double lat, double lon, double ca, File file, String datetimeOriginal) {
    1718                super(lat, lon, ca);
    1819                this.file = file;
     20                System.out.println(datetimeOriginal);
     21                this.datetimeOriginal = datetimeOriginal;
    1922        }
    2023
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java

    r31275 r31277  
    44
    55import org.apache.commons.jcs.access.CacheAccess;
     6import org.openstreetmap.josm.plugins.mapillary.actions.MapillaryDownloadViewAction;
    67import org.openstreetmap.josm.plugins.mapillary.cache.MapillaryCache;
    78import org.openstreetmap.josm.plugins.mapillary.downloads.MapillaryDownloader;
     
    4647import javax.swing.Action;
    4748import javax.swing.Icon;
     49import javax.swing.JOptionPane;
    4850
    4951import java.util.List;
     
    5355                DataSetListener, EditLayerChangeListener, LayerChangeListener {
    5456
    55         public final static int SEQUENCE_MAX_JUMP_DISTANCE = 100;
     57        public final static int SEQUENCE_MAX_JUMP_DISTANCE = Main.pref.getInteger(
     58                        "mapillary.sequence-max-jump-distance", 100);
    5659
    5760        public static MapillaryLayer INSTANCE;
     
    6265        private final MapillaryData mapillaryData = MapillaryData.getInstance();
    6366
    64         private List<Bounds> bounds;
     67        public List<Bounds> bounds;
    6568
    6669        private MapillaryToggleDialog mtd;
     
    6871
    6972        private MouseAdapter mouseAdapter;
    70        
    71     int highlightPointRadius = Main.pref.getInteger("mappaint.highlight.radius", 7);
    72     private int highlightStep = Main.pref.getInteger("mappaint.highlight.step", 4);
     73
     74        int highlightPointRadius = Main.pref.getInteger(
     75                        "mappaint.highlight.radius", 7);
     76        private int highlightStep = Main.pref.getInteger("mappaint.highlight.step",
     77                        4);
    7378
    7479        public MapillaryLayer() {
     
    128133
    129134        /**
    130          * Downloads all images of the area covered by the OSM data.
     135         * Downloads all images of the area covered by the OSM data. This is only
     136         * just for automatic download.
    131137         */
    132138        public void download() {
     139                checkBigAreas();
     140                if (Main.pref.getBoolean("mapillary.download-manually"))
     141                        return;
    133142                for (Bounds bounds : Main.map.mapView.getEditLayer().data
    134143                                .getDataSourceBounds()) {
     
    141150        }
    142151
     152        private void checkBigAreas() {
     153                double area = 0;
     154                for (Bounds bounds : Main.map.mapView.getEditLayer().data
     155                                .getDataSourceBounds()) {
     156                        area += bounds.getArea();
     157                }
     158                if (area > MapillaryDownloadViewAction.MAX_AREA) {
     159                        Main.pref.put("mapillary.download-manually", true);
     160                        JOptionPane
     161                                        .showMessageDialog(
     162                                                        Main.parent,
     163                                                        tr("The downloaded OSM area is too big. Download mode has been change to manual. You can change this back to automatic in preferences settings."));
     164                }
     165        }
     166
    143167        /**
    144168         * Returns the MapillaryData object, which acts as the database of the
     
    158182                MapillaryToggleDialog.getInstance().mapillaryImageDisplay
    159183                                .setImage(null);
     184                MapillaryData.getInstance().getImages().clear();
    160185                MapillaryLayer.INSTANCE = null;
    161186                MapillaryData.INSTANCE = null;
     
    252277                }
    253278        }
    254        
     279
    255280        /**
    256281         * Draws the highlight of the icon.
     282         *
    257283         * @param g
    258284         * @param p
    259285         * @param size
    260286         */
    261     private void drawPointHighlight(Graphics2D g, Point p, int size) {
    262         Color oldColor = g.getColor();
    263         Color highlightColor = PaintColors.HIGHLIGHT.get();
    264         Color highlightColorTransparent = new Color(highlightColor.getRed(), highlightColor.getGreen(), highlightColor.getBlue(), 100);
    265         g.setColor(highlightColorTransparent);
    266         int s = size + highlightPointRadius;
    267         while(s >= size) {
    268             int r = (int) Math.floor(s/2d);
    269             g.fillRoundRect(p.x-r, p.y-r, s, s, r, r);
    270             s -= highlightStep;
    271         }
    272         g.setColor(oldColor);
    273     }
     287        private void drawPointHighlight(Graphics2D g, Point p, int size) {
     288                Color oldColor = g.getColor();
     289                Color highlightColor = PaintColors.HIGHLIGHT.get();
     290                Color highlightColorTransparent = new Color(highlightColor.getRed(),
     291                                highlightColor.getGreen(), highlightColor.getBlue(), 100);
     292                g.setColor(highlightColorTransparent);
     293                int s = size + highlightPointRadius;
     294                while (s >= size) {
     295                        int r = (int) Math.floor(s / 2d);
     296                        g.fillRoundRect(p.x - r, p.y - r, s, s, r, r);
     297                        s -= highlightStep;
     298                }
     299                g.setColor(oldColor);
     300        }
    274301
    275302        /**
     
    305332        }
    306333
    307 
    308334        @Override
    309335        public Icon getIcon() {
     
    319345        public void mergeFrom(Layer from) {
    320346                throw new UnsupportedOperationException(
    321                                 "Notes layer does not support merging yet");
     347                                "This layer does not support merging yet");
    322348        }
    323349
     
    458484                if (newLayer == this) {
    459485                        if (MapillaryData.getInstance().getImages().size() > 0)
    460                                 Main.map.statusLine.setHelpText(tr("Total images: ")
    461                                                 + MapillaryData.getInstance().getImages().size());
     486                                Main.map.statusLine.setHelpText(tr("Total images: {0}",
     487                                                MapillaryData.getInstance().getImages().size()));
    462488                        else
    463489                                Main.map.statusLine.setHelpText(tr("No images found"));
    464490                }
    465 
    466491        }
    467492
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryMouseAdapter.java

    r31273 r31277  
    4242                        return;
    4343                MapillaryAbstractImage closestTemp = getClosest(e.getPoint());
    44                 if (Main.map.mapView.getActiveLayer() instanceof OsmDataLayer && closestTemp != null) {
     44                if (Main.map.mapView.getActiveLayer() instanceof OsmDataLayer
     45                                && closestTemp != null) {
    4546                        this.lastClicked = this.closest;
    4647                        MapillaryData.getInstance().setSelectedImage(closestTemp);
     
    134135                if (Main.map.mapView.getActiveLayer() != MapillaryLayer.getInstance())
    135136                        return;
     137
     138                if (!Main.pref.getBoolean("mapillary.developer"))
     139                        for (MapillaryAbstractImage img : MapillaryData.getInstance()
     140                                        .getMultiSelectedImages()) {
     141                                if (img instanceof MapillaryImage)
     142                                        return;
     143                        }
    136144                if (MapillaryData.getInstance().getSelectedImage() != null) {
    137145                        if (lastButton == MouseEvent.BUTTON1 && !e.isShiftDown()) {
     
    141149                                for (MapillaryAbstractImage img : MapillaryData.getInstance()
    142150                                                .getMultiSelectedImages()) {
     151
    143152                                        img.move(to.getX() - from.getX(), to.getY() - from.getY());
    144153                                }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java

    r31275 r31277  
    5252        private final MapillarySignAction signAction;
    5353        private final MapillaryZoomAction zoomAction;
     54        private final MapillaryDownloadViewAction downloadViewAction;
    5455
    5556        public static JMenuItem DOWNLOAD_MENU;
     
    5859        public static JMenuItem SIGN_MENU;
    5960        public static JMenuItem ZOOM_MENU;
     61        public static JMenuItem DOWNLOAD_VIEW_MENU;
    6062
    6163        public MapillaryPlugin(PluginInformation info) {
     
    6668                signAction = new MapillarySignAction();
    6769                zoomAction = new MapillaryZoomAction();
     70                downloadViewAction = new MapillaryDownloadViewAction();
    6871
    6972                DOWNLOAD_MENU = MainMenu.add(Main.main.menu.imageryMenu,
     
    7376                IMPORT_MENU = MainMenu.add(Main.main.menu.fileMenu, importAction,
    7477                                false, 14);
    75                 SIGN_MENU = MainMenu
    76                                 .add(Main.main.menu.dataMenu, signAction, false);
     78                SIGN_MENU = MainMenu.add(Main.main.menu.dataMenu, signAction, false);
    7779                ZOOM_MENU = MainMenu
    7880                                .add(Main.main.menu.viewMenu, zoomAction, false, 15);
    79 
     81                DOWNLOAD_VIEW_MENU = MainMenu.add(Main.main.menu.fileMenu,
     82                                downloadViewAction, false, 14);
     83               
    8084                EXPORT_MENU.setEnabled(false);
    8185                DOWNLOAD_MENU.setEnabled(false);
     
    8387                SIGN_MENU.setEnabled(false);
    8488                ZOOM_MENU.setEnabled(false);
     89                DOWNLOAD_VIEW_MENU.setEnabled(false);
    8590
    8691                MapView.addEditLayerChangeListener(this);
     
    119124                        DOWNLOAD_MENU.setEnabled(true);
    120125                        IMPORT_MENU.setEnabled(true);
     126                        DOWNLOAD_VIEW_MENU.setEnabled(true);
    121127                } else if (oldLayer != null && newLayer == null) {
    122128                        DOWNLOAD_MENU.setEnabled(false);
    123129                        IMPORT_MENU.setEnabled(false);
     130                        DOWNLOAD_VIEW_MENU.setEnabled(false);
    124131                }
    125132        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillarySequence.java

    r31256 r31277  
    1414        private final List<MapillaryImage> images;
    1515        private final String key;
    16         private final int created_at;
     16        private final long created_at;
    1717
    18         public MapillarySequence(String key, int created_at) {
     18        public MapillarySequence(String key, long created_at) {
    1919                this.images = new ArrayList<>();
    2020                this.key = key;
     
    3131        }
    3232
    33         public int getCreatedAt() {
     33        public long getCreatedAt() {
    3434                return created_at;
    3535        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadAction.java

    r31266 r31277  
    99import java.awt.event.KeyEvent;
    1010
    11 import org.openstreetmap.josm.gui.layer.Layer;
    1211import org.openstreetmap.josm.Main;
    1312import org.openstreetmap.josm.actions.JosmAction;
     
    2322 */
    2423public class MapillaryDownloadAction extends JosmAction {
    25         MapillaryLayer layer;
    2624
    2725        public MapillaryDownloadAction() {
     
    3634        @Override
    3735        public void actionPerformed(ActionEvent arg0) {
    38                 this.layer = null;
    39                 for (Layer layer : Main.map.mapView.getAllLayers())
    40                         if (layer instanceof MapillaryLayer)
    41                                 this.layer = (MapillaryLayer) layer;
    42 
    43                 if (this.layer == null) {
    44                         layer = new MapillaryLayer();
    45                         layer.download();
    46                 } else {
    47                         if (Main.map.mapView.getActiveLayer() != layer)
    48                                 Main.map.mapView.setActiveLayer(layer);
     36                if (MapillaryLayer.INSTANCE == null)
     37                        MapillaryLayer.getInstance().download();
     38                else {
     39                        if (Main.map.mapView.getActiveLayer() != MapillaryLayer
     40                                        .getInstance())
     41                                Main.map.mapView.setActiveLayer(MapillaryLayer.getInstance());
    4942                        else
    5043                                Main.map.mapView
     
    5245                }
    5346        }
     47
    5448}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportAction.java

    r31271 r31277  
    77import java.io.File;
    88import java.io.IOException;
     9import java.text.SimpleDateFormat;
     10import java.util.Calendar;
    911
    1012import javax.swing.JFileChooser;
     
    1719import org.apache.commons.imaging.formats.jpeg.JpegImageMetadata;
    1820import org.apache.commons.imaging.formats.tiff.TiffField;
     21import org.apache.commons.imaging.formats.tiff.constants.ExifTagConstants;
    1922import org.apache.commons.imaging.formats.tiff.constants.GpsTagConstants;
    2023import org.openstreetmap.josm.Main;
     
    114117                        final TiffField ca = jpegMetadata
    115118                                        .findEXIFValueWithExactMatch(GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION);
     119                        final TiffField datetimeOriginal = jpegMetadata
     120                                        .findEXIFValueWithExactMatch(ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL);
     121                        if (lat_ref == null || lat == null || lon == null
     122                                        || lon_ref == null) {
     123                                readNoTags(file);
     124                        }
    116125                        double latValue = 0;
    117126                        double lonValue = 0;
     
    129138                        if (lon_ref.getValue().toString().equals("W"))
    130139                                lonValue = -lonValue;
    131                         if (latValue != 0 && lonValue != 0) {
     140                        if (datetimeOriginal != null)
    132141                                MapillaryData.getInstance().add(
    133142                                                new MapillaryImportedImage(latValue, lonValue, caValue,
    134                                                                 file));
    135                         } else {
    136                                 readNoTags(file);
    137                         }
     143                                                                file, datetimeOriginal.getStringValue()));
     144                        else
     145                                MapillaryData.getInstance().add(
     146                                                new MapillaryImportedImage(latValue, lonValue, caValue,
     147                                                                file, currentDate()));
    138148                }
    139149        }
     
    156166                MapillaryData.getInstance().add(
    157167                                new MapillaryImportedImage(pos.lat(), pos.lon() + horDev, 0,
    158                                                 file));
     168                                                file, currentDate()));
    159169                noTagsPics++;
    160170        }
     
    171181                                / 3600;
    172182        }
     183       
     184        private String currentDate() {
     185                   Calendar cal = Calendar.getInstance();
     186
     187                        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
     188                        return formatter.format(cal);
     189       
     190        }
    173191}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryDownloader.java

    r31259 r31277  
    4848                url2 += buildParameters(hash);
    4949                url3 += buildParameters(hash);
     50                System.out.println(url2);
    5051               
    5152                try {
    5253                        Main.info("MapillaryPlugin GET " + url2);
    53                         Main.worker.submit(new MapillarySquareDownloadManagerThread(url1, url2, url3, new Bounds(minLatLon, maxLatLon)));
     54                        Main.worker.submit(new MapillarySquareDownloadManagerThread(url1, url2, url3));
    5455                } catch (Exception e) {
    5556                        Main.error(e);
    5657                }
     58        }
     59       
     60        public void getImages(Bounds bounds) {
     61                getImages(bounds.getMin(), bounds.getMax());
    5762        }
    5863
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportManager.java

    r31261 r31277  
    3535        ArrayBlockingQueue<MapillaryAbstractImage> queueImages;
    3636
     37        final int amount;
    3738        List<MapillaryAbstractImage> images;
    3839        String path;
     
    4647
    4748                this.images = images;
     49                amount = images.size();
    4850                this.path = path;
    4951        }
     
    6365                        queueImages.add(image);
    6466                }
     67                amount = images.size();         
    6568        }
    6669
     
    7376        protected void realRun() throws SAXException, IOException,
    7477                        OsmTransferException {
    75                
    7678                // Starts a writer thread in order to write the pictures on the disk.
    7779                Thread writer = new Thread(new MapillaryExportWriterThread(path, queue,
    78                                 queueImages, queue.size(), this.getProgressMonitor()));
     80                                queueImages, amount, this.getProgressMonitor()));
    7981                writer.start();
    8082                if (path == null) {
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportWriterThread.java

    r31261 r31277  
    1515import org.apache.commons.imaging.common.RationalNumber;
    1616import org.apache.commons.imaging.formats.jpeg.exif.ExifRewriter;
     17import org.apache.commons.imaging.formats.tiff.constants.ExifTagConstants;
    1718import org.apache.commons.imaging.formats.tiff.constants.GpsTagConstants;
    1819import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory;
     
    6263                                mimg = queueImages.take();
    6364                                if (path == null && mimg instanceof MapillaryImportedImage) {
    64                                         String path = ((MapillaryImportedImage) mimg).getFile().getPath();
     65                                        String path = ((MapillaryImportedImage) mimg).getFile()
     66                                                        .getPath();
    6567                                        finalPath = path.substring(0, path.lastIndexOf('.'));
    66                                 }
    67                                 else if (mimg instanceof MapillaryImage)
     68                                } else if (mimg instanceof MapillaryImage)
    6869                                        finalPath = path + "/" + ((MapillaryImage) mimg).getKey();
    6970                                else
     
    7677                                // Write EXIF tags
    7778                                TiffOutputSet outputSet = new TiffOutputSet();
    78                                 TiffOutputDirectory exifDirectory = outputSet
    79                                                 .getOrCreateGPSDirectory();
     79                                TiffOutputDirectory exifDirectory = outputSet.getOrCreateExifDirectory();
    8080                                exifDirectory
    8181                                                .add(GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION_REF,
     
    8383                                exifDirectory.add(GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION,
    8484                                                RationalNumber.valueOf(mimg.getCa()));
     85                                if (mimg instanceof MapillaryImportedImage) {
     86                                        exifDirectory.add(
     87                                                        ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL,
     88                                                        ((MapillaryImportedImage) mimg).datetimeOriginal);
     89                                }
     90                                else if (mimg instanceof MapillaryImage)
     91                                        exifDirectory.add(
     92                                                        ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL,
     93                                                        ((MapillaryImage) mimg).getDate("yyyy/MM/dd hh/mm/ss"));
    8594                                outputSet.setGPSInDegrees(mimg.getLatLon().lon(), mimg
    8695                                                .getLatLon().lat());
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java

    r31256 r31277  
    1919import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
    2020import org.openstreetmap.josm.plugins.mapillary.MapillaryImage;
     21import org.openstreetmap.josm.plugins.mapillary.MapillaryLayer;
    2122import org.openstreetmap.josm.plugins.mapillary.MapillarySequence;
    2223
     
    3334        private String url;
    3435        private ExecutorService ex;
    35         private Bounds bounds;
     36        private List<Bounds> bounds;
    3637
    37         public MapillarySequenceDownloadThread(ExecutorService ex, String url,
    38                         Bounds bounds) {
     38        public MapillarySequenceDownloadThread(ExecutorService ex, String url) {
    3939                this.url = url;
    4040                this.ex = ex;
    41                 this.bounds = bounds;
     41                this.bounds = MapillaryLayer.getInstance().bounds;
    4242        }
    4343
     
    7777                                MapillarySequence sequence = new MapillarySequence(
    7878                                                jsonobj.getString("key"), jsonobj.getJsonNumber(
    79                                                                 "captured_at").intValue());
    80                                 for (MapillaryAbstractImage mimage : MapillaryData
    81                                                 .getInstance().getImages())
    82                                         if (mimage instanceof MapillaryImage
    83                                                         && ((MapillaryImage) mimage).getSequence().getKey()
    84                                                                         .equals(sequence.getKey()))
    85                                                 break;
     79                                                                "captured_at").longValue());
     80                                                               
    8681                                int first = -1;
    8782                                int last = -1;
     
    9186                                // area.
    9287                                for (MapillaryAbstractImage img : images) {
    93                                         if (first == -1 && bounds.contains(img.getLatLon()))
     88                                        if (first == -1 && isInside(img))
    9489                                                first = pos;
    9590                                        else if (first != -1 && last == -1
    96                                                         && !bounds.contains(img.getLatLon()))
     91                                                        && !isInside(img))
    9792                                                last = pos;
    98                                         else if (last != -1 && bounds.contains(img.getLatLon()))
     93                                        else if (last != -1 && isInside(img))
    9994                                                last = -1;
    10095                                        pos++;
     
    107102                                List<MapillaryImage> finalImages = images.subList(first, last);
    108103                                for (MapillaryImage img : finalImages) {
     104                                        MapillaryData.getInstance().getImages().remove(img);
    109105                                        img.setSequence(sequence);
    110106                                }
     
    118114                }
    119115        }
     116       
     117        private boolean isInside(MapillaryAbstractImage image) {
     118                for (int i = 0; i < bounds.size(); i++) {
     119                        if (bounds.get(i).contains(image.getLatLon()))
     120                                return true;
     121                }
     122                return false;
     123        }
    120124}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySignDownloaderThread.java

    r31275 r31277  
    4848                                                rects = rectversions.getJsonObject(j).getJsonArray("rects");
    4949                                                for (int k = 0; k < rects.size(); k++) {
    50                                                         JsonObject data = rects.getJsonObject(j);
     50                                                        JsonObject data = rects.getJsonObject(k);
    5151                                                        for (MapillaryAbstractImage image : MapillaryData
    5252                                                                        .getInstance().getImages())
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySquareDownloadManagerThread.java

    r31275 r31277  
    88
    99import org.openstreetmap.josm.Main;
    10 import org.openstreetmap.josm.data.Bounds;
    1110import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
    1211
     
    2524        private final String urlSequences;
    2625        private final String urlSigns;
    27         private final Bounds bounds;
    2826
    2927        public MapillarySquareDownloadManagerThread(String urlImages,
    30                         String urlSequences, String urlSigns, Bounds bounds) {
     28                        String urlSequences, String urlSigns) {
    3129                this.urlImages = urlImages;
    3230                this.urlSequences = urlSequences;
    3331                this.urlSigns = urlSigns;
    34                 this.bounds = bounds;
    3532        }
    3633
     
    3936                try {
    4037                        downloadSequences();
     38                        Main.map.statusLine.setHelpText("Downloading image's information");
    4139                        completeImages();
    42                         Main.map.statusLine.setHelpText("Downloading signs information");
     40                        Main.map.statusLine.setHelpText("Downloading signs");
    4341                        downloadSigns();
    4442                } catch (InterruptedException e) {
     
    5957                while (!ex.isShutdown()) {
    6058                        ex.execute(new MapillarySequenceDownloadThread(ex, urlSequences
    61                                         + "&page=" + page + "&limit=1", bounds));
     59                                        + "&page=" + page + "&limit=1"));
    6260                        while (ex.getQueue().remainingCapacity() == 0)
    6361                                Thread.sleep(100);
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryImageDisplay.java

    r31266 r31277  
    2121import javax.swing.JPanel;
    2222
     23import org.openstreetmap.josm.Main;
     24
    2325/**
    2426 * This object is a responsible JComponent which lets you zoom and drag. It is
     
    3133public class MapillaryImageDisplay extends JComponent {
    3234
    33         private static final int DRAG_BUTTON = 3;
    34         private static final int OPTION_BUTTON = 2;
    35         private static final int ZOOM_BUTTON = 1;
     35        private static final int DRAG_BUTTON = Main.pref.getInteger("mapillary.picture-drag-button", 3);
     36        private static final int OPTION_BUTTON = Main.pref.getInteger("mapillary.picture-option-button", 2);
     37        private static final int ZOOM_BUTTON = Main.pref.getInteger("mapillary.picture-zoom-button", 1);
    3638
    3739        /** The image currently displayed */
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java

    r31256 r31277  
    1414public class MapillaryPreferenceSetting implements SubPreferenceSetting {
    1515
    16         private JCheckBox reverseButtons = new JCheckBox(tr("Reverse buttons position when displaying images."));;
     16        private JCheckBox reverseButtons = new JCheckBox(tr("Reverse buttons position when displaying images."));
     17        private JCheckBox downloadMode = new JCheckBox(tr("Download images manually"));
     18
    1719       
    1820        @Override
     
    2628               
    2729                reverseButtons.setSelected(Main.pref.getBoolean("mapillary.reverse-buttons"));
     30                downloadMode.setSelected(Main.pref.getBoolean("mapillary.download-manually"));
    2831               
     32                panel.setLayout(new FlowLayout(FlowLayout.LEFT));
    2933                panel.add(reverseButtons);
    30                 panel.setLayout(new FlowLayout(FlowLayout.LEFT));
     34                panel.add(downloadMode);
    3135        gui.getDisplayPreference().addSubTab(this, "Mapillary", panel);
    3236        }
     
    3640        boolean mod = false;
    3741        Main.pref.put("mapillary.reverse-buttons", reverseButtons.isSelected());
     42        Main.pref.put("mapillary.download-manually", downloadMode.isSelected());
    3843        return mod;
    3944        }
Note: See TracChangeset for help on using the changeset viewer.