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