Ignore:
Timestamp:
2014-09-24T21:10:45+02:00 (10 years ago)
Author:
donvip
Message:

[josm_waydownloader] fix #josm10552 - display non intrusive notifications

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/waydownloader/src/org/openstreetmap/josm/plugins/waydownloader/WayDownloaderPlugin.java

    r30664 r30693  
    2121import org.openstreetmap.josm.data.Bounds;
    2222import org.openstreetmap.josm.data.DataSource;
     23import org.openstreetmap.josm.data.coor.LatLon;
    2324import org.openstreetmap.josm.data.osm.DataSet;
    2425import org.openstreetmap.josm.data.osm.Node;
     
    2728import org.openstreetmap.josm.gui.DefaultNameFormatter;
    2829import org.openstreetmap.josm.gui.MainMenu;
     30import org.openstreetmap.josm.gui.Notification;
    2931import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
    3032import org.openstreetmap.josm.gui.util.GuiHelper;
     
    100102            DownloadOsmTask downloadTask = new DownloadOsmTask();
    101103            final PleaseWaitProgressMonitor monitor = new PleaseWaitProgressMonitor();
     104            LatLon ll = selectedNode.getCoor();
    102105            final Future<?> future = downloadTask.download(
    103106                    false /* no new layer */,
    104107                    new Bounds(
    105                             selectedNode.getCoor().lat()- latbuffer,
    106                             selectedNode.getCoor().lon()- lonbuffer,
    107                             selectedNode.getCoor().lat()+ latbuffer,
    108                             selectedNode.getCoor().lon()+ lonbuffer
     108                            ll.lat()- latbuffer,
     109                            ll.lon()- lonbuffer,
     110                            ll.lat()+ latbuffer,
     111                            ll.lon()+ lonbuffer
    109112                    ),
    110113                    monitor
     
    119122                                future.get();
    120123                            } catch(Exception e) {
    121                                 e.printStackTrace();
     124                                Main.error(e);
    122125                                return;
    123126                            }
     
    143146                                priorConnectedWay.getDisplayName(DefaultNameFormatter.getInstance())
    144147                        );
    145                 System.err.println(msg);
    146148                showErrorMessage(msg);
    147149                return;
     
    301303    private static void showWarningMessage(final String msg) {
    302304        if (msg != null) {
    303             GuiHelper.runInEDTAndWait(new Runnable() {
     305            Main.warn(msg.replace("<html>", "").replace("</html>", ""));
     306            GuiHelper.runInEDT(new Runnable() {
    304307                @Override
    305308                public void run() {
    306                     JOptionPane.showMessageDialog(
    307                             Main.parent,
    308                             msg,
    309                             tr("Warning"),
    310                             JOptionPane.WARNING_MESSAGE
    311                         );
     309                    new Notification(msg)
     310                    .setIcon(JOptionPane.WARNING_MESSAGE)
     311                    .show();
    312312                }
    313313            });
     
    317317    private static void showErrorMessage(final String msg) {
    318318        if (msg != null) {
    319             GuiHelper.runInEDTAndWait(new Runnable() {
     319            Main.error(msg.replace("<html>", "").replace("</html>", ""));
     320            GuiHelper.runInEDT(new Runnable() {
    320321                @Override
    321322                public void run() {
    322                     JOptionPane.showMessageDialog(
    323                             Main.parent,
    324                             msg,
    325                             tr("Error"),
    326                             JOptionPane.ERROR_MESSAGE
    327                         );
     323                    new Notification(msg)
     324                    .setIcon(JOptionPane.ERROR_MESSAGE)
     325                    .show();
    328326                }
    329327            });
     
    333331    private static void showInfoMessage(final String msg) {
    334332        if (msg != null) {
    335             GuiHelper.runInEDTAndWait(new Runnable() {
     333            Main.info(msg.replace("<html>", "").replace("</html>", ""));
     334            GuiHelper.runInEDT(new Runnable() {
    336335                @Override
    337336                public void run() {
    338                     JOptionPane.showMessageDialog(
    339                             Main.parent,
    340                             msg,
    341                             tr("Information"),
    342                             JOptionPane.INFORMATION_MESSAGE
    343                         );
     337                    new Notification(msg)
     338                    .setIcon(JOptionPane.INFORMATION_MESSAGE)
     339                    .setDuration(Notification.TIME_SHORT)
     340                    .show();
    344341                }
    345342            });
Note: See TracChangeset for help on using the changeset viewer.