Changeset 12695 in josm for trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
- Timestamp:
- 2017-08-29T00:16:25+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
r12670 r12695 17 17 import java.util.Collections; 18 18 import java.util.List; 19 import java.util. concurrent.Executors;19 import java.util.Objects; 20 20 21 21 import javax.swing.UIManager; 22 22 23 23 import org.openstreetmap.josm.Main; 24 import org.openstreetmap.josm.actions.OpenFileAction.OpenFileTask;25 import org.openstreetmap.josm.gui.MainApplication;26 import org.openstreetmap.josm.io.OsmTransferException;27 import org.xml.sax.SAXException;28 24 29 25 /** … … 36 32 37 33 private String oSBuildNumber; 34 35 private NativeOsCallback osCallback; 38 36 39 37 @Override … … 138 136 } 139 137 138 @Override 139 public void setNativeOsCallback(NativeOsCallback callback) { 140 osCallback = Objects.requireNonNull(callback); 141 } 142 140 143 @SuppressWarnings("unchecked") 141 144 @Override … … 150 153 Object oFiles = args[0].getClass().getMethod("getFiles").invoke(args[0]); 151 154 if (oFiles instanceof List) { 152 Executors.newSingleThreadExecutor(Utils.newThreadFactory("openFiles-%d", Thread.NORM_PRIORITY)).submit( 153 new OpenFileTask((List<File>) oFiles, null) { 154 @Override 155 protected void realRun() throws SAXException, IOException, OsmTransferException { 156 // Wait for JOSM startup is advanced enough to load a file 157 while (Main.parent == null || !Main.parent.isVisible()) { 158 try { 159 Thread.sleep(25); 160 } catch (InterruptedException e) { 161 Logging.warn(e); 162 Thread.currentThread().interrupt(); 163 } 164 } 165 super.realRun(); 166 } 167 }); 155 osCallback.openFiles((List<File>) oFiles); 168 156 } 169 157 } catch (ReflectiveOperationException | SecurityException | IllegalArgumentException ex) { … … 173 161 break; 174 162 case "handleQuitRequestWith": 175 boolean closed = MainApplication.exitJosm(false, 0, null);163 boolean closed = osCallback.handleQuitRequest(); 176 164 if (args[1] != null) { 177 165 try { … … 185 173 break; 186 174 case "handleAbout": 187 MainApplication.getMenu().about.actionPerformed(null);175 osCallback.handleAbout(); 188 176 break; 189 177 case "handlePreferences": 190 MainApplication.getMenu().preferences.actionPerformed(null);178 osCallback.handlePreferences(); 191 179 break; 192 180 default:
Note:
See TracChangeset
for help on using the changeset viewer.