diff --git a/toolkit/components/viewconfig/content/config.js b/toolkit/components/viewconfig/content/config.js index 93b30349e2d..43bdbe44010 100644 --- a/toolkit/components/viewconfig/content/config.js +++ b/toolkit/components/viewconfig/content/config.js @@ -23,6 +23,7 @@ # Chip Clark # Seth Spitzer # Neil Rashbrook +# Mats Palmgren . # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or @@ -592,18 +593,26 @@ function ModifyPref(entry) if (!entry.valueCol && !gPromptService.select(window, title, entry.prefCol, 2, [false, true], check)) return false; gPrefBranch.setBoolPref(entry.prefCol, check.value); - } else { + } + else if (entry.typeCol == nsIPrefBranch.PREF_INT) { + var params = { windowTitle: title, + label: entry.prefCol, + value: entry.valueCol, + cancelled: true }; + window.openDialog("chrome://global/content/configIntValue.xul", "_blank", + "chrome,titlebar,centerscreen,modal", params); + if (params.cancelled) + return false; + gPrefBranch.setIntPref(entry.prefCol, params.value); + } + else { var result = { value: entry.valueCol }; var dummy = { value: 0 }; if (!gPromptService.prompt(window, title, entry.prefCol, result, null, dummy)) return false; - if (entry.typeCol == nsIPrefBranch.PREF_INT) { - gPrefBranch.setIntPref(entry.prefCol, parseInt(result.value, 10)); - } else { - var supportsString = Components.classes[nsSupportsString_CONTRACTID].createInstance(nsISupportsString); - supportsString.data = result.value; - gPrefBranch.setComplexValue(entry.prefCol, nsISupportsString, supportsString); - } + var supportsString = Components.classes[nsSupportsString_CONTRACTID].createInstance(nsISupportsString); + supportsString.data = result.value; + gPrefBranch.setComplexValue(entry.prefCol, nsISupportsString, supportsString); } gPrefService.savePrefFile(null); diff --git a/toolkit/components/viewconfig/content/configIntValue.xul b/toolkit/components/viewconfig/content/configIntValue.xul new file mode 100644 index 00000000000..b57d76b6288 --- /dev/null +++ b/toolkit/components/viewconfig/content/configIntValue.xul @@ -0,0 +1,106 @@ + +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is mozilla.org configuration viewer. +# +# The Initial Developer of the Original Code is +# Mats Palmgren . +# Portions created by the Initial Developer are Copyright (C) 2007 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + + + + + + + + + + + + + + + + + diff --git a/toolkit/components/viewconfig/jar.mn b/toolkit/components/viewconfig/jar.mn index d0c6af5b161..ea91c321518 100644 --- a/toolkit/components/viewconfig/jar.mn +++ b/toolkit/components/viewconfig/jar.mn @@ -1,3 +1,4 @@ toolkit.jar: *+ content/global/config.xul (content/config.xul) +*+ content/global/configIntValue.xul (content/configIntValue.xul) *+ content/global/config.js (content/config.js)