This is an automated email from the git hooks/post-receive script. apo pushed a commit to branch master in repository sweethome3d.
commit e4045415ac780dabf3a8b15300407f0c7e5957f1 Author: Markus Koschany <a...@debian.org> Date: Sun Jan 28 17:11:09 2018 +0100 Drop 01noMacOSX --- debian/patches/01noMacOSX | 929 ---------------------------------------------- debian/patches/series | 1 - 2 files changed, 930 deletions(-) diff --git a/debian/patches/01noMacOSX b/debian/patches/01noMacOSX deleted file mode 100644 index 706be34..0000000 --- a/debian/patches/01noMacOSX +++ /dev/null @@ -1,929 +0,0 @@ -From: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> -Date: Wed, 13 Sep 2017 09:51:44 +0200 -Subject: noMacOSX - -fails looking for missing classes. This patch fixes it. -Author: Gabriele Giacone <1o5g4...@gmail.com> ---- - src/com/eteks/sweethome3d/HomeFramePane.java | 2 + - src/com/eteks/sweethome3d/MacOSXConfiguration.java | 815 --------------------- - src/com/eteks/sweethome3d/SweetHome3D.java | 11 +- - .../eteks/sweethome3d/tools/OperatingSystem.java | 6 +- - 4 files changed, 13 insertions(+), 821 deletions(-) - delete mode 100644 src/com/eteks/sweethome3d/MacOSXConfiguration.java - -diff --git a/src/com/eteks/sweethome3d/HomeFramePane.java b/src/com/eteks/sweethome3d/HomeFramePane.java -index 57fb352..56234d7 100644 ---- a/src/com/eteks/sweethome3d/HomeFramePane.java -+++ b/src/com/eteks/sweethome3d/HomeFramePane.java -@@ -123,9 +123,11 @@ public class HomeFramePane extends JRootPane implements View { - // Call setIconImage available in previous versions - homeFrame.setIconImage(frameImages.get(0)); - } -+/* - if (OperatingSystem.isMacOSXLionOrSuperior()) { - MacOSXConfiguration.installToolBar(this); - } -+ */ - updateFrameTitle(homeFrame, this.home, this.application); - // Change component orientation - applyComponentOrientation(ComponentOrientation.getOrientation(Locale.getDefault())); -diff --git a/src/com/eteks/sweethome3d/MacOSXConfiguration.java b/src/com/eteks/sweethome3d/MacOSXConfiguration.java -deleted file mode 100644 -index c1428b1..0000000 ---- a/src/com/eteks/sweethome3d/MacOSXConfiguration.java -+++ /dev/null -@@ -1,815 +0,0 @@ --/* -- * MacOSXConfiguraton.java 6 sept. 2006 -- * -- * Sweet Home 3D, Copyright (c) 2006 Emmanuel PUYBARET / eTeks <i...@eteks.com> -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- */ --package com.eteks.sweethome3d; -- --import java.awt.Color; --import java.awt.Component; --import java.awt.Container; --import java.awt.EventQueue; --import java.awt.Frame; --import java.awt.GradientPaint; --import java.awt.Graphics; --import java.awt.Graphics2D; --import java.awt.Image; --import java.awt.Insets; --import java.awt.Point; --import java.awt.Window; --import java.awt.event.ActionEvent; --import java.awt.event.MouseEvent; --import java.awt.event.WindowAdapter; --import java.awt.event.WindowEvent; --import java.awt.event.WindowStateListener; --import java.io.IOException; --import java.lang.reflect.InvocationTargetException; --import java.util.List; --import java.util.concurrent.Executors; --import java.util.concurrent.atomic.AtomicBoolean; -- --import javax.imageio.ImageIO; --import javax.media.j3d.Canvas3D; --import javax.swing.AbstractAction; --import javax.swing.JCheckBoxMenuItem; --import javax.swing.JComponent; --import javax.swing.JFrame; --import javax.swing.JMenu; --import javax.swing.JMenuBar; --import javax.swing.JMenuItem; --import javax.swing.JRootPane; --import javax.swing.JSplitPane; --import javax.swing.JToolBar; --import javax.swing.SwingUtilities; --import javax.swing.UIManager; --import javax.swing.border.AbstractBorder; --import javax.swing.border.Border; --import javax.swing.border.CompoundBorder; --import javax.swing.event.AncestorEvent; --import javax.swing.event.AncestorListener; --import javax.swing.event.MenuEvent; --import javax.swing.event.MenuListener; --import javax.swing.event.MouseInputAdapter; -- --import com.apple.eawt.AppEvent.FullScreenEvent; --import com.apple.eawt.Application; --import com.apple.eawt.ApplicationAdapter; --import com.apple.eawt.ApplicationEvent; --import com.apple.eawt.FullScreenAdapter; --import com.apple.eawt.FullScreenListener; --import com.apple.eawt.FullScreenUtilities; --import com.eteks.sweethome3d.model.CollectionEvent; --import com.eteks.sweethome3d.model.CollectionListener; --import com.eteks.sweethome3d.model.Home; --import com.eteks.sweethome3d.model.UserPreferences; --import com.eteks.sweethome3d.swing.HomePane; --import com.eteks.sweethome3d.swing.ResourceAction; --import com.eteks.sweethome3d.swing.SwingTools; --import com.eteks.sweethome3d.tools.OperatingSystem; --import com.eteks.sweethome3d.viewcontroller.HomeController; --import com.sun.j3d.exp.swing.JCanvas3D; -- --/** -- * Configuration class that accesses to Mac OS X specifics. -- * Do not invoke methods of this class without checking first if -- * <code>os.name</code> System property is <code>Mac OS X</code>. -- * This class requires some classes of <code>com.apple.eawt</code> package -- * to compile. -- * @author Emmanuel Puybaret -- */ --class MacOSXConfiguration { -- private static boolean fullScreen; -- -- private MacOSXConfiguration() { -- } -- -- /** -- * Returns <code>true</code> if the screen menu bar is supported. -- */ -- public static boolean isScreenMenuBarSupported() { -- if (OperatingSystem.isJavaVersionGreaterOrEqual("1.9")) { -- try { -- // Call Desktop.isSupported(Desktop.Action.APP_ABOUT) -- Class<?> desktopClass = Class.forName("java.awt.Desktop"); -- Object desktopInstance = desktopClass.getMethod("getDesktop").invoke(null); -- Class<?> desktopActionEnum = Class.forName("java.awt.Desktop$Action"); -- return (Boolean)desktopClass.getMethod("isSupported", desktopActionEnum).invoke( -- desktopInstance, desktopActionEnum.getField("APP_ABOUT").get(null)); -- } catch (Throwable ex) { -- return false; -- } -- } else { -- // By default, About menu item is available -- return Application.getApplication().isAboutMenuItemPresent(); -- } -- } -- -- /** -- * Binds <code>homeApplication</code> to Mac OS X application menu. -- */ -- public static void bindToApplicationMenu(final SweetHome3D homeApplication) { -- final Application macosxApplication = Application.getApplication(); -- // Create a default controller for an empty home and disable unrelated actions -- final HomeController defaultController = -- homeApplication.createHomeFrameController(homeApplication.createHome()).getHomeController(); -- final HomePane defaultHomeView = (HomePane)defaultController.getView(); -- setDefaultActionsEnabled(defaultHomeView, false); -- final JMenuBar defaultMenuBar = defaultHomeView.getJMenuBar(); -- -- JFrame frame = null; -- if (Boolean.getBoolean("apple.laf.useScreenMenuBar")) { -- if (OperatingSystem.isJavaVersionBetween("1.7", "1.7.0_60")) { -- // Application#setDefaultMenuBar does nothing under Java 7 < 1.7.0_60 -- frame = createDummyFrameWithDefaultMenuBar(homeApplication, defaultHomeView, defaultMenuBar); -- } else if (UIManager.getLookAndFeel().getClass().getName().equals(UIManager.getSystemLookAndFeelClassName())) { -- try { -- if (OperatingSystem.isJavaVersionGreaterOrEqual("1.9")) { -- // Call Desktop.setDefaultMenuBar(defaultMenuBar) -- Class desktopClass = Class.forName("java.awt.Desktop"); -- Object desktopInstance = desktopClass.getMethod("getDesktop").invoke(null); -- desktopClass.getMethod("setDefaultMenuBar", JMenuBar.class).invoke(desktopInstance, defaultMenuBar); -- } else { -- macosxApplication.setDefaultMenuBar(defaultMenuBar); -- } -- addWindowMenu(null, defaultMenuBar, homeApplication, defaultHomeView, true); -- } catch (Throwable ex) { -- // Create default frame if setDefaultMenuBar isn't available -- frame = createDummyFrameWithDefaultMenuBar(homeApplication, defaultHomeView, defaultMenuBar); -- } -- } -- } -- -- final JFrame defaultFrame = frame; -- try { -- // Add a listener to Mac OS X application that will call -- // controller methods of the active frame -- macosxApplication.addApplicationListener(new ApplicationAdapter() { -- @Override -- public void handleQuit(ApplicationEvent ev) { -- MacOSXConfiguration.handleQuit(homeApplication, defaultController, defaultFrame); -- } -- -- @Override -- public void handleAbout(ApplicationEvent ev) { -- MacOSXConfiguration.handleAbout(homeApplication, defaultController, defaultFrame); -- ev.setHandled(true); -- } -- -- @Override -- public void handlePreferences(ApplicationEvent ev) { -- MacOSXConfiguration.handlePreferences(homeApplication, defaultController, defaultFrame); -- } -- -- @Override -- public void handleOpenFile(ApplicationEvent ev) { -- // handleOpenFile is called when user opens a document -- // associated with a Java Web Start application -- // Just call main with -open file arguments as JNLP specifies -- MacOSXConfiguration.handleOpenFile(homeApplication, ev.getFilename()); -- } -- -- @Override -- public void handleReOpenApplication(ApplicationEvent ev) { -- // handleReOpenApplication is called when user launches -- // the application when it's already open -- MacOSXConfiguration.handleReOpenApplication(homeApplication); -- } -- }); -- macosxApplication.setEnabledAboutMenu(true); -- macosxApplication.setEnabledPreferencesMenu(true); -- } catch (NoSuchMethodError er) { -- // Probably running under Java 9 where previous methods were removed -- if (OperatingSystem.isJavaVersionGreaterOrEqual("1.9")) { -- // Use the new handlers of Java 9 once compiling with Java 9 library is enabled -- /* -- java.awt.Desktop.getDesktop().setQuitHandler(new java.awt.desktop.QuitHandler() { -- public void handleQuitRequestWith(java.awt.desktop.QuitEvent ev, java.awt.desktop.QuitResponse answer) { -- MacOSXConfiguration.handleQuit(homeApplication, defaultController, defaultFrame); -- } -- }); -- java.awt.Desktop.getDesktop().setAboutHandler(new java.awt.desktop.AboutHandler() { -- public void handleAbout(java.awt.desktop.AboutEvent ev) { -- MacOSXConfiguration.handleAbout(homeApplication, defaultController, defaultFrame); -- } -- }); -- java.awt.Desktop.getDesktop().setPreferencesHandler(new java.awt.desktop.PreferencesHandler() { -- public void handlePreferences(java.awt.desktop.PreferencesEvent ev) { -- MacOSXConfiguration.handlePreferences(homeApplication, defaultController, defaultFrame); -- } -- }); -- java.awt.Desktop.getDesktop().setOpenFileHandler(new java.awt.desktop.OpenFilesHandler() { -- public void openFiles(java.awt.desktop.OpenFilesEvent ev) { -- for (java.io.File file : ev.getFiles()) { -- MacOSXConfiguration.handleOpenFile(homeApplication, file.getAbsolutePath()); -- } -- } -- }); -- */ -- try { -- // Call Desktop.getDesktop().setQuitStrategy(QuitStrategy.CLOSE_ALL_WINDOWS) -- // to prevent default call to System#exit -- Class<?> desktopClass = Class.forName("java.awt.Desktop"); -- Object desktopInstance = desktopClass.getMethod("getDesktop").invoke(null); -- Class<?> quitStrategyEnum = Class.forName("java.awt.desktop.QuitStrategy"); -- desktopClass.getMethod("setQuitStrategy", quitStrategyEnum).invoke( -- desktopInstance, quitStrategyEnum.getField("CLOSE_ALL_WINDOWS").get(null)); -- } catch (Exception ex) { -- ex.printStackTrace(); -- } -- } -- } -- -- homeApplication.addHomesListener(new CollectionListener<Home>() { -- public void collectionChanged(CollectionEvent<Home> ev) { -- if (ev.getType() == CollectionEvent.Type.ADD) { -- final JFrame homeFrame = homeApplication.getHomeFrame(ev.getItem()); -- if (!Boolean.getBoolean("com.eteks.sweethome3d.no3D") -- && !OperatingSystem.isJavaVersionGreaterOrEqual("1.7")) { -- // To avoid a possible freeze of the program when the user requests a window enlargement -- // while the frame canvas 3D is instantiated, forbid window to be resized -- homeFrame.setResizable(false); -- Executors.newSingleThreadExecutor().submit(new Runnable() { -- public void run() { -- try { -- final AtomicBoolean canvas3D = new AtomicBoolean(); -- do { -- Thread.sleep(50); -- EventQueue.invokeAndWait(new Runnable() { -- public void run() { -- canvas3D.set(homeFrame.isShowing() -- && isParentOfCanvas3D(homeFrame, Canvas3D.class, JCanvas3D.class)); -- } -- }); -- } while (!canvas3D.get()); -- } catch (InterruptedException ex) { -- } catch (InvocationTargetException ex) { -- ex.printStackTrace(); -- } finally { -- EventQueue.invokeLater(new Runnable() { -- public void run() { -- homeFrame.setResizable(true); -- } -- }); -- } -- } -- -- private boolean isParentOfCanvas3D(Container parent, Class<?> ... canvas3DClasses) { -- // Search 3D canvas among children and child windows in case the 3D view was detached -- for (int i = 0; i < parent.getComponentCount(); i++) { -- Component child = parent.getComponent(i); -- for (Class<?> canvas3DClass : canvas3DClasses) { -- if (canvas3DClass.isInstance(child) -- || child instanceof Container -- && isParentOfCanvas3D((Container)child, canvas3DClasses)) { -- return true; -- } -- } -- } -- if (parent instanceof Window) { -- for (Window window : ((Window)parent).getOwnedWindows()) { -- if (isParentOfCanvas3D(window, canvas3DClasses)) { -- return true; -- } -- } -- } -- return false; -- } -- }); -- } -- // Add Mac OS X Window menu on new homes -- MacOSXConfiguration.addWindowMenu( -- homeFrame, homeFrame.getJMenuBar(), homeApplication, defaultHomeView, false); -- -- if (OperatingSystem.isJavaVersionBetween("1.7", "1.7.0_60")) { -- // Help system to understand it should display the main menu of one of the remaining windows when a window is closed -- homeFrame.addWindowListener(new WindowAdapter() { -- @Override -- public void windowClosed(WindowEvent ev) { -- if (defaultFrame != null) { -- List<Home> homes = homeApplication.getHomes(); -- defaultFrame.setVisible(false); -- defaultFrame.setVisible(true); -- if (homes.size() > 0) { -- homeApplication.getHomeFrame(homes.get(0)).toFront(); -- defaultFrame.setVisible(false); -- } -- } -- } -- }); -- } -- homeFrame.addWindowStateListener(new WindowStateListener() { -- public void windowStateChanged(WindowEvent ev) { -- // Enable default actions if needed -- enableDefaultActions(homeApplication, defaultHomeView); -- } -- }); -- // Don't enable actions in default menu bar (the menu bar might be displayed when file dialogs are displayed) -- setDefaultActionsEnabled(defaultHomeView, false); -- } else if (ev.getType() == CollectionEvent.Type.DELETE) { -- // Enable default actions if needed -- enableDefaultActions(homeApplication, defaultHomeView); -- } -- }; -- }); -- -- // Set application icon if program wasn't launch from bundle -- if (!Boolean.getBoolean("sweethome3d.bundle")) { -- try { -- String iconPath = homeApplication.getUserPreferences().getLocalizedString(HomePane.class, "about.icon"); -- Image icon = ImageIO.read(HomePane.class.getResource(iconPath)); -- macosxApplication.setDockIconImage(icon); -- } catch (NoSuchMethodError ex) { -- // Ignore icon change if setDockIconImage isn't available -- } catch (IOException ex) { -- } -- } -- } -- -- /** -- * Handles quit action. -- */ -- private static void handleQuit(final SweetHome3D homeApplication, -- final HomeController defaultController, -- final JFrame defaultFrame) { -- Home modifiedHome = null; -- int modifiedHomesCount = 0; -- for (Home home : homeApplication.getHomes()) { -- if (home.isModified()) { -- modifiedHome = home; -- modifiedHomesCount++; -- } -- } -- -- if (modifiedHomesCount == 1) { -- // If only one home is modified, close it and exit if it was successfully closed -- homeApplication.getHomeFrame(modifiedHome).toFront(); -- homeApplication.getHomeFrameController(modifiedHome).getHomeController().close( -- new Runnable() { -- public void run() { -- for (Home home : homeApplication.getHomes()) { -- if (home.isModified()) { -- return; -- } -- } -- System.exit(0); -- } -- }); -- } else { -- handleApplicationMenuAction(new Runnable() { -- public void run() { -- getActiveHomeController(homeApplication, defaultController, defaultFrame).exit(); -- } -- }, defaultFrame); -- if (homeApplication.getHomes().isEmpty()) { -- System.exit(0); -- } -- } -- } -- -- /** -- * Handles how about pane is displayed. -- */ -- protected static void handleAbout(final SweetHome3D homeApplication, -- final HomeController defaultController, -- final JFrame defaultFrame) { -- handleApplicationMenuAction(new Runnable() { -- public void run() { -- getActiveHomeController(homeApplication, defaultController, defaultFrame).about(); -- } -- }, defaultFrame); -- } -- -- /** -- * Handles how preferences pane is displayed. -- */ -- private static void handlePreferences(final SweetHome3D homeApplication, -- final HomeController defaultController, -- final JFrame defaultFrame) { -- handleApplicationMenuAction(new Runnable() { -- public void run() { -- getActiveHomeController(homeApplication, defaultController, defaultFrame).editPreferences(); -- } -- }, defaultFrame); -- } -- -- /** -- * Handles the opening of a document. -- */ -- private static void handleOpenFile(final SweetHome3D homeApplication, String fileName) { -- homeApplication.start(new String [] {"-open", fileName}); -- } -- -- /** -- * Handles application when it's reopened. -- */ -- private static void handleReOpenApplication(SweetHome3D homeApplication) { -- homeApplication.start(new String [0]); -- } -- -- /** -- * Handles actions launched from the application menu. -- */ -- private static void handleApplicationMenuAction(Runnable runnable, JFrame defaultFrame) { -- final Application macosxApplication = Application.getApplication(); -- Frame activeFrame = getActiveFrame(defaultFrame); -- if (defaultFrame != null && activeFrame == null) { -- // Move default frame to center to display dialogs at center -- defaultFrame.setLocationRelativeTo(null); -- defaultFrame.toFront(); -- defaultFrame.setAlwaysOnTop(true); -- } -- -- try { -- // Disable About and Preferences menu items if possible -- macosxApplication.setEnabledAboutMenu(false); -- macosxApplication.setEnabledPreferencesMenu(false); -- } catch (NoSuchMethodError ex) { -- } -- -- runnable.run(); -- -- try { -- // Enable About and Preferences menu items again -- macosxApplication.setEnabledAboutMenu(true); -- macosxApplication.setEnabledPreferencesMenu(true); -- } catch (NoSuchMethodError ex) { -- } -- -- // Activate previous frame again -- if (activeFrame != null) { -- activeFrame.toFront(); -- } -- if (defaultFrame != null && activeFrame == null) { -- defaultFrame.setAlwaysOnTop(false); -- // Move default frame out of user view -- defaultFrame.toBack(); -- defaultFrame.setLocation(-10, 0); -- } -- } -- -- /** -- * Returns the home controller that manages the active frame. -- */ -- private static HomeController getActiveHomeController(SweetHome3D homeApplication, -- HomeController defaultController, -- JFrame defaultFrame) { -- if (defaultFrame != null) { -- Frame activeFrame = getActiveFrame(defaultFrame); -- if (activeFrame != null) { -- for (Home home : homeApplication.getHomes()) { -- if (homeApplication.getHomeFrame(home) == activeFrame) { -- return homeApplication.getHomeFrameController(home).getHomeController(); -- } -- } -- } -- } -- return defaultController; -- } -- -- /** -- * Returns the active frame. -- */ -- private static Frame getActiveFrame(JFrame defaultFrame) { -- Frame activeFrame = null; -- for (Frame frame : Frame.getFrames()) { -- if (frame != defaultFrame && frame.isActive()) { -- activeFrame = frame; -- break; -- } -- } -- return activeFrame; -- } -- -- /** -- * Enables default menu bar actions if no window is at screen. -- */ -- private static void enableDefaultActions(SweetHome3D homeApplication, HomePane defaultHomeView) { -- for (Home home : homeApplication.getHomes()) { -- if ((homeApplication.getHomeFrame(home).getState() & JFrame.ICONIFIED) == 0) { -- setDefaultActionsEnabled(defaultHomeView, false); -- return; -- } -- } -- // If all homes are iconified, enable actions in default menu bar -- setDefaultActionsEnabled(defaultHomeView, true); -- } -- -- /** -- * Enables / disables default actions in the given view. -- */ -- private static void setDefaultActionsEnabled(HomePane homeView, boolean enabled) { -- for (HomePane.ActionType action : HomePane.ActionType.values()) { -- switch (action) { -- case ABOUT : -- case NEW_HOME : -- case NEW_HOME_FROM_EXAMPLE : -- case OPEN : -- case DELETE_RECENT_HOMES : -- case HELP : -- homeView.setEnabled(action, enabled); -- break; -- default : -- homeView.setEnabled(action, false); -- } -- } -- } -- -- /** -- * Returns a dummy frame used to display the default menu bar. -- */ -- private static JFrame createDummyFrameWithDefaultMenuBar(final SweetHome3D homeApplication, -- final HomePane defaultHomeView, -- final JMenuBar defaultMenuBar) { -- final JFrame frame = new JFrame(); -- EventQueue.invokeLater(new Runnable() { -- public void run() { -- // Create a default undecorated frame out of sight -- // and attach the application menu bar of empty view to it -- frame.setLocation(-10, 0); -- frame.setUndecorated(true); -- frame.setBackground(new Color(0, 0, 0, 0)); -- frame.setVisible(true); -- frame.setJMenuBar(defaultMenuBar); -- frame.setContentPane(defaultHomeView); -- addWindowMenu(frame, defaultMenuBar, homeApplication, defaultHomeView, true); -- } -- }); -- homeApplication.addHomesListener(new CollectionListener<Home>() { -- public void collectionChanged(CollectionEvent<Home> ev) { -- if (ev.getType() == CollectionEvent.Type.DELETE) { -- EventQueue.invokeLater(new Runnable() { -- public void run() { -- if (frame.isActive()) { -- List<Home> homes = homeApplication.getHomes(); -- if (homes.size() >= 1) { -- // Request focus in a remaining home if the dummy frame is active -- homeApplication.getHomeFrame(homes.get(homes.size() - 1)).requestFocus(); -- } -- } -- } -- }); -- } -- } -- }); -- return frame; -- } -- -- /** -- * Adds Mac OS X standard Window menu to frame. -- */ -- private static void addWindowMenu(final JFrame frame, -- final JMenuBar menuBar, -- final SweetHome3D homeApplication, -- final HomePane defaultHomeView, -- boolean defaultFrame) { -- UserPreferences preferences = homeApplication.getUserPreferences(); -- final JMenu windowMenu = new JMenu( -- new ResourceAction(preferences, MacOSXConfiguration.class, "WINDOW_MENU", true)); -- // Add Window menu before Help menu -- menuBar.add(windowMenu, menuBar.getComponentCount() - 1); -- windowMenu.add(new JMenuItem( -- new ResourceAction(preferences, MacOSXConfiguration.class, "MINIMIZE", !defaultFrame) { -- @Override -- public void actionPerformed(ActionEvent ev) { -- frame.setState(JFrame.ICONIFIED); -- } -- })); -- windowMenu.add(new JMenuItem( -- new ResourceAction(preferences, MacOSXConfiguration.class, "ZOOM", !defaultFrame) { -- @Override -- public void actionPerformed(ActionEvent ev) { -- if ((frame.getExtendedState() & JFrame.MAXIMIZED_BOTH) != 0) { -- frame.setExtendedState(frame.getExtendedState() & ~JFrame.MAXIMIZED_BOTH); -- } else { -- frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH); -- } -- } -- })); -- windowMenu.addSeparator(); -- windowMenu.add(new JMenuItem( -- new ResourceAction(preferences, MacOSXConfiguration.class, "BRING_ALL_TO_FRONT", !defaultFrame) { -- @Override -- public void actionPerformed(ActionEvent ev) { -- // Avoid blinking while bringing other windows to front -- frame.setAlwaysOnTop(true); -- for (Home home : homeApplication.getHomes()) { -- JFrame applicationFrame = homeApplication.getHomeFrame(home); -- if (applicationFrame != frame -- && applicationFrame.getState() != JFrame.ICONIFIED) { -- applicationFrame.setFocusableWindowState(false); -- applicationFrame.toFront(); -- applicationFrame.setFocusableWindowState(true); -- } -- } -- frame.setAlwaysOnTop(false); -- } -- })); -- -- windowMenu.addMenuListener(new MenuListener() { -- public void menuSelected(MenuEvent ev) { -- boolean firstMenuItem = true; -- // Fill menu dynamically with a menu item for the frame of each application home -- for (Home home : homeApplication.getHomes()) { -- final JFrame applicationFrame = homeApplication.getHomeFrame(home); -- JCheckBoxMenuItem windowMenuItem = new JCheckBoxMenuItem( -- new AbstractAction(applicationFrame.getTitle()) { -- public void actionPerformed(ActionEvent ev) { -- applicationFrame.toFront(); -- } -- }); -- -- if (frame == applicationFrame) { -- windowMenuItem.setSelected(true); -- } -- if (firstMenuItem) { -- windowMenu.addSeparator(); -- firstMenuItem = false; -- } -- windowMenu.add(windowMenuItem); -- } -- } -- -- public void menuDeselected(MenuEvent ev) { -- // Remove dynamically filled part of menu -- for (int i = windowMenu.getMenuComponentCount() - 1; i >= 4; i--) { -- windowMenu.remove(i); -- } -- } -- -- public void menuCanceled(MenuEvent ev) { -- menuDeselected(ev); -- } -- }); -- } -- -- /** -- * Updates pane tool bar to integrate it with frame title under Mac OS X. -- */ -- public static void installToolBar(final JRootPane rootPane) { -- List<JToolBar> toolBars = SwingTools.findChildren(rootPane, JToolBar.class); -- if (OperatingSystem.isJavaVersionGreaterOrEqual("1.7.0_12") -- && toolBars.size() == 1) { -- rootPane.putClientProperty("apple.awt.brushMetalLook", true); -- final JToolBar toolBar = toolBars.get(0); -- toolBar.setFloatable(false); -- toolBar.setBorder(new AbstractBorder() { -- private final Color TOP_GRADIENT_COLOR_ACTIVATED_FRAME = OperatingSystem.isMacOSXYosemiteOrSuperior() -- ? new Color(212, 212, 212) -- : new Color(222, 222, 222); -- private final Color BOTTOM_GRADIENT_COLOR_ACTIVATED_FRAME = OperatingSystem.isMacOSXYosemiteOrSuperior() -- ? new Color(209, 209, 209) -- : new Color(178, 178, 178); -- private final Color TOP_GRADIENT_COLOR_DEACTIVATED_FRAME = new Color(244, 244, 244); -- private final Color BOTTOM_GRADIENT_COLOR_DEACTIVATED_FRAME = TOP_GRADIENT_COLOR_ACTIVATED_FRAME; -- -- @Override -- public boolean isBorderOpaque() { -- return true; -- } -- -- @Override -- public Insets getBorderInsets(Component c) { -- return new Insets(-4, 4, 0, 4); -- } -- -- @Override -- public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { -- // Paint the tool bar with a gradient different if the frame is activated or not -- Component root = SwingUtilities.getRoot(rootPane); -- boolean active = ((JFrame)root).isActive(); -- ((Graphics2D)g).setPaint(new GradientPaint(0, y, -- active ? TOP_GRADIENT_COLOR_ACTIVATED_FRAME : TOP_GRADIENT_COLOR_DEACTIVATED_FRAME, -- 0, y + height - 1, -- active ? BOTTOM_GRADIENT_COLOR_ACTIVATED_FRAME : BOTTOM_GRADIENT_COLOR_DEACTIVATED_FRAME)); -- g.fillRect(x, y, x + width, y + height); -- } -- }); -- -- // Manage frame moves when the user clicks in the tool bar background -- final MouseInputAdapter mouseListener = new MouseInputAdapter() { -- private Point lastLocation; -- -- @Override -- public void mousePressed(MouseEvent ev) { -- this.lastLocation = ev.getPoint(); -- SwingUtilities.convertPointToScreen(this.lastLocation, ev.getComponent()); -- } -- -- @Override -- public void mouseDragged(MouseEvent ev) { -- Point newLocation = ev.getPoint(); -- SwingUtilities.convertPointToScreen(newLocation, ev.getComponent()); -- Component root = SwingUtilities.getRoot(rootPane); -- root.setLocation(root.getX() + newLocation.x - this.lastLocation.x, -- root.getY() + newLocation.y - this.lastLocation.y); -- this.lastLocation = newLocation; -- } -- }; -- toolBar.addMouseListener(mouseListener); -- toolBar.addMouseMotionListener(mouseListener); -- -- toolBar.addAncestorListener(new AncestorListener() { -- private Object fullScreenListener; -- -- public void ancestorAdded(AncestorEvent ev) { -- ((Window)SwingUtilities.getRoot(toolBar)).addWindowListener(new WindowAdapter() { -- @Override -- public void windowActivated(WindowEvent ev) { -- toolBar.repaint(); -- } -- -- @Override -- public void windowDeactivated(WindowEvent ev) { -- toolBar.repaint(); -- } -- }); -- toolBar.repaint(); -- -- try { -- Class fullScreenUtilitiesClass = Class.forName("com.apple.eawt.FullScreenUtilities"); -- this.fullScreenListener = new FullScreenAdapter() { -- public void windowEnteredFullScreen(FullScreenEvent ev) { -- fullScreen = true; -- toolBar.removeMouseListener(mouseListener); -- toolBar.removeMouseMotionListener(mouseListener); -- } -- -- public void windowExitedFullScreen(FullScreenEvent ev) { -- fullScreen = false; -- toolBar.addMouseListener(mouseListener); -- toolBar.addMouseMotionListener(mouseListener); -- } -- }; -- FullScreenUtilities.addFullScreenListenerTo((Window)SwingUtilities.getRoot(rootPane), -- (FullScreenListener)this.fullScreenListener); -- } catch (ClassNotFoundException ex) { -- // If FullScreenUtilities isn't supported, ignore mouse listener switch -- } -- } -- -- public void ancestorMoved(AncestorEvent ev) { -- } -- -- public void ancestorRemoved(AncestorEvent ev) { -- toolBar.removeAncestorListener(this); -- try { -- Class fullScreenUtilitiesClass = Class.forName("com.apple.eawt.FullScreenUtilities"); -- FullScreenUtilities.removeFullScreenListenerFrom((Window)SwingUtilities.getRoot(rootPane), -- (FullScreenListener)this.fullScreenListener); -- } catch (ClassNotFoundException ex) { -- // If FullScreenUtilities isn't supported, ignore mouse listener switch -- } -- } -- }); -- -- // Empty left, bottom and right borders of sibling split pane -- List<JSplitPane> siblings = SwingTools.findChildren((JComponent)toolBar.getParent(), JSplitPane.class); -- if (siblings.size() >= 1) { -- JComponent siblingComponent = siblings.get(0); -- if (siblingComponent.getParent() == toolBar.getParent()) { -- Border border = siblingComponent.getBorder(); -- final Insets borderInsets = border.getBorderInsets(siblingComponent); -- final Insets filledBorderInsets = new Insets(1, 0, 0, 0); -- siblingComponent.setBorder(new CompoundBorder(border, -- new AbstractBorder() { -- @Override -- public Insets getBorderInsets(Component c) { -- return filledBorderInsets; -- } -- -- @Override -- public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { -- Color background = c.getBackground(); -- g.setColor(background); -- g.fillRect(x, y, width, 1); -- g.fillRect(x - borderInsets.left, y, borderInsets.left, height + borderInsets.bottom); -- g.fillRect(x + width, y, borderInsets.right, height + borderInsets.bottom); -- g.fillRect(x, y + height, width, borderInsets.bottom); -- } -- })); -- } -- } -- } -- } -- -- /** -- * Returns <code>true</code> if the given window is displayed in full screen mode. -- */ -- public static boolean isWindowFullScreen(final JFrame frame) { -- return fullScreen; -- } --} -diff --git a/src/com/eteks/sweethome3d/SweetHome3D.java b/src/com/eteks/sweethome3d/SweetHome3D.java -index 1e40064..0569f09 100644 ---- a/src/com/eteks/sweethome3d/SweetHome3D.java -+++ b/src/com/eteks/sweethome3d/SweetHome3D.java -@@ -484,10 +484,12 @@ public class SweetHome3D extends HomeApplication { - // Too bad we can't retrieve homes to recover - ex.printStackTrace(); - } -+/* - if (OperatingSystem.isMacOSX()) { - // Bind to application menu at last - MacOSXConfiguration.bindToApplicationMenu(this); - } -+ */ - - // Run everything else in Event Dispatch Thread - EventQueue.invokeLater(new Runnable() { -@@ -520,9 +522,9 @@ public class SweetHome3D extends HomeApplication { - if (System.getProperty("apple.laf.useScreenMenuBar") == null) { - // Use Mac OS X screen menu bar for frames menu bar - // except for bundles under macOS 10.13 -- System.setProperty("apple.laf.useScreenMenuBar", -- String.valueOf(OperatingSystem.compareVersions(System.getProperty("os.version"), "10.13") < 0 -- || MacOSXConfiguration.isScreenMenuBarSupported())); -+ //System.setProperty("apple.laf.useScreenMenuBar", -+ // String.valueOf(OperatingSystem.compareVersions(System.getProperty("os.version"), "10.13") < 0 -+ // || MacOSXConfiguration.isScreenMenuBarSupported())); - } - // Force the use of Quartz under Mac OS X for better Java 2D rendering performance - System.setProperty("apple.awt.graphics.UseQuartz", "true"); -@@ -598,8 +600,7 @@ public class SweetHome3D extends HomeApplication { - && home.getName() == null - && !home.isRecovered()) { - if (OperatingSystem.isMacOSXLionOrSuperior() -- && OperatingSystem.isJavaVersionGreaterOrEqual("1.7") -- && MacOSXConfiguration.isWindowFullScreen(getHomeFrame(home))) { -+ && OperatingSystem.isJavaVersionGreaterOrEqual("1.7")) { - // Delay home disposal to avoid Java 3D fatal error - new Timer(3000, new ActionListener() { - public void actionPerformed(ActionEvent ev) { -diff --git a/src/com/eteks/sweethome3d/tools/OperatingSystem.java b/src/com/eteks/sweethome3d/tools/OperatingSystem.java -index 1b5522a..3fff322 100644 ---- a/src/com/eteks/sweethome3d/tools/OperatingSystem.java -+++ b/src/com/eteks/sweethome3d/tools/OperatingSystem.java -@@ -33,7 +33,6 @@ import java.util.Timer; - import java.util.TimerTask; - import java.util.UUID; - --import com.apple.eio.FileManager; - import com.eteks.sweethome3d.model.Home; - - /** -@@ -434,9 +433,12 @@ public class OperatingSystem { - */ - public static File getDefaultApplicationFolder() throws IOException { - File userApplicationFolder; -+/* - if (isMacOSX()) { - userApplicationFolder = new File(MacOSXFileManager.getApplicationSupportFolder()); - } else if (isWindows()) { -+ */ -+ if (isWindows()) { - userApplicationFolder = new File(System.getProperty("user.home"), "Application Data"); - // If user Application Data directory doesn't exist, use user home - if (!userApplicationFolder.exists()) { -@@ -457,10 +459,12 @@ public class OperatingSystem { - * This class requires some classes of <code>com.apple.eio</code> package - * to compile. - */ -+/* - private static class MacOSXFileManager { - public static String getApplicationSupportFolder() throws IOException { - // Find application support folder (0x61737570) for user domain (-32763) - return FileManager.findFolder((short)-32763, 0x61737570); - } - } -+ */ - } diff --git a/debian/patches/series b/debian/patches/series index e79f2f0..adb6ae9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,3 @@ -01noMacOSX 04manifest disable-checkForUpdates.patch no-video.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sweethome3d.git _______________________________________________ pkg-java-commits mailing list pkg-java-comm...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits