Ticket #7303: DownloadAutorun.patch

File DownloadAutorun.patch, 3.6 KB (added by akks, 14 years ago)
Line 
1Index: download/DownloadDialog.java
2===================================================================
3--- download/DownloadDialog.java (revision 4859)
4+++ download/DownloadDialog.java (working copy)
5@@ -13,11 +13,7 @@
6 import java.awt.Graphics;
7 import java.awt.GridBagConstraints;
8 import java.awt.GridBagLayout;
9-import java.awt.event.ActionEvent;
10-import java.awt.event.InputEvent;
11-import java.awt.event.KeyEvent;
12-import java.awt.event.WindowAdapter;
13-import java.awt.event.WindowEvent;
14+import java.awt.event.*;
15 import java.util.ArrayList;
16 import java.util.List;
17
18@@ -66,6 +62,7 @@
19 private final List<DownloadSelection> downloadSelections = new ArrayList<DownloadSelection>();
20 private final JTabbedPane tpDownloadAreaSelectors = new JTabbedPane();
21 private JCheckBox cbNewLayer;
22+ private JCheckBox cbStartup;
23 private final JLabel sizeCheck = new JLabel();
24 private Bounds currentBounds = null;
25 private boolean canceled;
26@@ -129,7 +126,16 @@
27 cbNewLayer.setToolTipText(tr("<html>Select to download data into a new data layer.<br>"
28 +"Unselect to download into the currently active data layer.</html>"));
29
30+ cbStartup = new JCheckBox(tr("Open this dialog on startup"));
31+ cbStartup.setToolTipText(tr("<html>Autostarts download dialog every time JOSM is started.</html>"));
32+ cbStartup.addActionListener(new ActionListener() {
33+ public void actionPerformed(ActionEvent e) {
34+ Main.pref.put("download.autorun", cbStartup.isSelected());
35+ }});
36+
37 pnl.add(cbNewLayer, GBC.std().anchor(GBC.WEST).insets(5,5,5,5));
38+ pnl.add(cbStartup, GBC.std().anchor(GBC.WEST).insets(35,5,5,5));
39 pnl.add(sizeCheck, GBC.eol().anchor(GBC.EAST).insets(5,5,5,5));
40
41 return pnl;
42@@ -296,6 +302,7 @@
43 cbDownloadOsmData.setSelected(Main.pref.getBoolean("download.osm", true));
44 cbDownloadGpxData.setSelected(Main.pref.getBoolean("download.gps", false));
45 cbNewLayer.setSelected(Main.pref.getBoolean("download.newlayer", false));
46+ cbStartup.setSelected(Main.pref.getBoolean("download.autorun", true));
47 int idx = Main.pref.getInteger("download.tab", 0);
48 if (idx < 0 || idx > tpDownloadAreaSelectors.getTabCount()) {
49 idx = 0;
50@@ -321,7 +328,13 @@
51 }
52 }
53 }
54+ public static void autostartIfNeeded() {
55+ if (Main.pref.getBoolean("download.autorun", true)) {
56+ Main.main.menu.download.actionPerformed(null);
57+ }
58+}
59+
60 /**
61 * Replies the currently selected download area. May be null, if no download area is selected
62 * yet.
63Index: MainApplication.java
64===================================================================
65--- MainApplication.java (revision 4859)
66+++ MainApplication.java (working copy)
67@@ -6,6 +6,7 @@
68
69 import java.awt.Image;
70 import java.awt.Toolkit;
71+import java.awt.event.ActionEvent;
72 import java.awt.event.WindowAdapter;
73 import java.awt.event.WindowEvent;
74 import java.io.File;
75@@ -31,6 +32,7 @@
76 import org.openstreetmap.josm.data.AutosaveTask;
77 import org.openstreetmap.josm.data.Preferences;
78 import org.openstreetmap.josm.data.Version;
79+import org.openstreetmap.josm.gui.download.DownloadDialog;
80 import org.openstreetmap.josm.gui.preferences.server.OAuthAccessTokenHolder;
81 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
82 import org.openstreetmap.josm.io.DefaultProxySelector;
83@@ -302,7 +304,8 @@
84 }
85
86 main.postConstructorProcessCmdLine(args);
87+ DownloadDialog.autostartIfNeeded();
88 }
89 });
90