Changeset 2876 in josm for trunk/src/org
- Timestamp:
- 2010-01-18T21:52:10+01:00 (15 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/Main.java
r2869 r2876 8 8 import java.awt.Rectangle; 9 9 import java.awt.Toolkit; 10 import java.awt.event.ComponentEvent; 11 import java.awt.event.ComponentListener; 10 12 import java.awt.event.KeyEvent; 13 import java.awt.event.WindowAdapter; 14 import java.awt.event.WindowEvent; 11 15 import java.io.File; 12 16 import java.net.URI; … … 274 278 275 279 protected static Rectangle bounds; 280 protected static int windowState = JFrame.NORMAL; 276 281 277 282 private final CommandQueueListener redoUndoListener = new CommandQueueListener(){ … … 324 329 325 330 Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); 326 String geometry = Main.pref.get("gui.geometry");331 String geometry = null; 327 332 if (args.containsKey("geometry")) { 328 333 geometry = args.get("geometry").iterator().next(); 334 // Main.debug("Main window geometry from args: \""+geometry+"\""); 335 } else { 336 geometry = Main.pref.get("gui.geometry"); 337 // Main.debug("Main window geometry from preferences: \""+geometry+"\""); 329 338 } 330 339 if (geometry.length() != 0) { … … 344 353 } 345 354 } 355 // copied from WindowsGeometry.applySafe() 356 if (x > Toolkit.getDefaultToolkit().getScreenSize().width - 10) { 357 x = 0; 358 } 359 if (y > Toolkit.getDefaultToolkit().getScreenSize().height - 10) { 360 y = 0; 361 } 346 362 bounds = new Rectangle(x,y,w,h); 347 363 if(!Main.pref.get("gui.geometry").equals(geometry)) { 348 364 // remember this geometry 365 // Main.debug("Main window: saving geometry \"" + geometry + "\""); 349 366 Main.pref.put("gui.geometry", geometry); 350 367 } … … 356 373 bounds = !args.containsKey("no-maximize") ? new Rectangle(0,0,screenDimension.width,screenDimension.height) : new Rectangle(1000,740); 357 374 } 375 // Main.debug("window geometry: "+bounds); 358 376 } 359 377 … … 541 559 String newToggleDlgWidth = null; 542 560 try { 543 if (((JFrame)parent).getExtendedState() == JFrame.NORMAL) { 544 Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); 545 Rectangle bounds = parent.getBounds(); 546 int width = (int)bounds.getWidth(); 547 int height = (int)bounds.getHeight(); 548 int x = (int)bounds.getX(); 549 int y = (int)bounds.getY(); 550 if (width > screenDimension.width) { 551 width = screenDimension.width; 552 } 553 if (height > screenDimension.height) { 554 width = screenDimension.height; 555 } 556 if (x < 0) { 557 x = 0; 558 } 559 if (y < 0) { 560 y = 0; 561 } 562 newGeometry = width + "x" + height + "+" + x + "+" + y; 563 } 561 Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); 562 int width = (int)bounds.getWidth(); 563 int height = (int)bounds.getHeight(); 564 int x = (int)bounds.getX(); 565 int y = (int)bounds.getY(); 566 if (width > screenDimension.width) { 567 width = screenDimension.width; 568 } 569 if (height > screenDimension.height) { 570 width = screenDimension.height; 571 } 572 if (x < 0) { 573 x = 0; 574 } 575 if (y < 0) { 576 y = 0; 577 } 578 newGeometry = width + "x" + height + "+" + x + "+" + y; 564 579 565 580 if (map != null) { … … 571 586 } 572 587 catch (Exception e) { 573 System.out.println("Failed to saveGUI geometry: " + e);588 System.out.println("Failed to get GUI geometry: " + e); 574 589 e.printStackTrace(); 575 590 } 591 boolean maximized = (windowState & JFrame.MAXIMIZED_BOTH) != 0; 592 // Main.debug("Main window: saving geometry \"" + newGeometry + "\" " + (maximized?"maximized":"normal")); 593 pref.put("gui.maximized", maximized); 576 594 pref.put("gui.geometry", newGeometry); 577 595 if (newToggleDlgWidth != null) { … … 579 597 } 580 598 } 599 private static class WindowPositionSizeListener extends WindowAdapter implements 600 ComponentListener { 601 602 @Override 603 public void windowStateChanged(WindowEvent e) { 604 Main.windowState = e.getNewState(); 605 // Main.debug("Main window state changed to " + Main.windowState); 606 } 607 608 public void componentHidden(ComponentEvent e) { 609 } 610 611 public void componentMoved(ComponentEvent e) { 612 handleComponentEvent(e); 613 } 614 615 public void componentResized(ComponentEvent e) { 616 handleComponentEvent(e); 617 } 618 619 public void componentShown(ComponentEvent e) { 620 } 621 622 private void handleComponentEvent(ComponentEvent e) { 623 Component c = e.getComponent(); 624 if (c instanceof JFrame) { 625 if (Main.windowState == JFrame.NORMAL) { 626 Main.bounds = ((JFrame) c).getBounds(); 627 // Main.debug("Main window: new geometry " + Main.bounds); 628 } else { 629 // Main.debug("Main window state is " + Main.windowState); 630 } 631 } 632 } 633 634 } 635 public static void addListener() { 636 parent.addComponentListener(new WindowPositionSizeListener()); 637 ((JFrame)parent).addWindowStateListener(new WindowPositionSizeListener()); 638 } 581 639 } -
trunk/src/org/openstreetmap/josm/gui/MainApplet.java
r2053 r2876 10 10 import java.awt.event.KeyEvent; 11 11 import java.io.File; 12 import java.io.IOException;13 12 import java.net.URL; 14 13 import java.util.Arrays; … … 102 101 Main.preConstructorInit(args); 103 102 Main.parent = this; 103 Main.addListener(); 104 104 105 105 // initialize the plaform hook, and -
trunk/src/org/openstreetmap/josm/gui/MainApplication.java
r2856 r2876 190 190 JFrame mainFrame = new JFrame(tr("Java OpenStreetMap Editor")); 191 191 Main.parent = mainFrame; 192 Main.addListener(); 192 193 final Main main = new MainApplication(mainFrame); 193 194 monitor.worked(1); … … 201 202 mainFrame.setVisible(true); 202 203 203 if (((!args.containsKey("no-maximize") && !args.containsKey("geometry") 204 && Main.pref.get("gui.geometry").length() == 0) || args.containsKey("maximize")) 205 && Toolkit.getDefaultToolkit().isFrameStateSupported(JFrame.MAXIMIZED_BOTH)) { 206 mainFrame.setExtendedState(JFrame.MAXIMIZED_BOTH); 204 boolean maximized = Boolean.parseBoolean(Main.pref.get("gui.maximized")); 205 if ((!args.containsKey("no-maximize") && maximized) || args.containsKey("maximize")) { 206 if (Toolkit.getDefaultToolkit().isFrameStateSupported(JFrame.MAXIMIZED_BOTH)) { 207 // Main.debug("Main window maximized"); 208 Main.windowState = JFrame.MAXIMIZED_BOTH; 209 mainFrame.setExtendedState(Main.windowState); 210 } else { 211 Main.debug("Main window: maximizing not supported"); 212 } 213 } else { 214 // Main.debug("Main window not maximized"); 207 215 } 208 216
Note:
See TracChangeset
for help on using the changeset viewer.