From d0ea43267cc2abe2ced80a96065ef5d5fc8280e2 Mon Sep 17 00:00:00 2001 From: "jaggernaut%netscape.com" Date: Thu, 14 Sep 2006 06:06:33 +0000 Subject: [PATCH] Bug 118835: add support for home page groups. r=law, sr=hewitt git-svn-id: svn://10.0.0.236/trunk@211297 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/suite/browser/navigator.js | 58 ++++++++++++++++++++--------- mozilla/suite/browser/navigator.xul | 4 ++ 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/mozilla/suite/browser/navigator.js b/mozilla/suite/browser/navigator.js index 30660228afe..79d2459d3fc 100644 --- a/mozilla/suite/browser/navigator.js +++ b/mozilla/suite/browser/navigator.js @@ -124,9 +124,7 @@ const gHomepagePrefListener = if (topic != "nsPref:changed") return; - var homePage = getHomePage(); - if (homePage) - setTooltipText("home-button", homePage); + updateHomeButtonTooltip(); } }; @@ -227,6 +225,22 @@ function contentAreaFrameFocus() } } +function updateHomeButtonTooltip() +{ + const XUL_NAMESPACE = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + var homePage = getHomePage(); + var tooltip = document.getElementById("home-button-tooltip-inner"); + + while (tooltip.firstChild) + tooltip.removeChild(tooltip.firstChild); + + for (var i in homePage) { + var label = document.createElementNS(XUL_NAMESPACE, "label"); + label.setAttribute("value", homePage[i]); + tooltip.appendChild(label); + } +} + //////////////////////////////// BOOKMARKS //////////////////////////////////// function UpdateBookmarksLastVisitedDate(event) @@ -290,18 +304,19 @@ function getBrowser() function getHomePage() { - var url; + var URIs = []; try { - url = pref.getComplexValue("browser.startup.homepage", - Components.interfaces.nsIPrefLocalizedString).data; - } catch (e) { + URIs[0] = pref.getComplexValue("browser.startup.homepage", + Components.interfaces.nsIPrefLocalizedString).data; + var count = pref.getIntPref("browser.startup.homepage.count"); + for (var i = 1; i < count; ++i) { + URIs[i] = pref.getComplexValue("browser.startup.homepage."+i, + Components.interfaces.nsIPrefLocalizedString).data; + } + } catch(e) { } - // use this if we can't find the pref - if (!url) - url = gNavigatorRegionBundle.getString("homePageDefault"); - - return url; + return URIs; } function UpdateBackForwardButtons() @@ -401,9 +416,7 @@ function Startup() // Do all UI building here: // set home button tooltip text - var homePage = getHomePage(); - if (homePage) - document.getElementById("home-button").setAttribute("tooltiptext", homePage); + updateHomeButtonTooltip(); // initialize observers and listeners window.XULBrowserWindow = new nsBrowserStatusHandler(); @@ -483,8 +496,12 @@ function Startup() var uriToLoad; // Check for window.arguments[0]. If present, use that for uriToLoad. - if ("arguments" in window && window.arguments.length >= 1 && window.arguments[0]) - uriToLoad = window.arguments[0]; + if ("arguments" in window && window.arguments.length >= 1 && window.arguments[0]) { + var uriArray = window.arguments[0].split('\n'); + uriToLoad = uriArray.splice(0, 1); + if (uriArray.length > 0) + window.setTimeout(function(arg) { for (var i in arg) gBrowser.addTab(arg[i]); }, 0, uriArray); + } if (uriToLoad && uriToLoad != "about:blank") { gURLBar.value = uriToLoad; @@ -701,7 +718,12 @@ function BrowserReloadSkipCache() function BrowserHome() { var homePage = getHomePage(); - loadURI(homePage); + if (homePage.length == 1) { + loadURI(homePage[0]); + } else { + for (var i in homePage) + gBrowser.addTab(homePage[i]); + } } function OpenBookmarkGroup(element, datasource) diff --git a/mozilla/suite/browser/navigator.xul b/mozilla/suite/browser/navigator.xul index 85083d999ce..52bb85b776c 100644 --- a/mozilla/suite/browser/navigator.xul +++ b/mozilla/suite/browser/navigator.xul @@ -245,9 +245,13 @@ Contributor(s): ondragexit="nsDragAndDrop.dragExit(event, personalToolbarDNDObserver); event.preventBubble()" ondragover="nsDragAndDrop.dragOver(event, personalToolbarDNDObserver); event.preventBubble()"> + + +