diff --git a/mozilla/modules/libpref/src/init/all.js b/mozilla/modules/libpref/src/init/all.js index 83016612b3c..7c04d25f72e 100644 --- a/mozilla/modules/libpref/src/init/all.js +++ b/mozilla/modules/libpref/src/init/all.js @@ -115,6 +115,7 @@ pref("browser.chrome.toolbar_style", 2); pref("browser.toolbars.showbutton.bookmarks", true); pref("browser.toolbars.showbutton.go", false); pref("browser.toolbars.showbutton.home", true); +pref("browser.toolbars.showbutton.sidebar", true); pref("browser.toolbars.showbutton.mynetscape", true); pref("browser.toolbars.showbutton.net2phone", true); pref("browser.toolbars.showbutton.print", true); diff --git a/mozilla/themes/classic/communicator/sidebar/sb-closed.gif b/mozilla/themes/classic/communicator/sidebar/sb-closed.gif new file mode 100644 index 00000000000..68a2241828f Binary files /dev/null and b/mozilla/themes/classic/communicator/sidebar/sb-closed.gif differ diff --git a/mozilla/themes/classic/communicator/sidebar/sb-open.gif b/mozilla/themes/classic/communicator/sidebar/sb-open.gif new file mode 100644 index 00000000000..8cefb27471a Binary files /dev/null and b/mozilla/themes/classic/communicator/sidebar/sb-open.gif differ diff --git a/mozilla/themes/classic/communicator/sidebar/sidebar.css b/mozilla/themes/classic/communicator/sidebar/sidebar.css index 64f8ef86dcd..6c16c2c9110 100644 --- a/mozilla/themes/classic/communicator/sidebar/sidebar.css +++ b/mozilla/themes/classic/communicator/sidebar/sidebar.css @@ -28,6 +28,18 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +/* ::::: sidebar toggle button (on personal toolbar) ::::: */ + +#sidebar-button[sbopen="true"] { + list-style-image: url("chrome://communicator/skin/sidebar/sb-open.gif"); +} + +#sidebar-button[sbopen="false"] { + list-style-image: url("chrome://communicator/skin/sidebar/sb-closed.gif"); +} + +/* ::::: sidebar container ::::: */ + #sidebar-box { border-left: 1px solid ThreeDShadow; border-right: 1px solid ThreeDHighlight; diff --git a/mozilla/themes/classic/jar.mn b/mozilla/themes/classic/jar.mn index fb6fa7af95c..dee2aa13306 100644 --- a/mozilla/themes/classic/jar.mn +++ b/mozilla/themes/classic/jar.mn @@ -45,6 +45,8 @@ classic.jar: skin/classic/communicator/search/search-editor.css (communicator/search/search-editor.css) skin/classic/communicator/search/search.css (communicator/search/search.css) skin/classic/communicator/search/internetresults.css (communicator/search/internetresults.css) + skin/classic/communicator/sidebar/sb-open.gif (communicator/sidebar/sb-open.gif) + skin/classic/communicator/sidebar/sb-closed.gif (communicator/sidebar/sb-closed.gif) skin/classic/communicator/sidebar/sbtab-twisty.gif (communicator/sidebar/sbtab-twisty.gif) skin/classic/communicator/sidebar/sbtab-twisty-open.gif (communicator/sidebar/sbtab-twisty-open.gif) skin/classic/communicator/sidebar/customize.css (communicator/sidebar/customize.css) diff --git a/mozilla/themes/modern/communicator/sidebar/sb-closed.gif b/mozilla/themes/modern/communicator/sidebar/sb-closed.gif new file mode 100644 index 00000000000..68a2241828f Binary files /dev/null and b/mozilla/themes/modern/communicator/sidebar/sb-closed.gif differ diff --git a/mozilla/themes/modern/communicator/sidebar/sb-open.gif b/mozilla/themes/modern/communicator/sidebar/sb-open.gif new file mode 100644 index 00000000000..8cefb27471a Binary files /dev/null and b/mozilla/themes/modern/communicator/sidebar/sb-open.gif differ diff --git a/mozilla/themes/modern/communicator/sidebar/sidebar.css b/mozilla/themes/modern/communicator/sidebar/sidebar.css index 27ffb1df7b0..7710ca2dc1b 100644 --- a/mozilla/themes/modern/communicator/sidebar/sidebar.css +++ b/mozilla/themes/modern/communicator/sidebar/sidebar.css @@ -41,6 +41,18 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +/* ::::: sidebar toggle button (on personal toolbar) ::::: */ + +#sidebar-button[sbopen="true"] { + list-style-image: url("chrome://communicator/skin/sidebar/sb-open.gif"); +} + +#sidebar-button[sbopen="false"] { + list-style-image: url("chrome://communicator/skin/sidebar/sb-closed.gif"); +} + +/* ::::: sidebar container ::::: */ + #sidebar-box { border-left: 1px solid #8998AA; background-color: #C1CBD5; diff --git a/mozilla/themes/modern/jar.mn b/mozilla/themes/modern/jar.mn index bb9de43b1bf..b65fd184680 100644 --- a/mozilla/themes/modern/jar.mn +++ b/mozilla/themes/modern/jar.mn @@ -57,6 +57,8 @@ modern.jar: skin/modern/communicator/search/search.css (communicator/search/search.css) skin/modern/communicator/alerts/alert.css (communicator/alerts/alert.css) skin/modern/communicator/sidebar/sidebarBindings.xml (communicator/sidebar/sidebarBindings.xml) + skin/modern/communicator/sidebar/sb-open.gif (communicator/sidebar/sb-open.gif) + skin/modern/communicator/sidebar/sb-closed.gif (communicator/sidebar/sb-closed.gif) skin/modern/communicator/sidebar/sbtab-rit-top-act.gif (communicator/sidebar/sbtab-rit-top-act.gif) skin/modern/communicator/sidebar/sbtab-rit-btm-act.gif (communicator/sidebar/sbtab-rit-btm-act.gif) skin/modern/communicator/sidebar/sbtab-rit-top.gif (communicator/sidebar/sbtab-rit-top.gif) diff --git a/mozilla/xpfe/components/sidebar/resources/locale/en-US/sidebarOverlay.dtd b/mozilla/xpfe/components/sidebar/resources/locale/en-US/sidebarOverlay.dtd index a5982b514fb..21921b323e6 100644 --- a/mozilla/xpfe/components/sidebar/resources/locale/en-US/sidebarOverlay.dtd +++ b/mozilla/xpfe/components/sidebar/resources/locale/en-US/sidebarOverlay.dtd @@ -45,4 +45,5 @@ + diff --git a/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.js b/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.js index ce8a8f8271e..a770fc104aa 100644 --- a/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.js +++ b/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.js @@ -704,9 +704,15 @@ function refresh_all_sidebars() { // Sidebar Init ////////////////////////////////////////////////////////////// function sidebar_overlay_init() { + + // do we have a sidebar? + if (!document.getElementById("sidebar-panels-splitter-box")) + return; + if (sidebar_is_collapsed() && !gAboutToUncollapse) return; gMustInit = false; + sidebarObj.panels = new sbPanelList('sidebar-panels'); sidebarObj.datasource_uri = get_sidebar_datasource_uri(); sidebarObj.resource = 'urn:sidebar:current-panel-list'; @@ -733,6 +739,9 @@ function sidebar_overlay_init() { if (sidebarObj.never_built) { sidebarObj.never_built = false; + // set personal toolbar sidebar icon to correct state + SidebarToggleIcon(); + debug("sidebar = " + sidebarObj); debug("sidebarObj.resource = " + sidebarObj.resource); debug("sidebarObj.datasource_uri = " + sidebarObj.datasource_uri); @@ -780,9 +789,14 @@ function sidebar_overlay_init() { } function sidebar_overlay_destruct() { - var panels = document.getElementById('sidebar-panels'); - debug("Removing observer from database."); - panels.database.RemoveObserver(panel_observer); + + // do we have a sidebar? + if (!document.getElementById("sidebar-panels-splitter-box")) + return; + + var panels = document.getElementById('sidebar-panels'); + debug("Removing observer from database."); + panels.database.RemoveObserver(panel_observer); } function sidebar_open_default_panel(wait, tries) { @@ -1091,6 +1105,7 @@ function sidebar_is_collapsed() { } function SidebarExpandCollapse() { + SidebarToggleIcon(); var sidebar_splitter = document.getElementById('sidebar-splitter'); var sidebar_box = document.getElementById('sidebar-box'); if (sidebar_splitter.getAttribute('state') == 'collapsed') { @@ -1117,6 +1132,7 @@ function sidebar_is_hidden() { // Show/Hide the entire sidebar. // Invoked by the "View / Sidebar" menu option. function SidebarShowHide() { + SidebarToggleIcon(); var sidebar_box = document.getElementById('sidebar-box'); var title_box = document.getElementById('sidebar-title-box'); var sidebar_panels_splitter = document.getElementById('sidebar-panels-splitter'); @@ -1299,6 +1315,27 @@ function SidebarTogglePanel(panel_menuitem) { sidebarObj.datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource).Flush(); } +function SidebarToggleIcon() +{ + var sidebarButton = document.getElementById("sidebar-button"); + if (sidebarButton) + { + var newValue = false; + if (sidebarButton.getAttribute("sbopen") == "false") + newValue = true; + + sidebarButton.setAttribute("sbopen", newValue); + + var tooltipText; + if (newValue) // it's open so show action ``<== Close Sidebar'' + tooltipText = sidebarButton.getAttribute("sbclosetooltip"); + else // it's closed so show action ``==> Open Sidebar'' + tooltipText = sidebarButton.getAttribute("sbopentooltip"); + + sidebarButton.setAttribute("tooltiptext", tooltipText); + } +} + function SidebarNavigate(aDirection) { debug("SidebarNavigate " + aDirection); diff --git a/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.xul b/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.xul index 3bb805ad90b..f9bc1fa3069 100644 --- a/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.xul +++ b/mozilla/xpfe/components/sidebar/resources/sidebarOverlay.xul @@ -21,7 +21,7 @@ - + @@ -54,6 +54,42 @@ oncommand="SidebarCustomize();"/> + + + + + + + + + + + + +