diff -uNr orig.linktoolbar/content/linktoolbar/LinkToolbarHandler.js linktoolbar/content/linktoolbar/LinkToolbarHandler.js
--- orig.linktoolbar/content/linktoolbar/LinkToolbarHandler.js Wed Jul 11 19:53:09 2001
+++ linktoolbar/content/linktoolbar/LinkToolbarHandler.js Wed Jul 11 19:53:18 2001
@@ -32,6 +32,8 @@
this.items = new Array();
+ this.hasItems = false;
+
this.handleLinks = function(nodeList) {
if (!nodeList) return;
@@ -51,6 +53,8 @@
var element = new LinkElementDecorator(element);
if (element.isIgnored()) return;
+
+ this.hasItems = true;
var relAttributes = element.rel.split(" ");
for (var i = 0; i < relAttributes.length; i++) {
@@ -130,6 +134,7 @@
this.clearAllItems = function() {
for (var linkType in this.items)
this.items[linkType].clear();
+ this.hasItems = false;
}
}
const linkToolbarHandler = new LinkToolbarHandler();
diff -uNr orig.linktoolbar/content/linktoolbar/linkToolbarOverlay.js linktoolbar/content/linktoolbar/linkToolbarOverlay.js
--- orig.linktoolbar/content/linktoolbar/linkToolbarOverlay.js Mon Jul 2 01:50:31 2001
+++ linktoolbar/content/linktoolbar/linkToolbarOverlay.js Wed Jul 11 20:10:08 2001
@@ -35,10 +35,10 @@
}
function isLinkToolbarEnabled() {
- if (document.getElementById("cmd_viewlinktoolbar").getAttribute("checked") == "true")
- return true;
- else
+ if (document.getElementById("linktoolbar").getAttribute("hidden") == "true")
return false;
+ else
+ return true;
}
function doRefresh() {
@@ -48,6 +48,9 @@
// FIXME: browser becomes unresponsive during this call...for as
// long as 2 or more seconds on heavily linked documents
// linkToolbarHandler.handleLinks(getAnchorElements());
+
+ document.getElementById("linktoolbar").
+ setAttribute("hasitems", linkToolbarHandler.hasItems);
}
function getLinkElements() {
@@ -110,8 +113,8 @@
// functions for twiddling XUL elements in the toolbar
-function toggleLinkToolbar() {
- goToggleToolbar('linktoolbar', 'cmd_viewlinktoolbar');
+function toggleLinkToolbar(checkedItem) {
+ goToggleTristateToolbar('linktoolbar', checkedItem);
if (isLinkToolbarEnabled())
profile("doRefresh", doRefresh);
else
@@ -122,4 +125,18 @@
}
function hideMiscellaneousSeperator() {
document.getElementById("misc-seperator").setAttribute("collapsed", "true");
+}
+function initLinkbarVisibilityMenu() {
+ var state = document.getElementById('linktoolbar').getAttribute("hidden");
+ if (!state) state = "false";
+ var checkedItem = document.getElementById('cmd_viewlinktoolbar_' + state);
+ checkedItem.setAttribute("checked", true);
+ checkedItem.checked = true;
+}
+function goToggleTristateToolbar(id, checkedItem) {
+ var toolbar = document.getElementById(id);
+ if (toolbar) {
+ toolbar.setAttribute("hidden", checkedItem.value);
+ document.persist(id, 'hidden');
+ }
}
diff -uNr orig.linktoolbar/content/linktoolbar/linkToolbarOverlay.xul linktoolbar/content/linktoolbar/linkToolbarOverlay.xul
--- orig.linktoolbar/content/linktoolbar/linkToolbarOverlay.xul Mon Jul 2 01:01:19 2001
+++ linktoolbar/content/linktoolbar/linkToolbarOverlay.xul Wed Jul 11 19:20:50 2001
@@ -48,12 +48,14 @@
]]>
-
-
-
-
diff -uNr orig.linktoolbar/locale/en-US/linktoolbar/linkToolbarOverlay.dtd linktoolbar/locale/en-US/linktoolbar/linkToolbarOverlay.dtd
--- orig.linktoolbar/locale/en-US/linktoolbar/linkToolbarOverlay.dtd Mon Jul 2 01:06:47 2001
+++ linktoolbar/locale/en-US/linktoolbar/linkToolbarOverlay.dtd Tue Jul 10 22:29:45 2001
@@ -17,6 +17,9 @@
+
+
+
diff -uNr orig.linktoolbar/skin/classic/linktoolbar/linkToolbarOverlay.css linktoolbar/skin/classic/linktoolbar/linkToolbarOverlay.css
--- orig.linktoolbar/skin/classic/linktoolbar/linkToolbarOverlay.css Mon Jul 2 01:21:54 2001
+++ linktoolbar/skin/classic/linktoolbar/linkToolbarOverlay.css Wed Jul 11 19:42:30 2001
@@ -26,6 +26,14 @@
/**
+ * Autohide the whole toolbar if appropriate.
+ */
+#linktoolbar[hidden="maybe"][hasitems="false"]
+{
+ display: none;
+}
+
+/**
* Link toolbar items
**/
diff -uNr orig.linktoolbar/skin/modern/linktoolbar/linkToolbarOverlay.css linktoolbar/skin/modern/linktoolbar/linkToolbarOverlay.css
--- orig.linktoolbar/skin/modern/linktoolbar/linkToolbarOverlay.css Mon Jul 2 01:18:55 2001
+++ linktoolbar/skin/modern/linktoolbar/linkToolbarOverlay.css Wed Jul 11 19:42:45 2001
@@ -26,6 +26,14 @@
/**
+ * Autohide the whole toolbar if appropriate.
+ */
+#linktoolbar[hidden="maybe"][hasitems="false"]
+{
+ display: none;
+}
+
+/**
* Link toolbar items
**/