+++ /dev/null
-var webdeveloper_preferencesService = null;
-
-// Deletes a preference
-function webdeveloper_deletePreference(preference)
-{
- // If the preference is set
- if(preference)
- {
- // If a user preference is set
- if(webdeveloper_isPreferenceSet(preference))
- {
- webdeveloper_getPreferencesService().clearUserPref(preference);
- }
- }
-}
-
-// Deletes a preference branch
-function webdeveloper_deletePreferenceBranch(branch)
-{
- // If the branch is set
- if(branch)
- {
- webdeveloper_getPreferencesService().deleteBranch(branch);
- }
-}
-
-// Gets a boolean preference, returning false if the preference is not set
-function webdeveloper_getBooleanPreference(preference, userPreference)
-{
- // If the preference is set
- if(preference)
- {
- // If not a user preference or a user preference is set
- if(!userPreference || webdeveloper_isPreferenceSet(preference))
- {
- try
- {
- return webdeveloper_getPreferencesService().getBoolPref(preference);
- }
- catch(exception)
- {
- // Do nothing
- }
- }
- }
-
- return false;
-}
-
-// Gets an integer preference, returning 0 if the preference is not set
-function webdeveloper_getIntegerPreference(preference, userPreference)
-{
- // If the preference is set
- if(preference)
- {
- // If not a user preference or a user preference is set
- if(!userPreference || webdeveloper_isPreferenceSet(preference))
- {
- try
- {
- return webdeveloper_getPreferencesService().getIntPref(preference);
- }
- catch(exception)
- {
- // Do nothing
- }
- }
- }
-
- return 0;
-}
-
-// Gets the preferences service
-function webdeveloper_getPreferencesService()
-{
- // If the preferences service is not set
- if(!webdeveloper_preferencesService)
- {
- webdeveloper_preferencesService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
- }
-
- return webdeveloper_preferencesService;
-}
-
-// Gets a string preference, returning null if the preference is not set
-function webdeveloper_getStringPreference(preference, userPreference)
-{
- // If the preference is set
- if(preference)
- {
- // If not a user preference or a user preference is set
- if(!userPreference || webdeveloper_isPreferenceSet(preference))
- {
- try
- {
- return webdeveloper_getPreferencesService().getComplexValue(preference, Components.interfaces.nsISupportsString).data.trim();
- }
- catch(exception)
- {
- // Do nothing
- }
- }
- }
-
- return null;
-}
-
-// Is a preference set
-function webdeveloper_isPreferenceSet(preference)
-{
- // If the preference is set
- if(preference)
- {
- return webdeveloper_getPreferencesService().prefHasUserValue(preference);
- }
-
- return false;
-}
-
-// Sets a boolean preference
-function webdeveloper_setBooleanPreference(preference, value)
-{
- // If the preference is set
- if(preference)
- {
- webdeveloper_getPreferencesService().setBoolPref(preference, value);
- }
-}
-
-// Sets a boolean preference if it is not already set
-function webdeveloper_setBooleanPreferenceIfNotSet(preference, value)
-{
- // If the preference is not set
- if(!webdeveloper_isPreferenceSet(preference))
- {
- webdeveloper_getPreferencesService().setBoolPref(preference, value);
- }
-}
-
-// Sets an integer preference
-function webdeveloper_setIntegerPreference(preference, value)
-{
- // If the preference is set
- if(preference)
- {
- webdeveloper_getPreferencesService().setIntPref(preference, value);
- }
-}
-
-// Sets an integer preference if it is not already set
-function webdeveloper_setIntegerPreferenceIfNotSet(preference, value)
-{
- // If the preference is not set
- if(!webdeveloper_isPreferenceSet(preference))
- {
- webdeveloper_setIntegerPreference(preference, value);
- }
-}
-
-// Sets a string preference
-function webdeveloper_setStringPreference(preference, value)
-{
- // If the preference is set
- if(preference)
- {
- var supportsStringInterface = Components.interfaces.nsISupportsString;
- var string = Components.classes["@mozilla.org/supports-string;1"].createInstance(supportsStringInterface);
-
- string.data = value;
-
- webdeveloper_getPreferencesService().setComplexValue(preference, supportsStringInterface, string);
- }
-}
-
-// Sets a string preference if it is not already set
-function webdeveloper_setStringPreferenceIfNotSet(preference, value)
-{
- // If the preference is not set
- if(!webdeveloper_isPreferenceSet(preference))
- {
- webdeveloper_setStringPreference(preference, value);
- }
-}
\ No newline at end of file