| | 236 | |
| | 237 | /// Fullscreen |
| | 238 | String os = System.getProperty("os.name"); |
| | 239 | // From determinePlatformHook() in Main.java, see |
| | 240 | // http://lists.openstreetmap.org/pipermail/josm-dev/2009-March/002659.html |
| | 241 | // for why I'm doing this. |
| | 242 | boolean canFullScreen = (os.equals("Linux") || os.equals("Solaris") || |
| | 243 | os.equals("SunOS") || os.equals("AIX") || |
| | 244 | os.equals("FreeBSD") || os.equals("NetBSD") || os.equals("OpenBSD")); |
| | 245 | |
| | 246 | |
| | 247 | if (canFullScreen) { |
| | 248 | // TODO move code to an "action" like the others? |
| | 249 | final JCheckBoxMenuItem fullscreen = new JCheckBoxMenuItem(tr("Full Screen")); |
| | 250 | fullscreen.setSelected(Main.pref.getBoolean("draw.fullscreen", false)); |
| | 251 | fullscreen.setAccelerator(Shortcut.registerShortcut("menu:view:fullscreen", tr("Toggle Full Screen view"), |
| | 252 | KeyEvent.VK_F11, Shortcut.GROUP_DIRECT).getKeyStroke()); |
| | 253 | fullscreen.addActionListener(new ActionListener() { |
| | 254 | public void actionPerformed(ActionEvent ev) { |
| | 255 | Main.pref.put("draw.fullscreen", fullscreen.isSelected()); |
| | 256 | |
| | 257 | GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); |
| | 258 | GraphicsDevice gd = ge.getDefaultScreenDevice(); |
| | 259 | |
| | 260 | Frame frame = (Frame)Main.parent; |
| | 261 | |
| | 262 | if (Main.pref.getBoolean("draw.fullscreen")) { |
| | 263 | if (gd.isFullScreenSupported()) { |
| | 264 | gd.setFullScreenWindow(frame); |
| | 265 | } |
| | 266 | } else { |
| | 267 | if (gd.isFullScreenSupported()) |
| | 268 | gd.setFullScreenWindow(null); |
| | 269 | } |
| | 270 | } |
| | 271 | }); |
| | 272 | viewMenu.addSeparator(); |
| | 273 | viewMenu.add(fullscreen); |
| | 274 | } |