1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-23 04:07:58 +01:00

fixed defaultValue in :set!

This commit is contained in:
Martin Stubenschrott
2008-02-07 12:55:09 +00:00
parent a40bc05f11
commit db56095bc8

View File

@@ -147,28 +147,29 @@ vimperator.Options = function () //{{{
} }
} }
function loadPreference(name, forcedDefault) function loadPreference(name, forcedDefault, defaultBranch)
{ {
var defaultValue = null; var defaultValue = null;
if (forcedDefault != null) // this argument sets defaults for non-user settable options (like extensions.history.comp_history) if (forcedDefault != null) // this argument sets defaults for non-user settable options (like extensions.history.comp_history)
defaultValue = forcedDefault; defaultValue = forcedDefault;
var branch = defaultBranch ? prefService.getDefaultBranch("") : prefService;
var type = prefService.getPrefType(name); var type = prefService.getPrefType(name);
try try
{ {
switch (type) switch (type)
{ {
case prefService.PREF_STRING: case prefService.PREF_STRING:
var value = prefService.getComplexValue(name, Components.interfaces.nsISupportsString).data; var value = branch.getComplexValue(name, Components.interfaces.nsISupportsString).data;
// Try in case it's a localized string (will throw an exception if not) // Try in case it's a localized string (will throw an exception if not)
if (!prefService.prefIsLocked(name) && !prefService.prefHasUserValue(name) && if (!prefService.prefIsLocked(name) && !prefService.prefHasUserValue(name) &&
/^chrome:\/\/.+\/locale\/.+\.properties/.test(value)) /^chrome:\/\/.+\/locale\/.+\.properties/.test(value))
value = prefService.getComplexValue(name, Components.interfaces.nsIPrefLocalizedString).data; value = branch.getComplexValue(name, Components.interfaces.nsIPrefLocalizedString).data;
return value; return value;
case prefService.PREF_INT: case prefService.PREF_INT:
return prefService.getIntPref(name); return branch.getIntPref(name);
case prefService.PREF_BOOL: case prefService.PREF_BOOL:
return prefService.getBoolPref(name); return branch.getBoolPref(name);
default: default:
return defaultValue; return defaultValue;
} }
@@ -311,7 +312,7 @@ vimperator.Options = function () //{{{
var list = ":" + vimperator.util.escapeHTML(vimperator.commandline.getCommand()) + "<br/>" + var list = ":" + vimperator.util.escapeHTML(vimperator.commandline.getCommand()) + "<br/>" +
"<table><tr align=\"left\" class=\"hl-Title\"><th>--- " + vimperator.config.hostApplication + "<table><tr align=\"left\" class=\"hl-Title\"><th>--- " + vimperator.config.hostApplication +
" Options ---</th></tr>"; " Options ---</th></tr>";
var name, value; var name, value, defaultValue;
for (var i = 0; i < prefArray.length; i++) for (var i = 0; i < prefArray.length; i++)
{ {
@@ -323,8 +324,8 @@ vimperator.Options = function () //{{{
if (typeof value == "string") if (typeof value == "string")
value = value.substr(0, 100).replace(/\n/g, " "); value = value.substr(0, 100).replace(/\n/g, " ");
value = vimperator.util.colorize(value, false); value = vimperator.util.colorize(value, true);
defaultValue = loadPreference(name, null); defaultValue = loadPreference(name, null, true);
if (defaultValue == null) if (defaultValue == null)
defaultValue = "no default"; defaultValue = "no default";