Initial version from the webtools project; sligthly modified for phpeclipse
[phpeclipse.git] / net.sourceforge.phpeclipse.webbrowser / src / org / eclipse / webbrowser / internal / WebBrowserPreference.java
diff --git a/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/WebBrowserPreference.java b/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/WebBrowserPreference.java
new file mode 100644 (file)
index 0000000..ea39724
--- /dev/null
@@ -0,0 +1,164 @@
+/**
+ * Copyright (c) 2003 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ *    IBM - Initial API and implementation
+ */
+package org.eclipse.webbrowser.internal;
+
+import java.util.*;
+import java.net.URL;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.preference.IPreferenceStore;
+/**
+ * Preferences for the Web browser.
+ */
+public class WebBrowserPreference {
+       protected static final String PREF_BROWSER_HISTORY = "webBrowserHistory";
+       protected static final String PREF_INTERNAL_WEB_BROWSER_HISTORY = "internalWebBrowserHistory";
+       protected static final String PREF_INTERNAL_WEB_BROWSER_FAVORITES = "internalWebBrowserFavorites";
+       protected static final String PREF_INTERNAL_WEB_BROWSER_OLD_FAVORITES = "internalWebBrowserOldFavorites";
+       protected static final String URL_PARAMETER = "%URL%";
+       
+       /**
+        * WebBrowserPreference constructor comment.
+        */
+       private WebBrowserPreference() {
+               super();
+       }
+
+       /**
+        * Returns the URL to the homepage.
+        * 
+        * @return java.lang.String
+        */
+       public static String getHomePageURL() {
+               try {
+                       // get the default home page
+                       URL url = WebBrowserUIPlugin.getInstance().getBundle().getEntry("home/home.html");
+                       url = Platform.resolve(url);
+                       return url.toExternalForm();
+               } catch (Exception e) {
+                       return "http://www.eclipse.org";
+               }
+       }
+
+       /**
+        * Returns the preference store.
+        *
+        * @return org.eclipse.jface.preference.IPreferenceStore
+        */
+       protected static IPreferenceStore getPreferenceStore() {
+               return WebBrowserUIPlugin.getInstance().getPreferenceStore();
+       }
+       
+       /**
+        * Returns the Web browser history list.
+        * 
+        * @return java.util.List
+        */
+       public static List getInternalWebBrowserHistory() {
+               String temp = getPreferenceStore().getString(PREF_INTERNAL_WEB_BROWSER_HISTORY);
+               StringTokenizer st = new StringTokenizer(temp, "|*|");
+               List l = new ArrayList();
+               while (st.hasMoreTokens()) {
+                       String s = st.nextToken();
+                       l.add(s);
+               }
+               return l;
+       }
+       
+       /**
+        * Returns the Web browser favorites.
+        * 
+        * @return java.util.List
+        */
+       public static List getInternalWebBrowserFavorites() {
+               String temp = getPreferenceStore().getString(PREF_INTERNAL_WEB_BROWSER_FAVORITES);
+               StringTokenizer st = new StringTokenizer(temp, "|*|");
+               List l = new ArrayList();
+               while (st.hasMoreTokens()) {
+                       l.add(new Favorite(st.nextToken(), st.nextToken()));
+               }
+               return l;
+       }
+
+       /**
+        * Initialize the default preferences.
+        */
+       public static void initializeDefaultPreferences() {
+               IPreferenceStore store = getPreferenceStore();
+               
+               String temp = store.getString(PREF_INTERNAL_WEB_BROWSER_OLD_FAVORITES);
+               StringTokenizer st = new StringTokenizer(temp, "|*|");
+               List def = new ArrayList();
+               while (st.hasMoreTokens()) {
+                       def.add(new Favorite(st.nextToken(), st.nextToken()));
+               }
+               
+               List list = getInternalWebBrowserFavorites(); 
+               Iterator iterator = WebBrowserUtil.getUnlockedFavorites().iterator();
+               while (iterator.hasNext()) {
+                       Favorite f = (Favorite) iterator.next();
+                       if (!def.contains(f))
+                               list.add(f);
+               }
+               setInternalWebBrowserFavorites(list);
+               
+               StringBuffer sb = new StringBuffer();
+               iterator = WebBrowserUtil.getUnlockedFavorites().iterator();
+               while (iterator.hasNext()) {
+                       Favorite f = (Favorite) iterator.next();
+                       sb.append(f.getName());
+                       sb.append("|*|");
+                       sb.append(f.getURL());
+                       sb.append("|*|");
+               }
+               store.setValue(PREF_INTERNAL_WEB_BROWSER_OLD_FAVORITES, sb.toString());
+               WebBrowserUIPlugin.getInstance().savePluginPreferences();
+       }
+       
+       /**
+        * Sets the Web browser history.
+        *
+        * @param java.util.List
+        */
+       public static void setInternalWebBrowserHistory(List list) {
+               StringBuffer sb = new StringBuffer();
+               if (list != null) {
+                       Iterator iterator = list.iterator();
+                       while (iterator.hasNext()) {
+                               String s = (String) iterator.next();
+                               sb.append(s);
+                               sb.append("|*|");
+                       }
+               }
+               getPreferenceStore().setValue(PREF_INTERNAL_WEB_BROWSER_HISTORY, sb.toString());
+               WebBrowserUIPlugin.getInstance().savePluginPreferences();
+       }
+       
+       /**
+        * Sets the Web browser favorites.
+        *
+        * @param java.util.List
+        */
+       public static void setInternalWebBrowserFavorites(List list) {
+               StringBuffer sb = new StringBuffer();
+               if (list != null) {
+                       Iterator iterator = list.iterator();
+                       while (iterator.hasNext()) {
+                               Favorite f = (Favorite) iterator.next();
+                               sb.append(f.getName());
+                               sb.append("|*|");
+                               sb.append(f.getURL());
+                               sb.append("|*|");
+                       }
+               }
+               getPreferenceStore().setValue(PREF_INTERNAL_WEB_BROWSER_FAVORITES, sb.toString());
+               WebBrowserUIPlugin.getInstance().savePluginPreferences();
+       }
+}
\ No newline at end of file