[sweethome3d] 07/09: Drop 01noMacOSX
Markus Koschany
apo at moszumanska.debian.org
Sun Jan 28 17:05:31 UTC 2018
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 <apo at 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 at 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 <1o5g4r8o at 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 <info at 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
More information about the pkg-java-commits
mailing list