You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by km...@apache.org on 2008/03/23 16:04:03 UTC

svn commit: r640213 - /cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmDeleteDialog.java

Author: kmenard
Date: Sun Mar 23 08:04:00 2008
New Revision: 640213

URL: http://svn.apache.org/viewvc?rev=640213&view=rev
Log:
CAY-1011: Add confirmation dialog for delete actions.

Cleaned up the structure a bit.

Modified:
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmDeleteDialog.java

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmDeleteDialog.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmDeleteDialog.java?rev=640213&r1=640212&r2=640213&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmDeleteDialog.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmDeleteDialog.java Sun Mar 23 08:04:00 2008
@@ -1,58 +1,49 @@
 package org.apache.cayenne.modeler.dialog;
 
-import org.apache.cayenne.modeler.util.CayenneDialog;
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.action.ConfigurePreferencesAction;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
 import org.apache.cayenne.modeler.dialog.pref.GeneralPreferences;
 import org.apache.cayenne.pref.PreferenceDetail;
 
 import javax.swing.*;
-import java.awt.*;
 
 /**
  * Used to confirm deleting items in the model.
  *
  * @author Kevin Menard
  */
-public class ConfirmDeleteDialog extends CayenneDialog {
-    private String type;
-    private String name;
+public class ConfirmDeleteDialog {
     private boolean shouldDelete = true;
 
-    public void show() {
+    private void showDialog(String type, String name) {
 
-        PreferenceDetail pref = Application.getInstance().getPreferenceDomain().getDetail(GeneralPreferences.DELETE_PROMPT_PREFERENCE, true);
-
-        // See if the user has opted not to show the delete dialog.
-        if ((pref == null) || (false == pref.getBooleanProperty(GeneralPreferences.DELETE_PROMPT_PREFERENCE))) {
-            JCheckBox neverPromptAgainBox = new JCheckBox("Always delete without prompt.");
+        JCheckBox neverPromptAgainBox = new JCheckBox("Always delete without prompt.");
 
-            Object message[] = {String.format("Are you sure you would like to delete the %s named '%s'?", type, name), neverPromptAgainBox};
+        Object message[] = {String.format("Are you sure you would like to delete the %s named '%s'?", type, name), neverPromptAgainBox};
 
-            JOptionPane pane =
-                    new JOptionPane(message,
-                            JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
+        JOptionPane pane = new JOptionPane(message, JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
 
-            JDialog dialog = pane.createDialog(Application.getFrame(), "File exists");
-            dialog.setVisible(true);
+        JDialog dialog = pane.createDialog(Application.getFrame(), "File exists");
+        dialog.setVisible(true);
 
-            Object selectedValue = pane.getValue();
-            shouldDelete = selectedValue.equals(JOptionPane.YES_OPTION);
+        Object selectedValue = pane.getValue();
+        shouldDelete = selectedValue.equals(JOptionPane.YES_OPTION);
 
-            // If the user clicks "no", we'll just ignore whatever's in the checkbox because it's non-sensical.
-            if (shouldDelete) {
-                pref.setBooleanProperty(GeneralPreferences.DELETE_PROMPT_PREFERENCE, neverPromptAgainBox.isSelected());
-                Application.getInstance().getPreferenceService().savePreferences();
-            }
+        // If the user clicks "no", we'll just ignore whatever's in the checkbox because it's non-sensical.
+        if (shouldDelete) {
+            PreferenceDetail pref = Application.getInstance().getPreferenceDomain().getDetail(GeneralPreferences.DELETE_PROMPT_PREFERENCE, true);
+            pref.setBooleanProperty(GeneralPreferences.DELETE_PROMPT_PREFERENCE, neverPromptAgainBox.isSelected());
+            Application.getInstance().getPreferenceService().savePreferences();
         }
     }
 
     public boolean shouldDelete(String type, String name) {
-        this.type = type;
-        this.name = name;
 
-        show();
+        PreferenceDetail pref = Application.getInstance().getPreferenceDomain().getDetail(GeneralPreferences.DELETE_PROMPT_PREFERENCE, true);
+
+        // See if the user has opted not to showDialog the delete dialog.
+        if ((pref == null) || (false == pref.getBooleanProperty(GeneralPreferences.DELETE_PROMPT_PREFERENCE))) {
+           showDialog(type, name);
+        }
 
         return shouldDelete;
     }