Index: suite/browser/browser-prefs.js
===================================================================
RCS file: /cvsroot/mozilla/suite/browser/browser-prefs.js,v
retrieving revision 1.70
diff -u -8 -p -r1.70 browser-prefs.js
--- suite/browser/browser-prefs.js 15 Nov 2007 23:35:37 -0000 1.70
+++ suite/browser/browser-prefs.js 16 Nov 2007 12:24:58 -0000
@@ -77,19 +77,17 @@ pref("browser.urlbar.matchOnlyTyped", fa
pref("browser.chrome.site_icons", true);
pref("browser.chrome.favicons", false);
pref("browser.chrome.image_icons.max_size", 1024);
// 0 = never, 1 = when in cache, 2 = always
pref("browser.chrome.load_toolbar_icons", 0);
-pref("browser.toolbars.showbutton.bookmarks", true);
pref("browser.toolbars.showbutton.go", false);
-pref("browser.toolbars.showbutton.home", true);
pref("browser.toolbars.showbutton.print", true);
pref("browser.toolbars.showbutton.search", true);
pref("browser.download.progressDnldDialog.keepAlive", true); // keep the dnload progress dialog up after dnload is complete
pref("browser.download.progressDnldDialog.enable_launch_reveal_buttons", true);
pref("browser.download.progressDnlgDialog.dontAskForLaunch", false);
pref("browser.download.finished_download_sound", false);
pref("browser.download.finished_download_alert", false);
Index: suite/browser/browser.js
===================================================================
RCS file: /cvsroot/mozilla/suite/browser/browser.js,v
retrieving revision 1.43
diff -u -8 -p -r1.43 browser.js
--- suite/browser/browser.js 13 Oct 2007 16:57:53 -0000 1.43
+++ suite/browser/browser.js 1 Nov 2007 06:40:22 -0000
@@ -38,16 +38,17 @@
*
* ***** END LICENSE BLOCK ***** */
const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
var gPrintSettingsAreGlobal = true;
var gSavePrintSettings = true;
var gChromeState = null; // chrome state before we went into print preview
var gInPrintPreviewMode = false;
+var gNavToolbox = null;
function getWebNavigation()
{
try {
return getBrowser().webNavigation;
} catch (e) {
return null;
}
@@ -84,18 +85,17 @@ function toggleAffectedChrome(aHide)
// (*) tab browser ``strip''
// (*) sidebar
// (*) statusbar
if (!gChromeState)
gChromeState = new Object;
var statusbar = document.getElementById("status-bar");
- var navToolbox = document.getElementById("navigator-toolbox");
- navToolbox.hidden = aHide;
+ getNavToolbox().hidden = aHide;
var theTabbrowser = document.getElementById("content");
var notificationBox = gBrowser.getNotificationBox();
// sidebar states map as follows:
// was-hidden => hide/show nothing
// was-collapsed => hide/show only the splitter
// was-shown => hide/show the splitter and the box
if (aHide)
@@ -158,19 +158,23 @@ function onEnterPrintPreview()
function onExitPrintPreview()
{
gInPrintPreviewMode = false;
// restore chrome to original state
toggleAffectedChrome(false);
}
+// XXXRatty: If viewSource gets a print preview (with toolbar)
+// getNavToolbox() will need to be fixed.
function getNavToolbox()
{
- return document.getElementById("navigator-toolbox");
+ if (!gNavToolbox)
+ gNavToolbox = document.getElementById("navigator-toolbox");
+ return gNavToolbox;
}
function getPPBrowser()
{
return document.getElementById("browser");
}
function BrowserPrintPreview()
Index: suite/browser/fullScreen.js
===================================================================
RCS file: /cvsroot/mozilla/suite/browser/fullScreen.js,v
retrieving revision 1.4
diff -u -8 -p -r1.4 fullScreen.js
--- suite/browser/fullScreen.js 14 Jan 2007 05:31:43 -0000 1.4
+++ suite/browser/fullScreen.js 8 Nov 2007 13:28:08 -0000
@@ -36,57 +36,80 @@
*
* ***** END LICENSE BLOCK ***** */
var FullScreen =
{
toggle: function()
{
// show/hide all menubars, toolbars, and statusbars (except the full screen toolbar)
- this.showXULChrome("menubar", window.fullScreen);
this.showXULChrome("toolbar", window.fullScreen);
this.showXULChrome("statusbar", window.fullScreen);
},
showXULChrome: function(aTag, aShow)
{
var XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var els = document.getElementsByTagNameNS(XULNS, aTag);
-
+
var i;
for (i = 0; i < els.length; ++i) {
// XXX don't interfere with previously collapsed toolbars
if (els[i].getAttribute("fullscreentoolbar") == "true") {
- this.setToolbarButtonMode(els[i], aShow ? "" : "small");
+ if (!aShow) {
+ var toolbarMode = els[i].getAttribute("mode");
+ if (toolbarMode != "text") {
+ els[i].setAttribute("saved-mode", toolbarMode);
+ els[i].setAttribute("saved-iconsize",
+ els[i].getAttribute("iconsize"));
+ els[i].setAttribute("mode", "icons");
+ els[i].setAttribute("iconsize", "small");
+ }
+
+ // XXX See bug 202978: we disable the context menu
+ // to prevent customization while in fullscreen, which
+ // causes menu breakage.
+ els[i].setAttribute("saved-context",
+ els[i].getAttribute("context"));
+ els[i].removeAttribute("context");
+
+ // Set the inFullscreen attribute to allow specific styling
+ // in fullscreen mode
+ els[i].setAttribute("inFullscreen", true);
+ }
+ else {
+ function restoreAttr(attrName) {
+ var savedAttr = "saved-" + attrName;
+ if (els[i].hasAttribute(savedAttr)) {
+ var savedValue = els[i].getAttribute(savedAttr);
+ els[i].setAttribute(attrName, savedValue);
+ els[i].removeAttribute(savedAttr);
+ }
+ }
+
+ restoreAttr("mode");
+ restoreAttr("iconsize");
+ restoreAttr("context"); // XXX see above
+
+ els[i].removeAttribute("inFullscreen");
+ }
} else {
// use moz-collapsed so it doesn't persist hidden/collapsed,
// so that new windows don't have missing toolbars
if (aShow)
els[i].removeAttribute("moz-collapsed");
else
els[i].setAttribute("moz-collapsed", "true");
}
}
-
+
+ var toolbox = getNavToolbox();
+ if (aShow)
+ toolbox.removeAttribute("inFullscreen");
+ else
+ toolbox.setAttribute("inFullscreen", true);
+
var controls = document.getElementsByAttribute("fullscreencontrol", "true");
for (i = 0; i < controls.length; ++i)
controls[i].hidden = aShow;
- },
-
- setToolbarButtonMode: function(aToolbar, aMode)
- {
- aToolbar.setAttribute("toolbarmode", aMode);
- this.setToolbarButtonModeFor(aToolbar, "toolbarbutton", aMode);
- this.setToolbarButtonModeFor(aToolbar, "button", aMode);
- this.setToolbarButtonModeFor(aToolbar, "textbox", aMode);
- },
-
- setToolbarButtonModeFor: function(aToolbar, aTag, aMode)
- {
- var XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
- var els = aToolbar.getElementsByTagNameNS(XULNS, aTag);
-
- for (var i = 0; i < els.length; ++i) {
- els[i].setAttribute("toolbarmode", aMode);
- }
}
-
+
};
Index: suite/browser/navigator.js
===================================================================
RCS file: /cvsroot/mozilla/suite/browser/navigator.js,v
retrieving revision 1.614
diff -u -8 -p -r1.614 navigator.js
--- suite/browser/navigator.js 30 Sep 2007 19:36:28 -0000 1.614
+++ suite/browser/navigator.js 15 Nov 2007 07:58:48 -0000
@@ -72,40 +72,32 @@ var gFocusedDocument = null;
const gButtonPrefListener =
{
domain: "browser.toolbars.showbutton",
init: function()
{
var array = pref.getChildList(this.domain, {});
for (var i in array)
this.updateButton(array[i]);
- this.updateSeparator();
},
observe: function(subject, topic, prefName)
{
// verify that we're changing a button pref
if (topic != "nsPref:changed")
return;
this.updateButton(prefName);
- this.updateSeparator();
},
updateButton: function(prefName)
{
var buttonName = prefName.substr(this.domain.length+1);
var buttonId = buttonName + "-button";
var button = document.getElementById(buttonId);
if (button)
button.hidden = !pref.getBoolPref(prefName);
- },
- updateSeparator: function()
- {
- // If all buttons before the separator are hidden, also hide the separator
- var separator = document.getElementById("home-bm-separator");
- separator.hidden = allLeftButtonsAreHidden();
}
};
const gTabStripPrefListener =
{
domain: "browser.tabs.autoHide",
observe: function(subject, topic, prefName)
{
@@ -393,31 +385,16 @@ function UpdateBackForwardButtons()
if (upDisabled != !browser.currentURI.spec.replace(/[#?].*$/, "").match(/\/[^\/]+\/./)) {
if (upDisabled)
upBroadcaster.removeAttribute("disabled");
else
upBroadcaster.setAttribute("disabled", true);
}
}
-// Function allLeftButtonsAreHidden
-// Returns true if all the buttons left of the separator in the personal
-// toolbar are hidden, false otherwise.
-// Used by nsButtonPrefListener to hide the separator if needed
-function allLeftButtonsAreHidden()
-{
- var buttonNode = document.getElementById("home-bm-separator").previousSibling;
- while (buttonNode) {
- if (buttonNode.localName != "tooltip" && !buttonNode.hidden)
- return false;
- buttonNode = buttonNode.previousSibling;
- }
- return true;
-}
-
const gTabOpenObserver = {
observe: function(subject, topic, data)
{
if (topic != "open-new-tab-request" || subject != window)
return;
delayedOpenTab(data);
}
@@ -644,17 +621,18 @@ function Startup()
if (/^\s*$/.test(uriToLoad))
uriToLoad = "about:blank";
var browser = getBrowser();
browser.popupDomain = null;
browser.popups = [];
if (uriToLoad != "about:blank") {
- gURLBar.value = uriToLoad;
+ if (gURLBar)
+ gURLBar.value = uriToLoad;
browser.userTypedValue = uriToLoad;
if ("arguments" in window && window.arguments.length >= 4) {
loadURI(uriToLoad, window.arguments[2], window.arguments[3]);
} else if ("arguments" in window && window.arguments.length == 3) {
loadURI(uriToLoad, window.arguments[2]);
} else {
loadURI(uriToLoad);
}
@@ -663,17 +641,18 @@ function Startup()
// Focus the content area unless we're loading a blank page, or if
// we weren't passed any arguments. This "breaks" the
// javascript:window.open(); case where we don't get any arguments
// either, but we're loading about:blank, but focusing the content
// are is arguably correct in that case as well since the opener
// is very likely to put some content in the new window, and then
// the focus should be in the content area.
var navBar = document.getElementById("nav-bar");
- if ("arguments" in window && uriToLoad == "about:blank" && !navBar.hidden && window.locationbar.visible)
+ if ("arguments" in window && uriToLoad == "about:blank"
+ && gURLBar && isElementVisible(gURLBar))
setTimeout(WindowFocusTimerCallback, 0, gURLBar);
else
setTimeout(WindowFocusTimerCallback, 0, content);
// Perform default browser checking (after window opens).
setTimeout( checkForDefaultBrowser, 0 );
// hook up browser access support
@@ -708,16 +687,20 @@ function Startup()
// BiDi UI
gShowBiDi = isBidiEnabled();
if (gShowBiDi) {
document.getElementById("documentDirection-swap").hidden = false;
document.getElementById("textfieldDirection-separator").hidden = false;
document.getElementById("textfieldDirection-swap").hidden = false;
}
+ // Before and after callbacks for the customizeToolbar code
+ getNavToolbox().customizeInit = BrowserToolboxCustomizeInit;
+ getNavToolbox().customizeDone = BrowserToolboxCustomizeDone;
+
// now load bookmarks after a delay
setTimeout(LoadBookmarksCallback, 0);
}
function LoadBookmarksCallback()
{
// loads the services
initServices();
@@ -1081,17 +1064,17 @@ function getSearchUrl(attr)
}
function QualifySearchTerm()
{
// If the text in the URL bar is the same as the currently loaded
// page's URL then treat this as an empty search term. This way
// the user is taken to the search page where s/he can enter a term.
if (gBrowser.userTypedValue !== null)
- return document.getElementById("urlbar").value;
+ return gURLBar.value;
return "";
}
function OpenSearch(tabName, searchStr, newWindowOrTabFlag, reverseBackgroundPref)
{
//This function needs to be split up someday.
var autoOpenSearchPanel = false;
@@ -1306,17 +1289,17 @@ function BrowserOpenTab()
break;
}
} catch(e) {
uriToLoad = "about:blank";
}
gBrowser.selectedTab = gBrowser.addTab(uriToLoad);
var navBar = document.getElementById("nav-bar");
- if (uriToLoad == "about:blank" && !navBar.hidden && window.locationbar.visible)
+ if (uriToLoad == "about:blank" && gURLBar && isElementVisible(gURLBar))
setTimeout("gURLBar.focus();", 0);
else
setTimeout("content.focus();", 0);
}
}
/* Show file picker dialog configured for opening a file, and return
* the selected nsIFileURL instance. */
@@ -2077,34 +2060,48 @@ function checkForDefaultBrowser()
// integration dialog may have come up.
SidebarRebuild();
}
}
}
function ShowAndSelectContentsOfURLBar()
{
- var navBar = document.getElementById("nav-bar");
-
- // If it's hidden, show it.
- if (navBar.getAttribute("hidden") == "true")
- goToggleToolbar('nav-bar','cmd_viewnavbar');
+ if (!gURLBar) {
+ BrowserOpenWindow();
+ return;
+ }
- if (gURLBar.value)
- gURLBar.select();
- else
- gURLBar.focus();
+ var toolbar = gURLBar.parentNode;
+ while (toolbar && toolbar.localName != "toolbar") {
+ toolbar = toolbar.parentNode;
+ }
+
+ // If the containing toolbar is hidden, show it.
+ if (toolbar.getAttribute("hidden") == "true") {
+ var navBar = document.getElementById("nav-bar");
+ var command = toolbar == navBar ? "cmd_viewnavbar" : null;
+ goToggleToolbar(toolbar.id, command );
+ }
+
+ if (!gURLBar.readOnly) { // XXXRatty: why does Firefox check .readOnly?
+ if (gURLBar.value)
+ gURLBar.select();
+ else
+ gURLBar.focus();
+ return;
+ }
}
// If "ESC" is pressed in the url bar, we replace the urlbar's value with the url of the page
// and highlight it, unless it is about:blank, where we reset it to "".
function handleURLBarRevert()
{
var url = getWebNavigation().currentURI.spec;
- var throbberElement = document.getElementById("navigator-throbber");
+ var throbberElement = document.getElementById("throbber-broadcaster");
var isScrolling = gURLBar.userAction == "scrolling";
// don't revert to last valid url unless page is NOT loading
// and user is NOT key-scrolling through autocomplete list
if (!throbberElement.hasAttribute("busy") && !isScrolling) {
if (url != "about:blank" || content.opener) {
gURLBar.value = url;
@@ -2137,16 +2134,19 @@ function handleURLBarCommand(aUserAction
function UpdatePageProxyState()
{
if (gURLBar.value != gLastValidURLStr)
SetPageProxyState("invalid", null);
}
function SetPageProxyState(aState, aURI)
{
+ if (!gURLBar)
+ return;
+
if (!gProxyButton)
gProxyButton = document.getElementById("page-proxy-button");
if (!gProxyFavIcon)
gProxyFavIcon = document.getElementById("page-proxy-favicon");
if (!gProxyDeck)
gProxyDeck = document.getElementById("page-proxy-deck");
gProxyButton.setAttribute("pageproxystate", aState);
@@ -2614,8 +2614,64 @@ function convertFromUnicode(charset, str
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
unicodeConverter.charset = charset;
str = unicodeConverter.ConvertFromUnicode(str);
return str + unicodeConverter.Finish();
} catch(ex) {
return null;
}
}
+
+function BrowserToolboxCustomizeInit()
+{
+ // Disable the toolbar context menu items
+ var menubar = document.getElementById("main-menubar");
+ for (var i = 0; i < menubar.childNodes.length; ++i)
+ menubar.childNodes[i].setAttribute("disabled", true);
+
+ var cmd = document.getElementById("cmd_CustomizeToolbars");
+ cmd.setAttribute("disabled", "true");
+}
+
+function BrowserToolboxCustomizeDone(aToolboxChanged)
+{
+ // Update global UI elements that may have been added or removed
+ if (aToolboxChanged) {
+ gURLBar = document.getElementById("urlbar");
+ gProxyButton = document.getElementById("page-proxy-button");
+ gProxyFavIcon = document.getElementById("page-proxy-favicon");
+ gProxyDeck = document.getElementById("page-proxy-deck");
+
+ // From window.XULBrowserWindow.init();
+ window.XULBrowserWindow.urlBar = document.getElementById("urlbar");
+ window.XULBrowserWindow.throbberElement = document.getElementById("throbber-broadcaster");
+ window.XULBrowserWindow.stopButton = document.getElementById("stop-button");
+ updateHomeButtonTooltip();
+ }
+ //XXXRatty: find a better place to put this.
+ getNavToolbox().updateCustomToolbarModes();
+
+ // Re-enable parts of the UI we disabled during the dialog
+ var menubar = document.getElementById("main-menubar");
+ for (var i = 0; i < menubar.childNodes.length; ++i)
+ menubar.childNodes[i].setAttribute("disabled", false);
+ var cmd = document.getElementById("cmd_CustomizeToolbars");
+ cmd.removeAttribute("disabled");
+
+ // fix up the personal toolbar folder
+ var bt = document.getElementById("bookmarks-ptf");
+ if (bt) {
+ var btchevron = document.getElementById("bookmarks-chevron");
+ // no uniqueness is guaranteed, so we have to remove first
+ try {
+ bt.database.RemoveObserver(BookmarksToolbarRDFObserver);
+ } catch (ex) {
+ // ignore
+ }
+ bt.database.AddObserver(BookmarksToolbarRDFObserver);
+ bt.builder.rebuild();
+ btchevron.builder.rebuild();
+
+ // fake a resize; this function takes care of flowing bookmarks
+ // from the bar to the overflow item
+ BookmarksToolbar.resizeFunc(null);
+ }
+}
Index: suite/browser/navigator.xul
===================================================================
RCS file: /cvsroot/mozilla/suite/browser/navigator.xul,v
retrieving revision 1.453
diff -u -8 -p -r1.453 navigator.xul
--- suite/browser/navigator.xul 7 Sep 2007 22:45:46 -0000 1.453
+++ suite/browser/navigator.xul 15 Nov 2007 07:57:06 -0000
@@ -107,234 +107,290 @@
-
+
-
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ fullscreentoolbar="true" customizable="true"
+ toolbarname="&navbarCmd.label;" accesskey="&navbarCmd.accesskey;"
+ defaultset="back-button,forward-button,reload-button,stop-button,urlbar-container,print-button,throbber-box,window-controls"
+ mode="icons"
+ context="toolbar-context-menu">
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ onmouseover="BookmarksToolbar.autoOpenMenu(event.target);"
+ onpopupshowing="BookmarksToolbar.onMenuOpen(event.target);"
+ onpopuphidden="BookmarksToolbar.onMenuClose(event.target);"
+ ondraggesture="if (event.target.id!='bookmarks-button') nsDragAndDrop.startDrag(event, BookmarksMenuDNDObserver); event.stopPropagation()"
+ ondragdrop="nsDragAndDrop.drop(event, BookmarksMenuDNDObserver); event.stopPropagation()"
+ ondragenter="nsDragAndDrop.dragEnter(event, BookmarksMenuDNDObserver); event.stopPropagation()"
+ ondragexit="nsDragAndDrop.dragExit(event, BookmarksMenuDNDObserver); event.stopPropagation()"
+ ondragover="nsDragAndDrop.dragOver(event, BookmarksMenuDNDObserver); event.stopPropagation()">
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: suite/browser/nsBrowserStatusHandler.js
===================================================================
RCS file: /cvsroot/mozilla/suite/browser/nsBrowserStatusHandler.js,v
retrieving revision 1.72
diff -u -8 -p -r1.72 nsBrowserStatusHandler.js
--- suite/browser/nsBrowserStatusHandler.js 23 Jul 2007 20:43:28 -0000 1.72
+++ suite/browser/nsBrowserStatusHandler.js 15 Nov 2007 07:56:56 -0000
@@ -59,17 +59,17 @@ nsBrowserStatusHandler.prototype =
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
},
init : function()
{
this.urlBar = document.getElementById("urlbar");
- this.throbberElement = document.getElementById("navigator-throbber");
+ this.throbberElement = document.getElementById("throbber-broadcaster");
this.statusMeter = document.getElementById("statusbar-icon");
this.statusPanel = document.getElementById("progress-panel");
this.stopButton = document.getElementById("stop-button");
this.stopMenu = document.getElementById("menuitem-stop");
this.stopContext = document.getElementById("context-stop");
this.statusTextField = document.getElementById("statusbar-display");
this.isImage = document.getElementById("isImage");
this.securityButton = document.getElementById("security-button");
@@ -187,17 +187,18 @@ nsBrowserStatusHandler.prototype =
this.startDocumentLoad(aRequest);
// Show the progress meter
this.statusPanel.hidden = false;
// Turn the throbber on.
this.throbberElement.setAttribute("busy", "true");
// XXX: These need to be based on window activity...
- this.stopButton.disabled = false;
+ if (this.stopButton)
+ this.stopButton.disabled = false;
this.stopMenu.removeAttribute('disabled');
this.stopContext.removeAttribute('disabled');
}
else if (aStateFlags & nsIWebProgressListener.STATE_STOP) {
if (aStateFlags & nsIWebProgressListener.STATE_IS_NETWORK) {
if (aRequest) {
if (aWebProgress.DOMWindow == content)
this.endDocumentLoad(aRequest, aStatus);
@@ -242,17 +243,18 @@ nsBrowserStatusHandler.prototype =
// Turn the progress meter and throbber off.
this.statusPanel.hidden = true;
this.statusMeter.value = 0; // be sure to clear the progress bar
this.throbberElement.removeAttribute("busy");
// XXX: These need to be based on window activity...
// XXXjag: ?
- this.stopButton.disabled = true;
+ if (this.stopButton)
+ this.stopButton.disabled = true;
this.stopMenu.setAttribute('disabled', 'true');
this.stopContext.setAttribute('disabled', 'true');
}
},
onLocationChange : function(aWebProgress, aRequest, aLocation)
{
if (gContextMenu) {
@@ -329,28 +331,29 @@ nsBrowserStatusHandler.prototype =
// Update urlbar only if a new page was loaded on the primary content area
// Do not update urlbar if there was a subframe navigation
var browser = getBrowser().selectedBrowser;
if (aWebProgress.DOMWindow == content) {
// The document loaded correctly, clear the value if we should
if (browser.userTypedClear > 0)
browser.userTypedValue = null;
-
- var userTypedValue = browser.userTypedValue;
- if (userTypedValue === null) {
- this.urlBar.value = location;
- SetPageProxyState("valid", aLocation);
-
- // Setting the urlBar value in some cases causes userTypedValue to
- // become set because of oninput, so reset it to null
- browser.userTypedValue = null;
- } else {
- this.urlBar.value = userTypedValue;
- SetPageProxyState("invalid", null);
+ if (this.urlBar) {
+ var userTypedValue = browser.userTypedValue;
+ if (userTypedValue === null) {
+ this.urlBar.value = location;
+ SetPageProxyState("valid", aLocation);
+
+ // Setting the urlBar value in some cases causes userTypedValue to
+ // become set because of oninput, so reset it to null
+ browser.userTypedValue = null;
+ } else {
+ this.urlBar.value = userTypedValue;
+ SetPageProxyState("invalid", null);
+ }
}
}
UpdateBackForwardButtons();
var blank = (location == "about:blank") || (location == "");
//clear popupDomain accordingly so that icon will go away when visiting
//an unblocked site after a blocked site. note: if a popup is blocked
@@ -387,41 +390,47 @@ nsBrowserStatusHandler.prototype =
{
const wpl = Components.interfaces.nsIWebProgressListener;
const wpl_security_bits = wpl.STATE_IS_SECURE |
wpl.STATE_IS_BROKEN |
wpl.STATE_IS_INSECURE |
wpl.STATE_SECURE_HIGH |
wpl.STATE_SECURE_MED |
wpl.STATE_SECURE_LOW;
+ var level = null;
/* aState is defined as a bitmask that may be extended in the future.
* We filter out any unknown bits before testing for known values.
*/
switch (aState & wpl_security_bits) {
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_HIGH:
- this.securityButton.setAttribute("level", "high");
- this.urlBar.setAttribute("level", "high");
+ level = "high";
break;
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_MED:
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_LOW:
- this.securityButton.setAttribute("level", "low");
- this.urlBar.setAttribute("level", "low");
+ level = "low";
break;
case wpl.STATE_IS_BROKEN:
- this.securityButton.setAttribute("level", "broken");
- this.urlBar.setAttribute("level", "broken");
+ level = "broken";
break;
case wpl.STATE_IS_INSECURE:
default:
- this.securityButton.removeAttribute("level");
- this.urlBar.removeAttribute("level");
break;
}
+ if (level) {
+ this.securityButton.setAttribute("level", level);
+ if (this.urlBar)
+ this.urlBar.setAttribute("level", level);
+ } else {
+ this.securityButton.removeAttribute("level");
+ if (this.urlBar)
+ this.urlBar.removeAttribute("level");
+ }
+
var securityUI = getBrowser().securityUI;
if (securityUI)
this.securityButton.setAttribute("tooltiptext", securityUI.tooltipText);
else
this.securityButton.removeAttribute("tooltiptext");
},
startDocumentLoad : function(aRequest)
Index: suite/common/communicator.css
===================================================================
RCS file: /cvsroot/mozilla/suite/common/communicator.css,v
retrieving revision 1.5
diff -u -8 -p -r1.5 communicator.css
--- suite/common/communicator.css 27 Oct 2007 20:08:43 -0000 1.5
+++ suite/common/communicator.css 13 Nov 2007 12:56:52 -0000
@@ -55,20 +55,33 @@ toolbar[printpreview="true"] {
toolbox[xpfe="false"] {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbox");
}
toolbar[xpfe="false"] {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar");
}
-menubar[xpfe="false"] {
+menubar[xpfe="false"],
+toolbar > toolbaritem > menubar {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar");
}
+toolbar > toolbarpaletteitem > toolbaritem > menubar {
+ -moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar") !important;
+}
+
+.menubar-items {
+ -moz-box-orient: vertical; /* for flex hack */
+}
+
+.menubar-items > menubar {
+ -moz-box-flex: 1; /* make menu items expand to fill toolbar height */
+}
+
prefwindow[xpfe="false"] {
-moz-binding: url("chrome://global/content/bindings/preferences.xml#prefwindow");
}
prefpane[xpfe="false"] {
-moz-binding: url("chrome://global/content/bindings/preferences.xml#prefpane");
}
Index: suite/common/utilityOverlay.js
===================================================================
RCS file: /cvsroot/mozilla/suite/common/utilityOverlay.js,v
retrieving revision 1.103
diff -u -8 -p -r1.103 utilityOverlay.js
--- suite/common/utilityOverlay.js 27 Oct 2007 20:08:43 -0000 1.103
+++ suite/common/utilityOverlay.js 15 Nov 2007 06:45:32 -0000
@@ -283,19 +283,138 @@ function goToggleToolbar( id, elementID
else
{
toolbar.setAttribute("hidden", true );
if ( element )
element.setAttribute("checked","false")
}
document.persist(id, 'hidden');
document.persist(elementID, 'checked');
+
+ if (toolbar.hasAttribute("customindex"))
+ getNavToolbox().setLocalToolbarMode(toolbar, "hidden", toolbar.getAttribute("hidden"));
}
}
+function goCustomizeToolbar()
+{
+ /* If the gToolbox has a method "customizeInit" then call it first.
+ The optional "customizeDone" method will be invoked by the callback
+ from the Customize Window so we don't need to take care of that */
+ if ("customizeInit" in getNavToolbox())
+ getNavToolbox().customizeInit();
+ window.openDialog("chrome://global/content/customizeToolbar.xul",
+ "",
+ "chrome,all,dependent",
+ getNavToolbox());
+}
+
+function onViewToolbarsPopupShowing(aEvent)
+{
+ var popup = aEvent.target;
+ var i;
+
+ // Empty the menu
+ for (i = popup.childNodes.length-1; i >= 0; --i) {
+ var deadItem = popup.childNodes[i];
+ if (deadItem.hasAttribute("toolbarid"))
+ popup.removeChild(deadItem);
+ }
+
+ var firstMenuItem = popup.firstChild;
+
+ var toolbox = getNavToolbox();
+ for (i = 0; i < toolbox.childNodes.length; ++i) {
+ var toolbar = toolbox.childNodes[i];
+ var toolbarName = toolbar.getAttribute("toolbarname");
+ if (toolbarName) {
+ var menuItem = document.createElement("menuitem");
+ menuItem.setAttribute("toolbarid", toolbar.id);
+ menuItem.setAttribute("type", "checkbox");
+ menuItem.setAttribute("label", toolbarName);
+ menuItem.setAttribute("accesskey", toolbar.getAttribute("accesskey"));
+ menuItem.setAttribute("checked", toolbar.getAttribute("hidden") != "true");
+ popup.insertBefore(menuItem, firstMenuItem);
+
+ menuItem.addEventListener("command", onViewToolbarCommand, false);
+ }
+ }
+ var toolbar = document.popupNode;
+ while (toolbar.localName != "toolbar")
+ toolbar = toolbar.parentNode;
+
+ var mode = toolbar.getAttribute("mode");
+ var modePopup = document.getElementById("toolbarmodePopup");
+
+ for (i = 0; i < modePopup.childNodes.length; ++i) {
+ var radio = modePopup.childNodes[i];
+ if(radio.value == mode) {
+ radio.setAttribute("checked", "true");
+ break;
+ }
+ }
+
+ var small = toolbar.getAttribute("iconsize") == "small";
+ var smallicons = document.getElementById("toolbarmode-smallicons");
+ smallicons.setAttribute("checked", small);
+ mode == "text" ? smallicons.setAttribute("disabled", true) :
+ smallicons.removeAttribute("disabled");
+
+ var custom = false;
+ if (toolbar.hasAttribute("customindex")) {
+ var toolbarName = toolbar.getAttribute("toolbarname").replace(" ", "_");
+ var toolbarset = toolbox.toolbarset;
+ custom = toolbarset.getAttribute("toolbarlocalmode" + toolbarName) ||
+ toolbarset.getAttribute("toolbarlocaliconsize" + toolbarName);
+ }
+ else {
+ custom = toolbar.getAttribute("toolbarlocalmode") ||
+ toolbar.getAttribute("toolbarlocaliconsize");
+ }
+ var global = document.getElementById("toolbarmode-global");
+ global.setAttribute("checked", !custom);
+ global.setAttribute("disabled", !custom);
+}
+
+function onViewToolbarCommand(aEvent)
+{
+ var element;
+ var toolbar = aEvent.originalTarget.getAttribute("toolbarid");
+ switch (toolbar) {
+ case "nav-bar":
+ element = "cmd_viewnavbar";
+ break;
+ case "PersonalToolbar":
+ element = "cmd_viewpersonaltoolbar";
+ break;
+ }
+ goToggleToolbar(toolbar, element);
+}
+
+function goSetToolbarState(aEvent)
+{
+ var toolbox = getNavToolbox();
+ var toolbar = document.popupNode;
+ while(toolbar.localName != "toolbar") toolbar = toolbar.parentNode;
+
+ var target = aEvent.originalTarget;
+ var mode = target.value;
+ var radiogroup = target.getAttribute("name");
+
+ if(mode == "smallicons") {
+ var size = target.getAttribute("checked") == "true" ? "small" : "large";
+ toolbox.setLocalToolbarMode(toolbar, "iconsize", size);
+ }
+ else if(mode == "global") {
+ var global = target.getAttribute("checked") == "true";
+ toolbox.resetToolbarModes(toolbar);
+ }
+ else if(radiogroup == "mode")
+ toolbox.setLocalToolbarMode(toolbar, "mode", mode);
+}
function goClickThrobber( urlPref )
{
var url;
try {
var pref = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
url = pref.getComplexValue(urlPref, Components.interfaces.nsIPrefLocalizedString).data;
@@ -611,8 +730,19 @@ function validateFileName(aFileName)
aFileName = aFileName.replace(/[\<]+/g, "(");
aFileName = aFileName.replace(/[\>]+/g, ")");
}
else if (navigator.appVersion.indexOf("Macintosh") != -1)
re = /[\:\/]+/g;
return aFileName.replace(re, "_");
}
+
+function isElementVisible(aElement)
+{
+ if (!aElement)
+ return false;
+
+ // If aElement or a direct or indirect parent is hidden or collapsed,
+ // height, width or both will be 0.
+ var bo = aElement.boxObject;
+ return (bo.height > 0 && bo.width > 0);
+}
Index: suite/common/utilityOverlay.xul
===================================================================
RCS file: /cvsroot/mozilla/suite/common/utilityOverlay.xul,v
retrieving revision 1.54
diff -u -8 -p -r1.54 utilityOverlay.xul
--- suite/common/utilityOverlay.xul 26 Oct 2007 20:20:34 -0000 1.54
+++ suite/common/utilityOverlay.xul 1 Nov 2007 08:02:34 -0000
@@ -57,16 +57,55 @@
+
+
@@ -220,16 +259,17 @@
+
Index: suite/common/bindings/toolbar.xml
===================================================================
RCS file: /cvsroot/mozilla/suite/common/bindings/toolbar.xml,v
retrieving revision 1.34
diff -u -8 -p -r1.34 toolbar.xml
--- suite/common/bindings/toolbar.xml 28 Sep 2007 19:11:51 -0000 1.34
+++ suite/common/bindings/toolbar.xml 15 Nov 2007 06:20:52 -0000
@@ -72,16 +72,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
this.prefs.removeObserver(this.domain, this);
Index: suite/common/bookmarks/bookmarksMenu.js
===================================================================
RCS file: /cvsroot/mozilla/suite/common/bookmarks/bookmarksMenu.js,v
retrieving revision 1.30
diff -u -8 -p -r1.30 bookmarksMenu.js
--- suite/common/bookmarks/bookmarksMenu.js 5 May 2007 04:32:52 -0000 1.30
+++ suite/common/bookmarks/bookmarksMenu.js 15 Nov 2007 08:11:44 -0000
@@ -146,17 +146,17 @@ var BookmarksMenu = {
if (!this.isBTBookmark(item))
return "NC:BookmarksRoot"
parent = aNode.parentNode.parentNode;
parent = parent.id;
switch (parent) {
case "BookmarksMenu":
case "bookmarks-button":
return "NC:BookmarksRoot";
- case "PersonalToolbar":
+ case "bookmarks-stack":
case "bookmarks-chevron":
return "NC:PersonalToolbarFolder";
default:
return parent;
}
},
///////////////////////////////////////////////////////////////////////////
Index: suite/common/pref/pref-navigator.xul
===================================================================
RCS file: /cvsroot/mozilla/suite/common/pref/pref-navigator.xul,v
retrieving revision 1.79
diff -u -8 -p -r1.79 pref-navigator.xul
--- suite/common/pref/pref-navigator.xul 28 Oct 2007 01:21:36 -0000 1.79
+++ suite/common/pref/pref-navigator.xul 1 Nov 2007 06:56:52 -0000
@@ -78,22 +78,16 @@
name="browser.toolbars.showbutton.go"
type="bool"/>
-
-
@@ -159,39 +153,28 @@
preference="pref.browser.homepage.disable_button.default_page"/>
-
+
-
-
-
-
-
Index: suite/locales/en-US/chrome/browser/navigator.dtd
===================================================================
RCS file: /cvsroot/mozilla/suite/locales/en-US/chrome/browser/navigator.dtd,v
retrieving revision 1.182
diff -u -8 -p -r1.182 navigator.dtd
--- suite/locales/en-US/chrome/browser/navigator.dtd 30 Sep 2007 17:36:00 -0000 1.182
+++ suite/locales/en-US/chrome/browser/navigator.dtd 4 Nov 2007 15:55:06 -0000
@@ -187,16 +187,17 @@
+
Index: suite/locales/en-US/chrome/common/utilityOverlay.dtd
===================================================================
RCS file: /cvsroot/mozilla/suite/locales/en-US/chrome/common/utilityOverlay.dtd,v
retrieving revision 1.33
diff -u -8 -p -r1.33 utilityOverlay.dtd
--- suite/locales/en-US/chrome/common/utilityOverlay.dtd 26 Oct 2007 20:20:35 -0000 1.33
+++ suite/locales/en-US/chrome/common/utilityOverlay.dtd 4 Nov 2007 15:56:06 -0000
@@ -77,8 +77,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: suite/locales/en-US/chrome/common/pref/pref-navigator.dtd
===================================================================
RCS file: /cvsroot/mozilla/suite/locales/en-US/chrome/common/pref/pref-navigator.dtd,v
retrieving revision 1.28
diff -u -8 -p -r1.28 pref-navigator.dtd
--- suite/locales/en-US/chrome/common/pref/pref-navigator.dtd 30 Sep 2007 17:36:00 -0000 1.28
+++ suite/locales/en-US/chrome/common/pref/pref-navigator.dtd 1 Nov 2007 06:56:24 -0000
@@ -29,14 +29,8 @@
-
-
-
-
-
-
Index: suite/themes/classic/jar.mn
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/jar.mn,v
retrieving revision 1.170
diff -u -8 -p -r1.170 jar.mn
--- suite/themes/classic/jar.mn 27 Oct 2007 20:08:43 -0000 1.170
+++ suite/themes/classic/jar.mn 4 Nov 2007 16:13:38 -0000
@@ -1,14 +1,15 @@
classic.jar:
% skin communicator classic/1.0 %skin/classic/communicator/
% skin editor classic/1.0 %skin/classic/editor/
% skin global classic/1.0 %skin/classic/global/
% skin messenger classic/1.0 %skin/classic/messenger/
% skin navigator classic/1.0 %skin/classic/navigator/
+% style chrome://global/content/customizeToolbar.xul chrome://navigator/skin/navigator.css
skin/classic/communicator/tasksOverlay.css (communicator/tasksOverlay.css)
skin/classic/communicator/button.css (communicator/button.css)
skin/classic/communicator/brand.css (communicator/brand.css)
skin/classic/communicator/dialogs.css (communicator/dialogs.css)
skin/classic/communicator/communicator.css (communicator/communicator.css)
skin/classic/communicator/communicatorBindings.xml (communicator/communicatorBindings.xml)
skin/classic/communicator/helpOverlay.css (communicator/helpOverlay.css)
skin/classic/communicator/preferences.css (communicator/preferences.css)
Index: suite/themes/classic/communicator/brand.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/communicator/brand.css,v
retrieving revision 1.15
diff -u -8 -p -r1.15 brand.css
--- suite/themes/classic/communicator/brand.css 6 Sep 2007 21:47:05 -0000 1.15
+++ suite/themes/classic/communicator/brand.css 8 Nov 2007 15:10:44 -0000
@@ -57,18 +57,20 @@
}
#navigator-throbber[busy="true"] {
list-style-image: url("chrome://communicator/skin/brand/throbber-anim.gif");
}
window[chromehidden~="toolbar"] #navigator-throbber,
#navigator-throbber[buttonstyle="text"],
-#navigator-throbber[toolbarmode="small"] {
+toolbar[mode="text"] #navigator-throbber,
+toolbar[iconsize="small"] #navigator-throbber {
margin: 0 5px;
list-style-image: url("chrome://communicator/skin/brand/throbber16-single.gif");
}
window[chromehidden~="toolbar"] #navigator-throbber[busy="true"],
#navigator-throbber[buttonstyle="text"][busy="true"],
-#navigator-throbber[toolbarmode="small"][busy="true"] {
+toolbar[mode="text"] #navigator-throbber[busy="true"],
+toolbar[iconsize="small"] #navigator-throbber[busy="true"] {
list-style-image: url("chrome://communicator/skin/brand/throbber16-anim.gif");
}
Index: suite/themes/classic/communicator/button.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/communicator/button.css,v
retrieving revision 1.14
diff -u -8 -p -r1.14 button.css
--- suite/themes/classic/communicator/button.css 6 Sep 2007 21:47:05 -0000 1.14
+++ suite/themes/classic/communicator/button.css 10 Nov 2007 08:27:10 -0000
@@ -128,8 +128,25 @@
}
.button-toolbar:hover:active {
-moz-border-top-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-right-colors: ThreeDDarkShadow ThreeDHighlight;
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDHighlight;
-moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
}
+
+/* ::::: customizable toolbar buttons ::::: */
+
+toolbar[mode="icons"] .toolbarbutton-text {
+ display: none;
+}
+
+toolbar[mode="text"] .toolbarbutton-icon {
+ display: none !important;
+}
+
+toolbar[mode="icons"] .toolbarbutton-1,
+toolbar[mode="icons"] .toolbarbutton-menubutton-button,
+toolbar[iconsize="small"] .toolbarbutton-1,
+toolbar[iconsize="small"] .toolbarbutton-menubutton-button {
+ min-width: 0px;
+}
Index: suite/themes/classic/communicator/mac/toolbar.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/communicator/mac/toolbar.css,v
retrieving revision 1.8
diff -u -8 -p -r1.8 toolbar.css
--- suite/themes/classic/communicator/mac/toolbar.css 6 Sep 2007 21:47:07 -0000 1.8
+++ suite/themes/classic/communicator/mac/toolbar.css 10 Nov 2007 08:11:40 -0000
@@ -95,8 +95,15 @@ toolbargrippy[tbgrippy-collapsed="true"]
margin-left: 2px;
width: 0px;
height: 6px;
}
.collapsed-tray-spacer {
border-bottom: 1px solid ThreeDShadow;
}
+
+/* ::::: customizable toolbars ::::: */
+
+toolbar[mode="text"] .toolbarbutton-1 > .toolbarbutton-text,
+toolbar[mode="text"] .toolbarbutton-1 > stack > toolbarbutton > .toolbarbutton-text {
+ margin: 4px;
+}
Index: suite/themes/classic/communicator/os2/toolbar.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/communicator/os2/toolbar.css,v
retrieving revision 1.1
diff -u -8 -p -r1.1 toolbar.css
--- suite/themes/classic/communicator/os2/toolbar.css 6 Sep 2007 21:47:07 -0000 1.1
+++ suite/themes/classic/communicator/os2/toolbar.css 10 Nov 2007 08:12:32 -0000
@@ -90,8 +90,15 @@ toolbargrippy[tbgrippy-collapsed="true"]
margin-left: 2px;
width: 0px;
height: 6px;
}
.collapsed-tray-spacer {
/*border-bottom: 1px solid ThreeDShadow;*/
}
+
+/* ::::: customizable toolbars ::::: */
+
+toolbar[mode="text"] .toolbarbutton-text {
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
Index: suite/themes/classic/communicator/win/toolbar.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/communicator/win/toolbar.css,v
retrieving revision 1.6
diff -u -8 -p -r1.6 toolbar.css
--- suite/themes/classic/communicator/win/toolbar.css 6 Sep 2007 21:47:07 -0000 1.6
+++ suite/themes/classic/communicator/win/toolbar.css 10 Nov 2007 08:12:24 -0000
@@ -89,8 +89,15 @@ toolbargrippy[tbgrippy-collapsed="true"]
margin-left: 2px;
width: 0px;
height: 6px;
}
.collapsed-tray-spacer {
border-bottom: 1px solid ThreeDShadow;
}
+
+/* ::::: customizable toolbars ::::: */
+
+toolbar[mode="text"] .toolbarbutton-text {
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
Index: suite/themes/classic/navigator/navigator.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/classic/navigator/navigator.css,v
retrieving revision 1.39
diff -u -8 -p -r1.39 navigator.css
--- suite/themes/classic/navigator/navigator.css 6 Sep 2007 21:47:11 -0000 1.39
+++ suite/themes/classic/navigator/navigator.css 13 Nov 2007 06:41:46 -0000
@@ -78,16 +78,17 @@
-moz-image-region: rect(90px 89px 119px 60px);
}
#forward-button[disabled="true"] {
-moz-image-region: rect(90px 119px 119px 90px) !important;
}
#reload-button {
+ list-style-image: url("chrome://navigator/skin/icons/navigatoricons.png");
-moz-image-region: rect(0 29px 29px 0);
}
#reload-button:hover {
-moz-image-region: rect(0 59px 29px 30px);
}
#reload-button:hover:active {
@@ -110,16 +111,33 @@
#stop-button:hover:active {
-moz-image-region: rect(30px 89px 59px 60px);
}
#stop-button[disabled="true"] {
-moz-image-region: rect(30px 119px 59px 90px) !important;
}
+#home-button {
+ list-style-image: url("chrome://communicator/skin/icons/communicatoricons.png");
+ -moz-image-region: rect(120px 29px 149px 0);
+}
+
+#home-button:hover {
+ -moz-image-region: rect(120px 59px 149px 30px);
+}
+
+#home-button:hover:active {
+ -moz-image-region: rect(120px 89px 149px 60px);
+}
+
+#home-button[disabled="true"] {
+ -moz-image-region: rect(120px 119px 149px 90px) !important;
+}
+
#print-button {
list-style-image: url("chrome://communicator/skin/icons/communicatoricons.png");
-moz-image-region: rect(0 29px 29px 0);
}
#print-button:hover {
-moz-image-region: rect(0 59px 29px 30px);
}
@@ -127,46 +145,82 @@
#print-button:hover:active {
-moz-image-region: rect(0 89px 29px 60px);
}
#print-button[disabled="true"] {
-moz-image-region: rect(0 119px 29px 90px) !important;
}
-#fullscreen-exit-button {
- list-style-image: none;
-}
-
/* ::::: small primary toolbar buttons ::::: */
-.toolbarbutton-1[toolbarmode="small"] {
+toolbar[mode="icons"] toolbarbutton,
+toolbar[iconsize="small"] toolbarbutton {
min-width: 0;
}
-.toolbarbutton-text[toolbarmode="small"] {
+toolbar[mode="icons"] #search-button > .button-box > .button-text {
display: none;
}
-#search-button[toolbarmode="small"] > .button-box > .button-text {
- display: none;
+toolbar[iconsize="small"] .toolbarbutton-icon {
+ display: inline;
}
-.toolbarbutton-icon[toolbarmode="small"] {
- display: inline;
+toolbar[iconsize="small"][mode="text"] .toolbarbutton-icon {
+ display: none !important;
}
-#nav-bar[toolbarmode="small"] > .toolbar-primary-grippy {
+#nav-bar[inFullscreen="true"] .toolbar-grippy {
display: none;
}
+toolbar[mode="text"] .toolbarbutton-text,
.toolbarbutton-text[buttonstyle="text"] {
padding: 4px 0;
}
+/* XXXRatty workaround bacause we don't have small icons yet */
+toolbar[iconsize="small"] #back-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
+toolbar[iconsize="small"] #forward-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
+toolbar[iconsize="small"] #print-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
+toolbar[iconsize="small"] #reload-button > .toolbarbutton-icon,
+toolbar[iconsize="small"] #stop-button > .toolbarbutton-icon {
+ height: 19px;
+ width: 19px;
+}
+
+toolbar[iconsize="small"] #home-button {
+ list-style-image: url("chrome://communicator/skin/bookmarks/home.png");
+ -moz-image-region: rect(0 19px 19px 0);
+}
+
+toolbar[iconsize="small"] #home-button:hover {
+ -moz-image-region: rect(0 39px 19px 20px);
+}
+
+toolbar[iconsize="small"] #home-button:hover:active {
+ -moz-image-region: rect(0 59px 19px 40px);
+}
+
+toolbar[iconsize="small"] #home-button[disabled="true"] {
+ -moz-image-region: rect(0 79px 19px 60px) !important;
+}
+
+/* ::::: Personal Toolbar overrides ::::: */
+
+#PersonalToolbar .toolbarbutton-1 {
+ -moz-box-orient: horizontal !important;
+ margin: 0 !important;
+}
+
+#PersonalToolbar[mode="text"] toolbarbutton > .toolbarbutton-text {
+ margin: 0 !important;
+}
+
/* ::::: fullscreen window controls ::::: */
#window-controls {
-moz-box-align: center;
padding: 0 2px 0 4px;
border-left: 2px solid;
-moz-border-left-colors: ThreeDHighlight ThreeDShadow;
}
@@ -330,48 +384,63 @@
list-style-image: url("chrome://navigator/skin/icons/popup-blocked.png");
}
#popupImage {
list-style-image: url("chrome://navigator/skin/icons/about-popups.gif");
margin: 6px 0px;
}
-/* ::::: personal toolbar ::::: */
+/* ::::: bookmarks toolbar and bookmark items ::::: */
#bookmarks-button {
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-folder-closed.png");
}
#bookmarks-button[open="true"] {
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-folder-open.png");
}
-#home-button {
- list-style-image: url("chrome://communicator/skin/bookmarks/home.png");
- -moz-image-region: rect(0 19px 19px 0);
+#bookmarks-chevron {
+ list-style-image: url("chrome://navigator/skin/icons/chevron.gif") !important;
}
-#home-button:hover {
- -moz-image-region: rect(0 39px 19px 20px);
+#bookmarks-chevron > .toolbarbutton-menu-dropmarker {
+ display: none;
}
-#home-button:hover:active {
- -moz-image-region: rect(0 59px 19px 40px);
+/* Prevent [mode="icons"|"text"] from hiding the label and icon */
+#bookmarks-stack .bookmark-item > .toolbarbutton-text,
+#bookmarks-stack .bookmark-item > .toolbarbutton-icon {
+ display: -moz-box !important;
}
-#home-button[disabled="true"] {
- -moz-image-region: rect(0 79px 19px 60px) !important;
+#wrapper-personal-bookmarks .toolbarpaletteitem-box {
+ width: 16px;
+ height: 16px;
+}
+
+/*
+ In customize mode we hide the normal bookmark items and show a placeholder
+ for the drag/drop UI.
+*/
+.bookmarks-toolbar-customize {
+ list-style-image: none;
+ display: none;
+ max-width: 15em !important;
}
-#PersonalToolbar > .toolbar-prefix {
- border-left: 1px solid ThreeDHighlight;
- border-top: 1px solid ThreeDHighlight;
- border-bottom: 1px solid ThreeDShadow;
+.bookmarks-toolbar-customize > .toolbarbutton-text {
+ text-align: left;
}
-#bookmarks-chevron {
- list-style-image: url("chrome://navigator/skin/icons/chevron.gif") !important;
+.bookmarks-toolbar-customize > .toolbarbutton-icon {
+ background: url("chrome://communicator/skin/bookmarks/bookmark-folder-open.png") no-repeat !important;
}
-#bookmarks-chevron > .toolbarbutton-menu-dropmarker {
- display: none;
+toolbarpaletteitem[place] .bookmarks-toolbar-customize {
+ display: -moz-box !important;
+}
+
+toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-overflow-items,
+toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-items {
+ visibility: hidden;
}
Index: suite/themes/modern/jar.mn
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/modern/jar.mn,v
retrieving revision 1.178
diff -u -8 -p -r1.178 jar.mn
--- suite/themes/modern/jar.mn 27 Oct 2007 20:08:43 -0000 1.178
+++ suite/themes/modern/jar.mn 13 Nov 2007 15:56:02 -0000
@@ -1,15 +1,16 @@
modern.jar:
% skin communicator modern/1.0 %skin/modern/communicator/
% skin editor modern/1.0 %skin/modern/editor/
% skin global modern/1.0 %skin/modern/global/
% skin help modern/1.0 %skin/modern/help/
% skin messenger modern/1.0 %skin/modern/messenger/
% skin navigator modern/1.0 %skin/modern/navigator/
+% style chrome://global/content/customizeToolbar.xul chrome://navigator/skin/navigator.css
skin/modern/communicator/brand.css (communicator/brand.css)
skin/modern/communicator/prefpanels.css (communicator/prefpanels.css)
skin/modern/communicator/preferences.css (communicator/preferences.css)
skin/modern/communicator/tasksOverlay.css (communicator/tasksOverlay.css)
skin/modern/communicator/button.css (communicator/button.css)
skin/modern/communicator/toolbar.css (communicator/toolbar.css)
skin/modern/communicator/dialogs.css (communicator/dialogs.css)
skin/modern/communicator/helpOverlay.css (communicator/helpOverlay.css)
@@ -278,16 +279,17 @@ modern.jar:
skin/modern/global/splitter/grip-hrz-before-act.gif (global/splitter/grip-hrz-before-act.gif)
skin/modern/global/toolbar/tbgrip-arrow.gif (global/toolbar/tbgrip-arrow.gif)
skin/modern/global/toolbar/mbgrip-arrow.gif (global/toolbar/mbgrip-arrow.gif)
skin/modern/global/toolbar/tbgrip-arrow-act.gif (global/toolbar/tbgrip-arrow-act.gif)
skin/modern/global/toolbar/tbgrip-arrow-clps.gif (global/toolbar/tbgrip-arrow-clps.gif)
skin/modern/global/toolbar/tbgrip-arrow-clps-act.gif (global/toolbar/tbgrip-arrow-clps-act.gif)
skin/modern/global/toolbar/tb-mid.gif (global/toolbar/tb-mid.gif)
skin/modern/global/toolbar/chevron.gif (global/toolbar/chevron.gif)
+ skin/modern/global/toolbar/spring.gif (global/toolbar/spring.gif)
skin/modern/global/tree/checkbox.gif (global/tree/checkbox.gif)
skin/modern/global/tree/checkbox-checked.gif (global/tree/checkbox-checked.gif)
skin/modern/global/tree/sort-asc.gif (global/tree/sort-asc.gif)
skin/modern/global/tree/sort-dsc.gif (global/tree/sort-dsc.gif)
skin/modern/global/tree/twisty-clsd.gif (global/tree/twisty-clsd.gif)
skin/modern/global/tree/twisty-open.gif (global/tree/twisty-open.gif)
skin/modern/global/tree/columnpicker.gif (global/tree/columnpicker.gif)
skin/modern/help/help.css (help/help.css)
@@ -474,15 +476,16 @@ modern.jar:
skin/modern/navigator/btn1/top.gif (navigator/btn1/top.gif)
skin/modern/navigator/btn1/up-dis.gif (navigator/btn1/up-dis.gif)
skin/modern/navigator/btn1/up-hov.gif (navigator/btn1/up-hov.gif)
skin/modern/navigator/btn1/up.gif (navigator/btn1/up.gif)
skin/modern/navigator/toolbar/ubhist-arrow-act.gif (navigator/toolbar/ubhist-arrow-act.gif)
skin/modern/navigator/toolbar/ubhist-arrow.gif (navigator/toolbar/ubhist-arrow.gif)
skin/modern/navigator/toolbar/urlbar-mid.gif (navigator/toolbar/urlbar-mid.gif)
skin/modern/navigator/icons/btn1.gif (navigator/icons/btn1.gif)
+ skin/modern/navigator/icons/btn1.png (navigator/icons/btn1.png)
skin/modern/navigator/icons/btn1-small.gif (navigator/icons/btn1-small.gif)
skin/modern/navigator/icons/popup-blocked.png (navigator/icons/popup-blocked.png)
skin/modern/navigator/icons/about-popups.gif (navigator/icons/about-popups.gif)
skin/modern/navigator/icons/tab-drag-indicator.gif (navigator/icons/tab-drag-indicator.gif)
skin/modern/navigator/icons/tab-new.gif (navigator/icons/tab-new.gif)
skin/modern/navigator/icons/tab-new-hov.gif (navigator/icons/tab-new-hov.gif)
skin/modern/navigator/icons/tab-new-act.gif (navigator/icons/tab-new-act.gif)
Index: suite/themes/modern/communicator/brand.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/modern/communicator/brand.css,v
retrieving revision 1.31
diff -u -8 -p -r1.31 brand.css
--- suite/themes/modern/communicator/brand.css 6 Sep 2007 21:47:13 -0000 1.31
+++ suite/themes/modern/communicator/brand.css 9 Nov 2007 15:37:26 -0000
@@ -57,24 +57,27 @@
list-style-image: url("chrome://communicator/skin/brand/throbber-anim.gif");
}
#throbber-box {
-moz-box-align: start;
background: url("chrome://communicator/skin/toolbar/prtb-bg-noline.gif") #B1BDC9 repeat-x top;
}
+toolbar[mode="icons"] #navigator-throbber,
#navigator-throbber[buttonstyle="pictures"] {
margin: 4px 8px 2px 8px;
}
window[chromehidden~="toolbar"] #navigator-throbber,
#navigator-throbber[buttonstyle="text"],
-#navigator-throbber[toolbarmode="small"] {
+toolbar[mode="text"] #navigator-throbber,
+toolbar[iconsize="small"] #navigator-throbber {
margin: 2px 4px 2px 6px;
list-style-image: url("chrome://communicator/skin/brand/throbber16-single.gif");
}
window[chromehidden~="toolbar"] #navigator-throbber[busy="true"],
#navigator-throbber[buttonstyle="text"][busy="true"],
-#navigator-throbber[toolbarmode="small"][busy="true"] {
+toolbar[mode="text"] #navigator-throbber[busy="true"],
+toolbar[iconsize="small"] #navigator-throbber[busy="true"] {
list-style-image: url("chrome://communicator/skin/brand/throbber16-anim.gif");
}
Index: suite/themes/modern/communicator/button.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/modern/communicator/button.css,v
retrieving revision 1.53
diff -u -8 -p -r1.53 button.css
--- suite/themes/modern/communicator/button.css 6 Sep 2007 21:47:13 -0000 1.53
+++ suite/themes/modern/communicator/button.css 12 Nov 2007 11:34:28 -0000
@@ -59,16 +59,20 @@
border: none !important;
padding: 0px !important;
}
.toolbarbutton-1 > .toolbarbutton-text {
min-width: 50px;
}
+toolbar[customizable] .toolbarbutton-1 > .toolbarbutton-text {
+ min-width: 33px;
+}
+
.toolbarbutton-1:hover:active {
color: #FFFFFF;
}
.toolbarbutton-1[disabled="true"]:hover:active {
color: #9399AB;
}
@@ -86,24 +90,34 @@
min-width: 46px;
}
.toolbarbutton-text[buttonstyle="pictures"],
.toolbarbutton-icon[buttonstyle="text"] {
display: none;
}
+toolbar[mode="icons"] .toolbarbutton-menubutton-dropmarker,
.toolbarbutton-menubutton-dropmarker[buttonstyle="pictures"] {
margin: 20px 0px 0px 40px;
}
+toolbar[mode="text"] .toolbarbutton-menubutton-dropmarker,
.toolbarbutton-menubutton-dropmarker[buttonstyle="text"] {
margin: 8px 0px 0px 40px;
}
/* ::::: standard toolbar buttons ::::: */
.button-toolbar {
-moz-user-focus: ignore !important;
margin: 0px;
}
+/* ::::: customizable toolbar buttons ::::: */
+toolbar[mode="icons"] .toolbarbutton-text {
+ display: none;
+}
+
+toolbar[mode="text"] .toolbarbutton-icon {
+ display: none !important;
+}
Index: suite/themes/modern/communicator/toolbar.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/modern/communicator/toolbar.css,v
retrieving revision 1.32
diff -u -8 -p -r1.32 toolbar.css
--- suite/themes/modern/communicator/toolbar.css 6 Sep 2007 21:47:13 -0000 1.32
+++ suite/themes/modern/communicator/toolbar.css 10 Nov 2007 09:06:34 -0000
@@ -51,37 +51,45 @@
.toolbar-primary-holder {
background: url("chrome://communicator/skin/toolbar/prtb-bg-line.gif") repeat-x top;
border-top: none;
border-right: 1px solid #95A0AD;
border-bottom: 1px solid #95A0AD;
border-left: none;
}
+toolbar[mode="icons"] .toolbar-primary-holder,
+toolbar[mode="text"] .toolbar-primary-holder,
.toolbar-primary-holder[buttonstyle="pictures"],
.toolbar-primary-holder[buttonstyle="text"] {
background-image: url("chrome://communicator/skin/toolbar/prtb-bg-noline.gif");
}
.toolbar-primary-icon {
width: 77px;
height: 50px;
background-repeat: no-repeat;
background-position: top;
}
+toolbar[mode="icons"] .toolbar-primary-icon,
+toolbar[mode="text"] .toolbar-primary-icon,
.toolbar-primary-icon[buttonstyle="pictures"],
.toolbar-primary-icon[buttonstyle="text"] {
display: none;
}
+toolbar[mode="text"] .toolbarbutton-1 > stack > .toolbarbutton-menubutton-dropmarker,
.toolbarbutton-1[buttonstyle="text"] > stack > .toolbarbutton-menubutton-dropmarker {
margin: 0px 2px 0px 38px !important;
}
+toolbar[mode="text"] .toolbarbutton-1 > stack > .toolbarbutton-menubutton-button
+ > .toolbarbutton-text,
+toolbar[mode="text"] .toolbarbutton-1 > .toolbarbutton-text,
.toolbarbutton-1[buttonstyle="text"] > stack > .toolbarbutton-menubutton-button
> .toolbarbutton-text,
.toolbarbutton-1[buttonstyle="text"] > .toolbarbutton-text {
margin: 5px 0px !important;
}
/* ::::: toolbargrippy ::::: */
@@ -118,8 +126,23 @@
.toolbarseparator-primary {
margin: 0px;
padding: 0px;
border: none;
width: 18px;
background: none;
}
+
+/* ::::: customizable toolbar buttons ::::: */
+
+toolbar[mode="text"] .toolbarbutton-text,
+toolbar[mode="full"] .toolbarbutton-text {
+ display: -moz-box !important;
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
+
+/* XXXRatty is there a better way of doing this? */
+toolbar[customizable] .toolbarbutton-1,
+toolbar[customizable] .toolbarbutton-menubutton-button {
+ -moz-box-pack: center !important;
+}
Index: suite/themes/modern/global/toolbar.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/modern/global/toolbar.css,v
retrieving revision 1.24
diff -u -8 -p -r1.24 toolbar.css
--- suite/themes/modern/global/toolbar.css 11 Sep 2007 23:05:03 -0000 1.24
+++ suite/themes/modern/global/toolbar.css 4 Nov 2007 17:15:52 -0000
@@ -59,31 +59,37 @@ toolbar {
toolbar > .toolbar-box > .toolbar-holder {
border-top: 1px solid #EEF0F3;
border-right: 1px solid #86929E;
border-bottom: 1px solid #86929E;
}
/* ::::: menubar ::::: */
-menubar {
+menubar,
+toolbar[type="menubar"] {
cursor: default;
min-width: 1px; /* DON'T DELETE!
Prevents hiding of scrollbars in browser when window is made smaller.*/
background-color: #DDE3EB;
color: #000000;
}
-
-menubar > .toolbar-box > .toolbar-holder {
+
+menubar > .toolbar-box > .toolbar-holder,
+toolbar[type="menubar"] > .toolbar-box > .toolbar-holder {
border-top: 1px solid #EBF4FF;
border-right: 1px solid #86929E;
border-bottom: 1px solid #B9BFC7;
border-left: 1px solid #EEF4FC;
}
+toolbar > toolbaritem > menubar > .toolbar-box > .toolbar-holder {
+ border: 0px none;
+}
+
/* ::::: toolbargrippy ::::: */
toolbargrippy {
-moz-box-orient: vertical;
-moz-box-align: center;
-moz-box-pack: end;
-moz-box-direction: reverse;
border-top: 1px solid #EEF0F3;
@@ -135,18 +141,79 @@ toolbargrippy[tbgrippy-collapsed="true"]
toolbargrippy[tbgrippy-collapsed="true"]:hover:active > .toolbargrippy-arrow {
list-style-image: url("chrome://global/skin/toolbar/tbgrip-arrow-clps-act.gif");
}
.collapsed-tray-holder {
background-color: #C7D0D9;
}
-/* ::::: toolbarseparator ::::: */
+/* ::::: toolbar decorations ::::: */
toolbarseparator {
margin: 0px 0.2em;
border-right: 1px solid #E2E7EB;
border-left: 1px solid #95A0AD;
width: 0px;
}
+toolbarspacer {
+ width: 15px;
+}
+
+/* ::::: toolbarpaletteitem ::::: */
+
+toolbarpaletteitem {
+ cursor: -moz-grab;
+}
+.toolbarpaletteitem-box[type="spacer"],
+.toolbarpaletteitem-box[type="spring"] {
+ border: 1px solid #808080;
+ background-color: #FFF !important;
+}
+
+toolbarpaletteitem[place="toolbar"] {
+ margin-left: -2px;
+ margin-right: -2px;
+ border-left: 2px solid transparent;
+ border-right: 2px solid transparent;
+}
+
+toolbarpaletteitem[place="toolbar"] > toolbarspacer {
+ width: 11px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="toolbar"],
+.toolbarpaletteitem-box[type="spring"][place="toolbar"] {
+ margin: 2px 2px 2px 0px;
+}
+
+.toolbarpaletteitem-box[type="separator"][place="palette"] {
+ width: 2px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="splitter"][place="palette"] {
+ width: 8px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="palette"],
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ margin-bottom: 2px;
+ width: 50px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ background: url("chrome://global/skin/toolbar/spring.gif") no-repeat center;
+}
+
+/* ..... drag and drop feedback ..... */
+
+toolbarpaletteitem[dragover="left"] {
+ border-left-color: #000000;
+}
+
+toolbarpaletteitem[dragover="right"] {
+ border-right-color: #000000;
+}
Index: suite/themes/modern/navigator/navigator.css
===================================================================
RCS file: /cvsroot/mozilla/suite/themes/modern/navigator/navigator.css,v
retrieving revision 1.96
diff -u -8 -p -r1.96 navigator.css
--- suite/themes/modern/navigator/navigator.css 11 Sep 2007 23:05:04 -0000 1.96
+++ suite/themes/modern/navigator/navigator.css 13 Nov 2007 12:24:10 -0000
@@ -39,92 +39,100 @@
@import url("chrome://communicator/skin/");
@import url("chrome://communicator/skin/bookmarks/bookmarksToolbar.css");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: primary toolbar buttons ::::: */
.toolbarbutton-1 {
- list-style-image: url("chrome://navigator/skin/icons/btn1.gif");
+ list-style-image: url("chrome://navigator/skin/icons/btn1.png");
min-width: 0px;
}
toolbox {
border-bottom: none;
}
#appcontent {
border-top: 1px solid #494F5D;
}
#back-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1.png");
-moz-image-region: rect(0 41px 38px 0);
}
#back-button:hover {
-moz-image-region: rect(0 83px 38px 42px);
}
#back-button:hover:active {
-moz-image-region: rect(0 125px 38px 84px);
}
#back-button[disabled="true"] {
-moz-image-region: rect(0 167px 38px 126px) !important;
}
#forward-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1.png");
-moz-image-region: rect(39px 41px 77px 0);
}
#forward-button:hover {
-moz-image-region: rect(39px 83px 77px 42px);
}
#forward-button:hover:active {
-moz-image-region: rect(39px 125px 77px 84px);
}
#forward-button[disabled="true"] {
-moz-image-region: rect(39px 167px 77px 126px) !important;
}
#reload-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1.png");
-moz-image-region: rect(78px 41px 116px 0);
}
#reload-button:hover {
-moz-image-region: rect(78px 83px 116px 42px);
}
#reload-button:hover:active {
-moz-image-region: rect(78px 125px 116px 84px);
}
#reload-button[disabled="true"] {
-moz-image-region: rect(78px 167px 116px 126px) !important;
}
#stop-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1.png");
-moz-image-region: rect(117px 41px 155px 0);
}
#stop-button:hover {
-moz-image-region: rect(117px 83px 155px 42px);
}
#stop-button:hover:active {
-moz-image-region: rect(117px 125px 155px 84px);
}
#stop-button[disabled="true"] {
-moz-image-region: rect(117px 167px 155px 126px) !important;
}
+#home-button {
+ list-style-image: url("chrome://help/skin/home.gif");
+}
+
#print-button {
list-style-image: url("chrome://communicator/skin/icons/btn1.gif");
-moz-image-region: rect(0 49px 33px 0);
}
#print-button:hover {
-moz-image-region: rect(0 99px 33px 50px);
}
@@ -132,158 +140,187 @@ toolbox {
#print-button:hover:active {
-moz-image-region: rect(0 149px 33px 100px);
}
#print-button[disabled="true"] {
-moz-image-region: rect(0 199px 33px 150px) !important;
}
-#fullscreen-exit-button {
- list-style-image: none;
-}
-
-#fullscreen-exit-button > .toolbarbutton-text {
- display: -moz-box;
-}
-
-.toolbarbutton-1 > stack > .toolbarbutton-menubutton-button
- > .toolbarbutton-text,
-.toolbarbutton-1 > .toolbarbutton-text {
- display: none !important;
-}
-
.toolbarbutton-1 > stack > .toolbarbutton-menubutton-button
> .toolbarbutton-icon,
.toolbarbutton-1 > .toolbarbutton-icon {
display: inline !important;
}
+toolbar[mode="text"] #forward-button > stack > .toolbarbutton-menubutton-dropmarker,
#forward-button[buttonstyle="text"] > stack > .toolbarbutton-menubutton-dropmarker {
margin: 0px 2px 0px 56px !important;
}
+toolbar[mode="text"] .toolbarbutton-1 > stack > .toolbarbutton-menubutton-button
+ > .toolbarbutton-text,
+toolbar[mode="text"] .toolbarbutton-1 > .toolbarbutton-text,
.toolbarbutton-1[buttonstyle="text"] > stack > .toolbarbutton-menubutton-button
> .toolbarbutton-text,
.toolbarbutton-1[buttonstyle="text"] > .toolbarbutton-text {
display: -moz-box !important;
margin-top: 10px !important;
}
.toolbarbutton-1[buttonstyle="text"] > stack > .toolbarbutton-menubutton-button
> .toolbarbutton-icon,
.toolbarbutton-1[buttonstyle="text"] > .toolbarbutton-icon {
display: none !important;
}
/* ::::: small primary toolbar buttons ::::: */
-.toolbarbutton-1[toolbarmode="small"] {
- margin-top: 4px;
+toolbar[iconsize="small"] .toolbarbutton-1 {
+ margin-top: 0;
list-style-image: url("chrome://navigator/skin/icons/btn1-small.gif");
}
-#back-button[toolbarmode="small"] {
+toolbar[mode="full"][iconsize="small"] .toolbarbutton-1 {
+ margin-top: 3px !important;
+}
+
+toolbar[iconsize="small"] #back-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1-small.gif");
-moz-image-region: rect(0 19px 19px 0);
}
-#back-button[toolbarmode="small"]:hover {
+toolbar[iconsize="small"] #back-button:hover {
-moz-image-region: rect(0 38px 19px 19px);
}
-#back-button[toolbarmode="small"]:hover:active {
+toolbar[iconsize="small"] #back-button:hover:active {
-moz-image-region: rect(0 57px 19px 38px);
}
-#back-button[disabled="true"][toolbarmode="small"] {
+toolbar[iconsize="small"] #back-button[disabled="true"] {
-moz-image-region: rect(0 76px 19px 57px) !important;
}
-#forward-button[toolbarmode="small"] {
+toolbar[iconsize="small"] #forward-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1-small.gif");
-moz-image-region: rect(19px 19px 38px 0);
}
-#forward-button[toolbarmode="small"]:hover {
+toolbar[iconsize="small"] #forward-button:hover {
-moz-image-region: rect(19px 38px 38px 19px);
}
-#forward-button[toolbarmode="small"]:hover:active {
+toolbar[iconsize="small"] #forward-button:hover:active {
-moz-image-region: rect(19px 57px 38px 38px);
}
-#forward-button[disabled="true"][toolbarmode="small"] {
+toolbar[iconsize="small"] #forward-button[disabled="true"] {
-moz-image-region: rect(19px 76px 38px 57px) !important;
}
-#reload-button[toolbarmode="small"] {
+toolbar[iconsize="small"] #reload-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1-small.gif");
-moz-image-region: rect(38px 19px 57px 0);
}
-#reload-button[toolbarmode="small"]:hover {
+toolbar[iconsize="small"] #reload-button:hover {
-moz-image-region: rect(38px 38px 57px 19px);
}
-#reload-button[toolbarmode="small"]:hover:active {
+toolbar[iconsize="small"] #reload-button:hover:active {
-moz-image-region: rect(38px 57px 57px 38px);
}
-#reload-button[disabled="true"][toolbarmode="small"] {
+toolbar[iconsize="small"] #reload-button[disabled="true"] {
-moz-image-region: rect(38px 76px 57px 57px) !important;
}
-#stop-button[toolbarmode="small"] {
+toolbar[iconsize="small"] #stop-button {
+ list-style-image: url("chrome://navigator/skin/icons/btn1-small.gif");
-moz-image-region: rect(57px 19px 76px 0);
}
-#stop-button[toolbarmode="small"]:hover {
+toolbar[iconsize="small"] #stop-button:hover {
-moz-image-region: rect(57px 38px 76px 19px);
}
-#stop-button[toolbarmode="small"]:hover:active {
+toolbar[iconsize="small"] #stop-button:hover:active {
-moz-image-region: rect(57px 57px 76px 38px);
}
-#stop-button[disabled="true"][toolbarmode="small"] {
+toolbar[iconsize="small"] #stop-button[disabled="true"] {
-moz-image-region: rect(57px 76px 76px 57px) !important;
}
-.toolbarbutton-menubutton-dropmarker[toolbarmode="small"] {
+toolbar[iconsize="small"] #home-button {
+ list-style-image: url("chrome://communicator/skin/bookmarks/home.gif");
+}
+
+toolbar[iconsize="small"] #home-button > .toolbarbutton-icon {
+ width: 22px;
+ height: 17px;
+}
+
+toolbar[iconsize="small"] .toolbarbutton-menubutton-dropmarker {
margin: 8px 0px 0px 14px !important;
}
/* temporary - still don't have small print icons */
-#print-button[toolbarmode="small"] {
- display: none;
+toolbar[iconsize="small"] #print-button > stack > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
+ width: 28px;
+ height: 19px;
}
-#search-button[toolbarmode="small"] > .button-box > .button-text {
+toolbar[mode="icons"] #search-button > .button-box > .button-text {
display: none;
}
-#nav-bar[toolbarmode="small"] {
+#nav-bar[iconsize="small"] {
min-height: 0;
}
-#nav-bar[toolbarmode="small"] > #nav-bar-inner {
- margin: 0;
- border: none;
-}
-
-#nav-bar[toolbarmode="small"] > #nav-bar-buttons {
- -moz-box-align: center;
+toolbar[mode="text"] > #urlbar-container > #nav-bar-inner,
+toolbar[iconsize="small"] > #urlbar-container > #nav-bar-inner {
+ margin: 0 !important;
+ border: none !important;
}
-#nav-bar[toolbarmode="small"] > .toolbar-primary-grippy {
+#nav-bar[inFullscreen] > .toolbar-primary-grippy {
display: none;
}
-#nav-bar[toolbarmode="small"] > .toolbar-primary-holder {
+#nav-bar[iconsize="small"] > .toolbar-primary-holder {
background: #D0D7DF;
}
+/* ::::: Personal Toolbar overrides ::::: */
+
+#PersonalToolbar toolbarbutton {
+ -moz-box-orient: horizontal !important;
+ font-size: 100% !important;
+ color: #000 !important;
+ padding: 1px 2px !important;
+}
+
+#PersonalToolbar[mode="full"][iconsize="small"] .toolbarbutton-1 {
+ margin-top: 0px !important;
+}
+
+#PersonalToolbar toolbarbutton > .toolbarbutton-text,
+#PersonalToolbar toolbarbutton > stack > .toolbarbutton-menubutton-button > .toolbarbutton-text {
+ margin: 0 !important;
+}
+
+#PersonalToolbar .toolbarbutton-1 > .toolbarbutton-icon,
+#PersonalToolbar .toolbarbutton-1[type="menu-button"] > .toolbarbutton-menubutton-stack
+ > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
+ margin-bottom: 0 !important;
+}
+
/* ::::: fullscreen window controls ::::: */
#window-controls {
-moz-box-align: center;
padding: 0 2px 0 4px;
background-color: #A9B2BD;
border-left: 2px solid;
-moz-border-left-colors: #B6BEC5 #DDE3E8;
@@ -365,48 +402,48 @@ toolbox {
display: none;
}
.toolbar-primary-holder {
-moz-box-align: start;
background-image: url("chrome://communicator/skin/toolbar/prtb-bg-noline.gif");
}
-#nav-bar-buttons {
- margin: 0px 0px 3px 3px;
-}
-
/* ::::: navbar-inner - the grooved area around the urlbar ::::: */
#nav-bar-inner {
-moz-box-align: center;
margin: 7px 0px 3px 5px;
border: 2px solid;
-moz-border-top-colors: #A2AFBD #EBF4FF;
-moz-border-right-colors: #D1D9E0 #A2AFBD;
-moz-border-bottom-colors: #CFD7DE #939EAA;
-moz-border-left-colors: #9FABB9 #D2DAE1;
-moz-border-radius: 3px;
padding: 0px 3px;
min-width: 0px;
}
+toolbar[mode="text"] #nav-bar-inner,
#nav-bar-inner[buttonstyle="text"] {
margin: 2px 0px 2px 5px;
border: 0px;
}
+toolbar[mode="text"] #search-button,
#search-button[buttonstyle="text"] {
margin-right: 0px;
}
+toolbar[mode="text"] #search-button > .button-box > .button-icon,
#search-button[buttonstyle="text"] > .button-box > .button-icon {
display: none;
}
+toolbar[mode="icons"] #search-button > .button-box > .button-text,
#search-button[buttonstyle="pictures"] > .button-box > .button-text {
display: none;
}
/* ::::: urlbar - the url textbox ::::: */
#urlbar {
margin: 2px 6px 2px 3px;
@@ -525,31 +562,60 @@ panel[nomatch="true"] > .autocomplete-se
border-bottom: 1px solid #95A0AD;
border-left: 1px solid #DAE3ED;
}
#PersonalToolbar > .toolbar-box > toolbargrippy:hover:active {
border-color: #67737E;
}
-#home-button {
- list-style-image: url("chrome://communicator/skin/bookmarks/home.gif");
+toolbarbutton.chevron {
+ list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important;
}
-#home-button > .toolbarbutton-icon {
- width: 22px;
- height: 17px;
+toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
+ display: none;
}
-toolbarbutton.chevron {
- list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important;
+/* Prevent [mode="icons"|"text"] from hiding the label and icon */
+#bookmarks-stack .bookmark-item > .toolbarbutton-text,
+#bookmarks-stack .bookmark-item > .toolbarbutton-icon {
+ display: -moz-box !important;
}
-toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
+#wrapper-personal-bookmarks .toolbarpaletteitem-box {
+ width: 16px;
+ height: 16px;
+}
+
+/*
+ In customize mode we hide the normal bookmark items and show a placeholder
+ for the drag/drop UI.
+*/
+.bookmarks-toolbar-customize {
+ list-style-image: none;
display: none;
+ max-width: 15em !important;
+}
+
+.bookmarks-toolbar-customize > .toolbarbutton-text {
+ text-align: left;
+}
+
+.bookmarks-toolbar-customize > .toolbarbutton-icon {
+ background: url("chrome://communicator/skin/bookmarks/bookmark-folder-open.gif") no-repeat !important;
+}
+
+toolbarpaletteitem[place] .bookmarks-toolbar-customize {
+ display: -moz-box !important;
+}
+
+toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-overflow-items,
+toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-items {
+ visibility: hidden;
}
/* ::::: content area ::::: */
#content {
border-bottom: 1px solid #494F5D;
}