You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/05/08 19:32:31 UTC
svn commit: r405098 - in
/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action:
NewProjectAction.java OpenProjectAction.java ProjectAction.java
Author: aadamchik
Date: Mon May 8 10:32:29 2006
New Revision: 405098
URL: http://svn.apache.org/viewcvs?rev=405098&view=rev
Log:
a minor bug that has been in CayenneModeler since the old days - current project should not be closed until the new project selection is confirmed
Modified:
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/NewProjectAction.java
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/OpenProjectAction.java
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/ProjectAction.java
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/NewProjectAction.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/NewProjectAction.java?rev=405098&r1=405097&r2=405098&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/NewProjectAction.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/NewProjectAction.java Mon May 8 10:32:29 2006
@@ -96,7 +96,7 @@
.getInstance()
.getFrameController();
// Save and close (if needed) currently open project.
- if (getCurrentProject() != null && !closeProject()) {
+ if (getCurrentProject() != null && !closeProject(true)) {
return;
}
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/OpenProjectAction.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/OpenProjectAction.java?rev=405098&r1=405097&r2=405098&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/OpenProjectAction.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/OpenProjectAction.java Mon May 8 10:32:29 2006
@@ -98,14 +98,18 @@
}
public KeyStroke getAcceleratorKey() {
- return KeyStroke.getKeyStroke(KeyEvent.VK_O, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+ return KeyStroke.getKeyStroke(KeyEvent.VK_O, Toolkit
+ .getDefaultToolkit()
+ .getMenuShortcutKeyMask());
}
public void performAction(ActionEvent e) {
+
// Save and close (if needed) currently open project.
- if (getProjectController() != null && !closeProject()) {
+ if (getProjectController() != null && !checkSaveOnClose()) {
return;
}
+
File f = null;
if (e.getSource() instanceof RecentFileMenuItem) {
RecentFileMenuItem menu = (RecentFileMenuItem) e.getSource();
@@ -113,26 +117,22 @@
}
if (f == null) {
- openProject();
- }
- else {
- openProject(f);
+ try {
+ // Get the project file name (always cayenne.xml)
+ f = fileChooser.openProjectFile(Application.getFrame());
+ }
+ catch (Exception ex) {
+ logObj.warn("Error loading project file.", ex);
+ }
}
- }
- /**
- * Opens cayenne.xml file using file chooser dialog.
- */
- public void openProject() {
- try {
- // Get the project file name (always cayenne.xml)
- File file = fileChooser.openProjectFile(Application.getFrame());
- if (file != null) {
- openProject(file);
+ if (f != null) {
+ // by now if the project is unsaved, this has been a user choice...
+ if (getProjectController() != null && !closeProject(false)) {
+ return;
}
- }
- catch (Exception e) {
- logObj.warn("Error loading project file.", e);
+
+ openProject(f);
}
}
@@ -149,7 +149,7 @@
// if upgrade was canceled
if (project.isUpgradeNeeded() && !processUpgrades(project)) {
- closeProject();
+ closeProject(false);
}
else {
getApplication().getFrameController().projectOpenedAction(project);
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/ProjectAction.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/ProjectAction.java?rev=405098&r1=405097&r2=405098&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/ProjectAction.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/action/ProjectAction.java Mon May 8 10:32:29 2006
@@ -93,7 +93,7 @@
* Closes current project.
*/
public void performAction(ActionEvent e) {
- closeProject();
+ closeProject(true);
}
/**
@@ -109,13 +109,13 @@
}
/** Returns true if successfully closed project, false otherwise. */
- public boolean closeProject() {
+ public boolean closeProject(boolean checkUnsaved) {
// check if there is a project...
if (getProjectController() == null || getProjectController().getProject() == null) {
return true;
}
- if (!checkSaveOnClose()) {
+ if (checkUnsaved && !checkSaveOnClose()) {
return false;
}