NonAutohide v2.14 - Fast Dial
Submitted by Mafia_Penguin on Sun, 11/02/2008 - 00:14.
Not exactly a style, but closer than any other area. If this is a bad place to post this, then contact an admin.
This may not work with some themes!
Thanks to PedroMRP for the fix!
How to disable the autohide of the toolbars:
A, Replace overlay.xul (in your profile folder->extensions->fastdial@telega.phpnet.us->chrome->content) with THIS.
Or, if you don't trust me (; then do this:
B, Open overlay.xul (in your profile folder->extensions->fastdial@telega.phpnet.us->chrome->content)
and replace ALL OF IT with this:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://fastdial/skin/toolbar.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://fastdial/locale/fastdial.dtd">
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<window id="main-window">
<hbox style="overflow:hidden; height: 0;">
<vbox id="hidden-box"/>
</hbox>
<menupopup id="fd-menu"
oncommand="Fd.menu.onCommand(event, event.target.id);">
<menu id="fd-add" label="&add;">
<menupopup>
<menuitem id="fd-add-url" label="URL"/>
<menuitem id="fd-add-folder" label="&folder;"/>
<menu id="fd-add-link" label="&link;">
<menupopup onpopupshowing="Fd.menu.populateLinkMenu();"/>
</menu>
</menupopup>
</menu>
<menu id="fd-firefox-menu" label="Firefox"
oncommand="event.stopPropagation();">
<menupopup collapsed="true" onpopupshowing="return Fd.showFirefoxMenu();"
onpopuphiding="Fd.hideFirefoxMenu();"/>
</menu>
<menuseparator id="fd-separator1"/>
<menuitem id="fd-open-all" label="&openAll;"/>
<menuitem id="fd-refresh" label="&refresh;"/>
<menuitem id="fd-refresh-all" label="&refreshAll;"/>
<menuitem id="fd-remove" label="&remove;"/>
<menuitem id="fd-preferences" label="&preferences;"/>
<menuseparator id="fd-separator2"/>
<menuitem id="fd-properties" label="&properties;"/>
</menupopup>
<menupopup id="fd-search-menu"
onpopupshowing="Fd.populateSearchMenu();"
oncommand="Fd.setSearchEngine(event.target);"/>
</window>
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="fd-button" label="Fast Dial" class="toolbarbutton-1"
type="menu-button" oncommand="FdUtils.openLink(FdInfo.URL, event);"
onclick="if (event.button == 1) FdUtils.openLink(FdInfo.URL, event);">
<menupopup onpopupshowing="Fd.populateOpenMenu();"/>
</toolbarbutton>
</toolbarpalette>
<popup id="contentAreaContextMenu">
<menu id="fd-add-menu" label="&addToFastDial;" class="menu-iconic"
image="chrome://fastdial/skin/icon.png">
<menupopup onpopupshowing="Fd.populateAddMenu();"/>
</menu>
</popup>
<popup id="placesContext">
<menuitem id="fd-export" label="&export;…"
class="menuitem-iconic" image="chrome://fastdial/skin/icon.png"
oncommand="Fd.export();"/>
<menuitem id="fd-import" label="&import;…"
class="menuitem-iconic" image="chrome://fastdial/skin/icon.png"
oncommand="Fd.import();"/>
<menuitem id="fd-set-home" label="&setAsHome;"
class="menuitem-iconic" image="chrome://fastdial/skin/icon.png"
oncommand="Fd.setAsHome();"/>
</popup>
<toolbox id="navigator-toolbox">
<toolbar id="fd-toolbar" position="1"/>
</toolbox>
<script src="utils.js"/>
<script src="dom.js"/>
<script src="file.js"/>
<script src="tabloader.js"/>
<script src="bookmark.js"/>
<script src="storage.js"/>
<script src="snapshot.js"/>
<script src="template/template.js"/>
<script src="thumbnail/thumbnail.js"/>
<script src="legacy.js"/>
<script>
<![CDATA[
var Fd = {
menu: {
folder: null,
thumbnail: null,
show: function(x, y, folder, thumbnail) {
Fd.menu.folder = folder;
Fd.menu.thumbnail = thumbnail;
var isEmpty = !thumbnail || !thumbnail.properties.id;
var isFolder = !isEmpty && thumbnail.properties.isFolder;
FdDom.get("fd-open-all").hidden = !isFolder;
FdDom.get("fd-refresh").hidden = isEmpty;
FdDom.get("fd-refresh-all").hidden = thumbnail;
FdDom.get("fd-remove").hidden = isEmpty;
FdDom.get("fd-separator2").hidden = !thumbnail;
FdDom.get("fd-properties").hidden = !thumbnail;
var menu = FdDom.get("fd-menu");
menu.openPopupAtScreen(x, y, true);
},
onCommand: function(e, command) {
var thumbnail = Fd.menu.thumbnail;
switch(command) {
case "fd-open-all": thumbnail.openAll(); break;
case "fd-refresh": thumbnail.refresh(); break;
case "fd-remove": thumbnail.remove(); break;
case "fd-preferences": Fd.openPreferences(); break;
case "fd-properties": thumbnail.openProperties(); break;
case "fd-refresh-all":
var wnd = content.wrappedJSObject;
for(var i in wnd.thumbnails) {
var thumbnail = wnd.thumbnails[i];
if (thumbnail.properties.refreshAll == undefined
? !thumbnail.properties.customImage
: thumbnail.properties.refreshAll) thumbnail.refresh();
}
break;
case "fd-add-url":
var thumbnail = Fd.menu.newThumbnail();
thumbnail.openProperties();
break;
case "fd-add-folder":
var thumbnail = Fd.menu.newThumbnail();
thumbnail.properties.isFolder = true;
thumbnail.openProperties();
break;
case "fd-add-link":
var thumbnail = Fd.menu.newThumbnail();
var link = e.originalTarget;
thumbnail.properties.url = FdStorage.getFolderURL(link.value);
thumbnail.properties.title = link.label;
thumbnail.openProperties();
break;
}
},
newThumbnail: function() {
var folder = Fd.menu.folder;
var properties = {
folderId: folder.id
}
var wnd = content.wrappedJSObject;
for(var i = 0; i < folder.width * folder.height; i++) {
var thumbnail = wnd.thumbnails[i];
if (!thumbnail.properties.id) break;
}
properties.index = i;
return new FdThumbnail(properties, folder);
}
},
showFirefoxMenu: function() {
var contentMenu = FdDom.get("contentAreaContextMenu");
var menu = FdDom.get("fd-firefox-menu");
contentMenu.openPopup(menu, "end_before", 0, 0, true, true);
},
hideFirefoxMenu: function() {
var contentMenu = FdDom.get("contentAreaContextMenu");
var parent = contentMenu.parentNode;
parent.removeChild(contentMenu);
parent.appendChild(contentMenu);
},
openPreferences: function() {
openDialog("chrome://fastdial/content/preferences.xul",
"fastdial-preferences", "chrome,centerscreen,toolbar");
},
initialize: function() {
FdTabLoader.load();
Fd.initShortcutKeys();
var fdToolbar = FdDom.get("fd-toolbar");
fdToolbar.addEventListener("mouseover", Fd.showNavBar, false);
var panelContainer = gBrowser.mPanelContainer;
panelContainer.addEventListener("mouseover", Fd.hideNavBar, false);
var tabMenu = document.getAnonymousElementByAttribute(gBrowser, "anonid", "tabContextMenu");
var menuitem = FdDom.get("fd-add-menu").cloneNode(true);
tabMenu.appendChild(menuitem);
var placesContext = FdDom.get("placesContext");
placesContext.addEventListener("popupshowing", function(e) {
FdDom.get("fd-export").hidden =
FdDom.get("fd-set-home").hidden = !document.popupNode.getAttribute("container");
}, false);
if (!FdPrefs.getString("version")) Fd.addToolbarButton();
FdPrefs.setString("version", FdUtils.getVersion());
},
showNavBar: function() {
FdDom.get("fd-toolbar").collapsed = true;
FdDom.get("toolbar-menubar").collapsed = false;
FdDom.get("nav-bar").collapsed = false;
},
hideNavBar: function() {
FdDom.get("fd-toolbar").collapsed = true;
FdDom.get("toolbar-menubar").collapsed = false;
FdDom.get("nav-bar").collapsed = false;
},
addToolbarButton: function() {
var navbar = document.getElementById("nav-bar");
if (!navbar.currentSet.match("fd-button")) {
var urlbar = FdDom.get("urlbar-container");
navbar.insertItem("fd-button", urlbar, null, false);
navbar.currentSet = navbar.currentSet;
navbar.setAttribute("currentset", navbar.currentSet);
document.persist("nav-bar", "currentset");
}
},
initShortcutKeys: function() {
var mainKeyset = FdDom.get("mainKeyset");
var items = FdStorage.getAllItems();
for(var i in items) {
var item = items[i];
if (!item.shortcutKey) continue;
var modifiers = "";
if (item.shortcutKey.match(/Ctrl/)) modifiers += "accel ";
if (item.shortcutKey.match(/Alt/)) modifiers += "alt ";
if (item.shortcutKey.match(/Shift/)) modifiers += "shift ";
var key = document.createElement("key");
key.setAttribute("modifiers", modifiers);
key.setAttribute("key", item.shortcutKey.match(/.$/));
var parent = items[item.folderId];
var openIn = (!item.isFolder && item.openIn) ||
(parent && parent.openIn) || "current";
var command = "FdUtils.openLink('" + item.url + "','" + openIn + "');";
key.setAttribute("oncommand", command);
FdDom.prepend(mainKeyset, key);
}
},
autoRefresh: function() {
var currentTime = new Date().getTime();
var items = FdStorage.getAllItems();
var refreshed = FdPrefs.getObject("refreshed");
for(var i in items) {
var item = items[i];
if (!item.refresh || refreshed[item.id] + item.refresh * 60 * 1000 > currentTime) continue;
FdSnapshot.create(item, items[item.folderId]);
}
setTimeout(Fd.autoRefresh, 60 * 1000);
},
setAsHome: function() {
var menupopup = document.popupNode.firstChild;
if (menupopup._resultNode) {
FdBookmark.setRoot(menupopup._resultNode.itemId);
}
},
populateFoldersMenu: function(menupopup, onCommand) {
FdDom.clear(menupopup);
var bookmarks = FdBookmark.getBookmarks("BOOKMARKS_MENU").concat(
FdBookmark.getBookmarks("TOOLBAR"));
for(var i in bookmarks) {
var bookmark = bookmarks[i];
if (bookmark.isFolder) {
var menuitem = document.createElement("menuitem");
menuitem.setAttribute("label", bookmark.title);
menuitem.setAttribute("oncommand", onCommand(bookmark));
menupopup.appendChild(menuitem);
}
}
},
populateAddMenu: function() {
var menupopup = FdDom.get("fd-add-menu").firstChild;
Fd.populateFoldersMenu(menupopup,
function(bookmark) {
return "Fd.addPage(" + bookmark.id + ");";
});
},
populateOpenMenu: function() {
var menupopup = FdDom.get("fd-button").firstChild;
Fd.populateFoldersMenu(menupopup,
function(bookmark) {
return "FdUtils.openLink('" + bookmark.url + "');";
});
if (menupopup.childNodes.length > 0) {
var separator = document.createElement("menuseparator");
menupopup.appendChild(separator);
}
var menuitem = document.createElement("menuitem");
menuitem.setAttribute("label", FdBundle.getString("preferences"));
menuitem.setAttribute("oncommand", "Fd.openPreferences();");
menupopup.appendChild(menuitem);
},
populateLinkMenu: function() {
var menupopup = FdDom.get("fd-add-link").firstChild;
Fd.populateFoldersMenu(menupopup);
},
populateSearchMenu: function() {
var menupopup = FdDom.get("fd-search-menu");
FdDom.clear(menupopup);
var searchService = Components.classes["@mozilla.org/browser/search-service;1"]
.getService(Components.interfaces.nsIBrowserSearchService);
var engines = searchService.getEngines({});
for(var i in engines) {
var menuitem = document.createElement("menuitem");
menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("label", engines[i].name);
menuitem.setAttribute("image", engines[i].iconURI.spec);
menupopup.appendChild(menuitem);
}
},
setSearchEngine: function(menuitem) {
var uri = menuitem.getAttribute("image");
var searchService = Components.classes["@mozilla.org/browser/search-service;1"]
.getService(Components.interfaces.nsIBrowserSearchService);
var engines = searchService.getEngines({});
for(var i in engines) {
if (engines[i].iconURI.spec == uri) {
searchService.currentEngine = engines[i];
}
}
var wnd = content.wrappedJSObject;
if (wnd.FdDom) {
var search = wnd.FdDom.get("search");
var searchIcon = wnd.FdDom.child(search, "img");
searchIcon.src = uri;
}
},
addPage: function(folderId) {
var item = {
url: content.location.href,
title: content.document.title,
folderId: folderId,
index: -1
}
FdBookmark.saveBookmark(item);
var message = FdBundle.getString("pageAdded");
FdUtils.popup(message);
},
export: function() {
var file = FdFile.chooseFile("save", ["*.json"]);
if (!file) return;
var menupopup = document.popupNode.firstChild;
if (menupopup._resultNode) {
var rootId = menupopup._resultNode.itemId;
var root = FdStorage.getItem(rootId);
var folder, folders = [ root ];
while(folder = folders.shift()) {
var items = FdStorage.getItems(folder.id);
folder.items = items;
for(var i in items) {
if (items[i].isFolder) folders.push(items[i]);
}
}
FdFile.writeFile(file, FdUtils.toJSON(root), true);
}
},
import: function() {
var file = FdFile.chooseFile("open", ["*.json"]);
if (!file) return;
var data = FdFile.readFile(file);
var root = eval(data.value);
var translatedIds = [];
var folders = [ FdUtils.clone(root) ];
var id = root.id;
var menuitem = document.popupNode;
root.folderId = menuitem.node.parent.itemId;
delete root.id;
delete root.items;
FdStorage.saveItem(root);
translatedIds[id] = root.id;
var folder;
while(folder = folders.shift()) {
var items = folder.items;
for(var i in items) {
var item = items[i];
if (item.isFolder) folders.push(FdUtils.clone(item));
var id = item.id;
item.folderId = translatedIds[folder.id];
delete item.id;
delete item.items;
FdStorage.saveItem(item);
translatedIds[id] = item.id;
}
}
}
}
FdLegacy.migrate();
setTimeout(Fd.autoRefresh, 3 * 1000);
addEventListener("load", Fd.initialize, false);
]]>
</script>
</overlay>To undo this fix, simply reinstall Fast Dial 2.14.
That will not get rid of your logos.


(1 vote)




Re: Disable Autohide in v2.14
Submitted by chiaroscuro on Sun, 11/02/2008 - 01:16.@Mafia_Penguin
I am a little unclear as to why the settings in your post differ from those recommended in PedroMRP's fix in his post here
showNavBar: function() {
FdDom.get("fd-toolbar").collapsed = true;
FdDom.get("toolbar-menubar").collapsed = false;
FdDom.get("nav-bar").collapsed = true;
},
hideNavBar: function() {
FdDom.get("fd-toolbar").collapsed = true;
FdDom.get("toolbar-menubar").collapsed = false;
FdDom.get("nav-bar").collapsed = true;
},
Re: NonAutohide
Submitted by Mafia_Penguin on Sun, 11/02/2008 - 06:39.Here?
showNavBar: function() {FdDom.get("fd-toolbar").collapsed = true;
FdDom.get("toolbar-menubar").collapsed = false;
FdDom.get("nav-bar").collapsed = false;
},
Notice how the nav-bar is not collapsed...

Let me see if I made a mistake...
-----------------------------------------
Re: NonAutohide
Submitted by chiaroscuro on Sun, 11/02/2008 - 06:41.Here?
Yes those lines and the four lines below.
Both are different from PedroMRPs post.
Re: NonAutohide
Submitted by Mafia_Penguin on Sun, 11/02/2008 - 06:45.Hmmm....

My navigation bar disappears when I do it pedroMRP's way...
-----------------------------------------
Re: NonAutohide
Submitted by Mafia_Penguin on Sun, 11/02/2008 - 06:49.Aha!
It depends on your theme!
Odd....
-----------------------------------------

Re: NonAutohide
Submitted by Mafia_Penguin on Sun, 11/02/2008 - 05:51.It simply is not there...

so no, it does not work on the theme I use...
-----------------------------------------
Re: NonAutohide
Submitted by chiaroscuro on Sun, 11/02/2008 - 06:56.Mafia_Penguin
If I remember correctly you first made an FD Version using the 2.11 code.
Then PedroMRP came up with a modification of the 2.14 code.
It seems odd that you are now encountering problems.
Did you not try PedroMRPs fix successfully before ?
Re: NonAutohide
Submitted by Mafia_Penguin on Sun, 11/02/2008 - 07:01.I edited it before I loaded it....

I'll post PedroMRP's code (for default theme) and post a warning about it not working with some themes.
-----------------------------------------
Re: NonAutohide
Submitted by chiaroscuro on Sun, 11/02/2008 - 07:06.I'll post PedroMRP's code (for default theme) and post a warning about it not working with some themes.
Mmm
Sounds like a good idea
Re: NonAutohide
Submitted by chiaroscuro on Sun, 11/02/2008 - 08:58.Mafia_Penguin
---
Please look at this post of Mafi0z here
---
This is getting confusing
---
It would seem that Mafi0z and maybe you too Mafia_Penguin, are in fact using a modification to the code that differs from the fix originally suggested by PedroMRP.
---
I wonder from where this other Version originates...