bug 184801 - home button tooltip not updated when changing the home page

git-svn-id: svn://10.0.0.236/trunk@150344 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ben%bengoodger.com 2003-12-16 00:37:01 +00:00
parent 27efcbe03a
commit 5c536b6175

View File

@ -146,24 +146,6 @@ function HandleBookmarkIcon(iconURL, addFlag)
} }
} }
function getHomePage()
{
var url;
try {
url = gPrefService.getComplexValue("browser.startup.homepage",
Components.interfaces.nsIPrefLocalizedString).data;
} catch (e) {
}
// use this if we can't find the pref
if (!url) {
var navigatorRegionBundle = document.getElementById("bundle_browser_region");
url = navigatorRegionBundle.getString("homePageDefault");
}
return url;
}
function UpdateBackForwardButtons() function UpdateBackForwardButtons()
{ {
var backBroadcaster = document.getElementById("Browser:Back"); var backBroadcaster = document.getElementById("Browser:Back");
@ -449,7 +431,8 @@ function delayedStartup()
// Initialize // Initialize
gFormFillPrefListener.toggleFormFill(); gFormFillPrefListener.toggleFormFill();
updateHomeTooltip(); pbi.addObserver(gHomeButton.prefDomain, gHomeButton, false);
gHomeButton.updateTooltip();
// Initialize Plugin Overrides // Initialize Plugin Overrides
const kOverridePref = "browser.download.pluginOverrideTypes"; const kOverridePref = "browser.download.pluginOverrideTypes";
@ -686,7 +669,7 @@ function BrowserReloadSkipCache()
function BrowserHome() function BrowserHome()
{ {
var homePage = getHomePage(); var homePage = gHomeButton.getHomePage();
loadOneOrMoreURIs(homePage); loadOneOrMoreURIs(homePage);
} }
@ -1900,7 +1883,7 @@ function BrowserToolboxCustomizeDone(aToolboxChanged)
gProxyButton = document.getElementById("page-proxy-button"); gProxyButton = document.getElementById("page-proxy-button");
gProxyFavIcon = document.getElementById("page-proxy-favicon"); gProxyFavIcon = document.getElementById("page-proxy-favicon");
gProxyDeck = document.getElementById("page-proxy-deck"); gProxyDeck = document.getElementById("page-proxy-deck");
updateHomeTooltip(); gHomeButton.updateTooltip();
window.XULBrowserWindow.init(); window.XULBrowserWindow.init();
} }
@ -2527,15 +2510,44 @@ function openPreferences()
"chrome,titlebar,resizable,modal"); "chrome,titlebar,resizable,modal");
} }
function updateHomeTooltip() var gHomeButton = {
{ prefDomain: "browser.startup.homepage",
var homeButton = document.getElementById("home-button"); observe: function (aSubject, aTopic, aPrefName)
if (homeButton) { {
var homePage = getHomePage(); if (aTopic != "nsPref:changed" || aPrefName != this.prefDomain)
homePage = homePage.replace(/\|/g,', '); return;
homeButton.setAttribute("tooltiptext", homePage);
this.updateTooltip();
},
updateTooltip: function ()
{
var homeButton = document.getElementById("home-button");
if (homeButton) {
var homePage = this.getHomePage();
homePage = homePage.replace(/\|/g,', ');
homeButton.setAttribute("tooltiptext", homePage);
}
},
getHomePage: function ()
{
var url;
try {
url = gPrefService.getComplexValue(this.prefDomain,
Components.interfaces.nsIPrefLocalizedString).data;
} catch (e) {
}
// use this if we can't find the pref
if (!url) {
var navigatorRegionBundle = document.getElementById("bundle_browser_region");
url = navigatorRegionBundle.getString("homePageDefault");
}
return url;
} }
} };
function nsContextMenu( xulMenu ) { function nsContextMenu( xulMenu ) {
this.target = null; this.target = null;