RSS news reader; initially copied from "all the news"
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.news / src / net / sourceforge / phpeclipse / news / pref / PreferencePage.java
diff --git a/archive/net.sourceforge.phpeclipse.news/src/net/sourceforge/phpeclipse/news/pref/PreferencePage.java b/archive/net.sourceforge.phpeclipse.news/src/net/sourceforge/phpeclipse/news/pref/PreferencePage.java
new file mode 100644 (file)
index 0000000..ded0e33
--- /dev/null
@@ -0,0 +1,59 @@
+package net.sourceforge.phpeclipse.news.pref;
+
+import net.sourceforge.phpeclipse.news.Plugin;
+
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.FileFieldEditor;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+    protected SiteListEditor siteListFE;
+    protected BanListEditor banListFE;
+    protected FileFieldEditor browserAppFE;
+    protected IntegerFieldEditor refreshFE;
+    protected BooleanFieldEditor forceCacheFE;
+
+    public PreferencePage() {
+        super("All The News", FieldEditorPreferencePage.GRID);
+    }
+
+    /**
+     * @see FieldEditorPreferencePage#createFieldEditors()
+     */
+    protected void createFieldEditors() {
+        siteListFE = new SiteListEditor(Plugin.BACKENDS_PREFERENCE, "Sites", getFieldEditorParent());
+        banListFE = new BanListEditor(Plugin.BANNED_ITEMS_PREFERENCE, "Banned items", getFieldEditorParent());
+        browserAppFE = new FileFieldEditor(Plugin.BROWSER_PREFERENCE, "External Browser", getFieldEditorParent());
+        refreshFE = new IntegerFieldEditor(Plugin.REFRESH_INTERVAL_PREFERENCE,"Refresh interval (minutes)", getFieldEditorParent());
+        refreshFE.setValidRange(0,10000);
+
+        forceCacheFE = new BooleanFieldEditor(Plugin.FORCE_CACHE_PREFERENCE,"Force refresh from proxy", getFieldEditorParent());
+
+        addField(siteListFE);
+        addField(banListFE);
+        addField(browserAppFE);
+        addField(refreshFE);
+        addField(forceCacheFE);
+    }
+
+    /**
+     * @see IWorkbenchPreferencePage#init(IWorkbench)
+     */
+    public void init(IWorkbench workbench) {
+        setPreferenceStore(Plugin.getDefault().getPreferenceStore());
+    }
+
+    /**
+     * @see org.eclipse.jface.preference.IPreferencePage#performOk()
+     */
+    public boolean performOk() {
+        boolean result = super.performOk();
+        Plugin.getDefault().setTimer();
+        return result;
+    }
+
+}