X-Git-Url: http://git.phpeclipse.com 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 index 0000000..ea39724 --- /dev/null +++ b/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/WebBrowserPreference.java @@ -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