Bug 424281: Fix up openAdvancedPreferences() for modal prefs dialogs. r=gavin, a=damons

This commit is contained in:
dcamp@mozilla.com 2008-04-04 17:18:07 -07:00
Родитель 9b9db95b6a
Коммит e2aa101052
2 изменённых файлов: 20 добавлений и 20 удалений

Просмотреть файл

@ -370,7 +370,7 @@ function openAboutDialog()
#endif
}
function openPreferences(paneID)
function openPreferences(paneID, extraArgs)
{
var instantApply = getBoolPref("browser.preferences.instantApply", false);
var features = "chrome,titlebar,toolbar,centerscreen" + (instantApply ? ",dialog=no" : ",modal");
@ -384,28 +384,22 @@ function openPreferences(paneID)
var pane = win.document.getElementById(paneID);
win.document.documentElement.showPane(pane);
}
if (extraArgs && extraArgs["advancedTab"]) {
var advancedPaneTabs = win.document.getElementById("advancedPrefs");
advancedPaneTabs.selectedTab = win.document.getElementById(extraArgs["advancedTab"]);
}
return win;
}
return openDialog("chrome://browser/content/preferences/preferences.xul",
"Preferences", features, paneID);
"Preferences", features, paneID, extraArgs);
}
function openAdvancedPreferences(tabID)
{
var win = openPreferences("paneAdvanced");
if (win) {
var selectTab = function() {
var tabs = win.document.getElementById("advancedPrefs");
tabs.selectedTab = win.document.getElementById(tabID);
}
if (win.document.getElementById("advancedPrefs")) {
selectTab();
} else {
win.addEventListener("load", selectTab, false);
}
}
return openPreferences("paneAdvanced", { "advancedTab" : tabID });
}
/**

Просмотреть файл

@ -50,11 +50,17 @@ var gAdvancedPane = {
{
this._inited = true;
var advancedPrefs = document.getElementById("advancedPrefs");
var preference = document.getElementById("browser.preferences.advanced.selectedTabIndex");
if (preference.value === null)
return;
advancedPrefs.selectedIndex = preference.value;
var extraArgs = window.arguments[1];
if (extraArgs && extraArgs["advancedTab"]){
advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]);
} else {
var preference = document.getElementById("browser.preferences.advanced.selectedTabIndex");
if (preference.value === null)
return;
advancedPrefs.selectedIndex = preference.value;
}
this.updateAppUpdateItems();
this.updateAutoItems();
this.updateModeItems();