Revision: 4021
Author: [email protected]
Date: Fri Dec  3 14:27:44 2010
Log: Now users have the option to enable and disable the auto-check for updates from the preferences panel. There still needs to be a check box on the actual prompt when a new version is found to disable the auto checker.
http://code.google.com/p/power-architect/source/detail?r=4021

Added:
 /trunk/src/main/java/ca/sqlpower/architect/swingui/UpdateCheckSettings.java
Modified:
 /trunk/src/main/java/ca/sqlpower/architect/CoreUserSettings.java
 /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
 /trunk/src/main/java/ca/sqlpower/architect/swingui/PreferencesPanel.java
 /trunk/src/main/resources/ca/sqlpower/architect/swingui/messages.properties

=======================================
--- /dev/null
+++ /trunk/src/main/java/ca/sqlpower/architect/swingui/UpdateCheckSettings.java Fri Dec 3 14:27:44 2010
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2010, SQL Power Group Inc.
+ *
+ * This file is part of SQL Power Architect.
+ *
+ * SQL Power Architect 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * SQL Power Architect 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, see <http://www.gnu.org/licenses/>.
+ */
+
+package ca.sqlpower.architect.swingui;
+
+import ca.sqlpower.architect.AbstractUserSetting;
+
+public class UpdateCheckSettings extends AbstractUserSetting {
+
+    /**
+ * Property that stores the boolean of if we are automatically checking for
+     * a new version of Architect. If true we will check for updates.
+     */
+ public static final String AUTO_UPDATE_CHECK = "UpdateCheckSettings.AUTO_UPDATE_CHECK";
+
+}
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/CoreUserSettings.java Thu Jan 29 12:02:55 2009 +++ /trunk/src/main/java/ca/sqlpower/architect/CoreUserSettings.java Fri Dec 3 14:27:44 2010
@@ -27,6 +27,7 @@
 import ca.sqlpower.architect.etl.ETLUserSettings;
 import ca.sqlpower.architect.swingui.ArchitectSwingUserSettings;
 import ca.sqlpower.architect.swingui.QFAUserSettings;
+import ca.sqlpower.architect.swingui.UpdateCheckSettings;
 import ca.sqlpower.sqlobject.SQLObjectException;

 /**
@@ -70,6 +71,8 @@
     private DDLUserSettings ddlUserSettings;

     private QFAUserSettings qfaUserSettings;
+
+    private UpdateCheckSettings updateCheckSettings;

        public CoreUserSettings(Preferences prefs) {
                super();
@@ -78,6 +81,7 @@
                etlUserSettings = new ETLUserSettings();
                ddlUserSettings = new DDLUserSettings();
         qfaUserSettings = new QFAUserSettings();
+        setUpdateCheckSettings(new UpdateCheckSettings());
         this.prefs = prefs;
         loadFromPrefs();
        }
@@ -101,6 +105,8 @@
ddlUserSettings.setString(DDLUserSettings.PROP_DDL_LOG_PATH,prefs.get(DDLUserSettings.PROP_DDL_LOG_PATH, defaultHomeFile("ddl.log")));

qfaUserSettings.setBoolean(QFAUserSettings.EXCEPTION_REPORTING,prefs.getBoolean(QFAUserSettings.EXCEPTION_REPORTING,true));
+
+ getUpdateCheckSettings().setBoolean(UpdateCheckSettings.AUTO_UPDATE_CHECK, prefs.getBoolean(UpdateCheckSettings.AUTO_UPDATE_CHECK, true));

         printUserSettings.setDefaultPrinterName(
                 prefs.get(PrintUserSettings.DEFAULT_PRINTER_NAME, ""));
@@ -122,6 +128,8 @@
prefs.put(DDLUserSettings.PROP_DDL_LOG_PATH, ddlUserSettings.getString(DDLUserSettings.PROP_DDL_LOG_PATH,""));

prefs.putBoolean(QFAUserSettings.EXCEPTION_REPORTING,qfaUserSettings.getBoolean(QFAUserSettings.EXCEPTION_REPORTING,true));
+
+ prefs.putBoolean(UpdateCheckSettings.AUTO_UPDATE_CHECK, getUpdateCheckSettings().getBoolean(UpdateCheckSettings.AUTO_UPDATE_CHECK, true));

prefs.put(PrintUserSettings.DEFAULT_PRINTER_NAME, printUserSettings.getDefaultPrinterName());

@@ -181,4 +189,12 @@
        public void setDDLUserSettings(DDLUserSettings v) {
                ddlUserSettings = v;
        }
-}
+
+ public void setUpdateCheckSettings(UpdateCheckSettings updateCheckSettings) {
+        this.updateCheckSettings = updateCheckSettings;
+    }
+
+    public UpdateCheckSettings getUpdateCheckSettings() {
+        return updateCheckSettings;
+    }
+}
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java Wed Nov 3 12:00:08 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java Fri Dec 3 14:27:44 2010
@@ -1414,12 +1414,15 @@
                         }
                         frame.setCurrentSession(sessions.get(0));

-                        new Thread(new Runnable() {
-                            @Override
-                            public void run() {
- frame.checkForUpdateAction.checkForUpdate(false);
-                            }
-                        }).start();
+ if (context.getUserSettings().getUpdateCheckSettings().getBoolean( + UpdateCheckSettings.AUTO_UPDATE_CHECK, true)) {
+                            new Thread(new Runnable() {
+                                @Override
+                                public void run() {
+ frame.checkForUpdateAction.checkForUpdate(false);
+                                }
+                            }).start();
+                        }
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/PreferencesPanel.java Wed Jul 2 15:13:22 2008 +++ /trunk/src/main/java/ca/sqlpower/architect/swingui/PreferencesPanel.java Fri Dec 3 14:27:44 2010
@@ -64,6 +64,9 @@

     private JRadioButton showWelcomeOn;
     private JRadioButton showWelcomeOff;
+
+    private JRadioButton updateCheckOn;
+    private JRadioButton updateCheckOff;

     private final ArchitectSwingSessionContext context;

@@ -134,6 +137,16 @@
         showWelcomePanel.add(showWelcomeOn);
         showWelcomePanel.add(showWelcomeOff);
         add(showWelcomePanel);
+        //line 7
+ add(new JLabel(Messages.getString("PreferencesPanel.checkForUpdates"))); //$NON-NLS-1$
+        JPanel checkUpdatesPanel = new JPanel();
+        checkUpdatesPanel.setLayout(new FlowLayout());
+        ButtonGroup checkUpdatesGroup = new ButtonGroup();
+ checkUpdatesGroup.add(updateCheckOn = new JRadioButton(Messages.getString("PreferencesPanel.onOption"))); //$NON-NLS-1$ + checkUpdatesGroup.add(updateCheckOff = new JRadioButton(Messages.getString("PreferencesPanel.offOption"))); //$NON-NLS-1$
+        checkUpdatesPanel.add(updateCheckOn);
+        checkUpdatesPanel.add(updateCheckOff);
+        add(checkUpdatesPanel);
        }

        protected void revertToUserSettings() {
@@ -155,6 +168,11 @@
         } else {
             exceptionReportOff.setSelected(true);
         }
+ if (us.getUpdateCheckSettings().getBoolean(UpdateCheckSettings.AUTO_UPDATE_CHECK, true)) {
+            updateCheckOn.setSelected(true);
+        } else {
+            updateCheckOff.setSelected(true);
+        }
        }

        public boolean applyChanges() {
@@ -164,6 +182,7 @@
us.getSwingSettings().setBoolean(ArchitectSwingUserSettings.PLAYPEN_RENDER_ANTIALIASED, playPenAntialiasOn.isSelected()); us.getSwingSettings().setBoolean(ArchitectSwingUserSettings.SHOW_WELCOMESCREEN, showWelcomeOn.isSelected()); us.getQfaUserSettings().setBoolean(QFAUserSettings.EXCEPTION_REPORTING, exceptionReportOn.isSelected()); + us.getUpdateCheckSettings().setBoolean(UpdateCheckSettings.AUTO_UPDATE_CHECK, updateCheckOn.isSelected());
         for (ArchitectSession session: context.getSessions()) {
((ArchitectSwingSession)session).getPlayPen().setRenderingAntialiased(playPenAntialiasOn.isSelected());
         }
=======================================
--- /trunk/src/main/resources/ca/sqlpower/architect/swingui/messages.properties Thu Aug 5 09:12:42 2010 +++ /trunk/src/main/resources/ca/sqlpower/architect/swingui/messages.properties Fri Dec 3 14:27:44 2010
@@ -256,6 +256,7 @@
 PreferencesEditor.kettleSection=Kettle
 PreferencesEditor.userPreferencesDialogTitle=User Preferences
 PreferencesPanel.browseButton=Browse...
+PreferencesPanel.checkForUpdates=Check for Updates
 PreferencesPanel.errorReportingLabel=Error Reporting
 PreferencesPanel.etlLogFileLabel=ETL Log File
PreferencesPanel.forwardEngineeringLogFileLabel=Forward Engineering Log File

Reply via email to