You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by mg...@apache.org on 2007/12/16 22:46:44 UTC
svn commit: r604717 - in /cayenne/main/trunk:
framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/
framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/
modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenn...
Author: mgentry
Date: Sun Dec 16 13:46:43 2007
New Revision: 604717
URL: http://svn.apache.org/viewvc?rev=604717&view=rev
Log:
Fix for CAY-932 -- make OS X quit menu option (and Command-Q) operate correctly.
Modified:
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ProjectAction.java
cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/MacOSXSetup.java
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java?rev=604717&r1=604716&r2=604717&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java Sun Dec 16 13:46:43 2007
@@ -85,6 +85,9 @@
protected BindingFactory bindingFactory;
protected AdapterMapping adapterMapping;
+ // This is for OS X support
+ private boolean isQuittingApplication = false;
+
public static Application getInstance() {
return instance;
}
@@ -354,5 +357,15 @@
protected Window getDefaultParentWindow() {
return frame;
}
+ }
+
+
+ public boolean isQuittingApplication() {
+ return isQuittingApplication;
+ }
+
+
+ public void setQuittingApplication(boolean isQuittingApplication) {
+ this.isQuittingApplication = isQuittingApplication;
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ProjectAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ProjectAction.java?rev=604717&r1=604716&r2=604717&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ProjectAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ProjectAction.java Sun Dec 16 13:46:43 2007
@@ -95,6 +95,7 @@
* Returns false if cancel closing the window, true otherwise.
*/
public boolean checkSaveOnClose() {
+ System.out.println("mrg mrg mrg 1");
ProjectController projectController = getProjectController();
if (projectController != null && projectController.isDirty()) {
UnsavedChangesDialog dialog = new UnsavedChangesDialog(Application.getFrame());
@@ -102,6 +103,8 @@
if (dialog.shouldCancel()) {
// discard changes and DO NOT close
+ System.out.println("mrg mrg mrg 2");
+ Application.getInstance().setQuittingApplication(false);
return false;
}
else if (dialog.shouldSave()) {
Modified: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/MacOSXSetup.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/MacOSXSetup.java?rev=604717&r1=604716&r2=604717&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/MacOSXSetup.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/MacOSXSetup.java Sun Dec 16 13:46:43 2007
@@ -53,8 +53,12 @@
public void handleQuit(ApplicationEvent e) {
if (!e.isHandled()) {
+ Application.getInstance().setQuittingApplication(true);
((ExitAction) getAction(ExitAction.getActionName())).exit();
- e.setHandled(true);
+ if (Application.getInstance().isQuittingApplication())
+ e.setHandled(true);
+ else
+ Application.getInstance().setQuittingApplication(false);
}
}