Merge pull request #603 from fbennett/icon-to-nav-bar

Use nav-bar as id of menu button container
This commit is contained in:
Dan Stillman 2015-01-30 20:42:41 -05:00
commit deb77cdb08
11 changed files with 16 additions and 138 deletions

View file

@ -75,18 +75,18 @@ var ZoteroOverlay = new function()
.getService(Components.interfaces.nsIPrefService)
.getBranch('extensions.zotero.');
var addonBar = document.getElementById('addon-bar');
var navBar = document.getElementById('nav-bar');
var iconPref = prefBranch.getIntPref('statusBarIcon');
// If this is the first run, add icon to add-on bar if not
// in the window already and not hidden by the Zotero prefs
if (!document.getElementById("zotero-toolbar-button") && iconPref != 0) {
addonBar.insertItem("zotero-toolbar-button");
addonBar.setAttribute("currentset", addonBar.currentSet);
document.persist(addonBar.id, "currentset");
addonBar.setAttribute("collapsed", false);
document.persist(addonBar.id, "collapsed");
navBar.insertItem("zotero-toolbar-button");
navBar.setAttribute("currentset", navBar.currentSet);
document.persist(navBar.id, "currentset");
navBar.setAttribute("collapsed", false);
document.persist(navBar.id, "collapsed");
}
var icon = document.getElementById('zotero-toolbar-button');
@ -108,13 +108,10 @@ var ZoteroOverlay = new function()
}
icon.setAttribute('tooltiptext', str);
if (iconPref == 1) {
icon.setAttribute('compact', true);
}
// If hidden in prefs, remove from add-on bar
else if (iconPref == 0) {
if (iconPref == 0) {
var toolbar = icon.parentNode;
if (toolbar.id == 'addon-bar') {
if (toolbar.id == 'nav-bar') {
var palette = document.getElementById("navigator-toolbox").palette;
palette.appendChild(icon);
toolbar.setAttribute("currentset", toolbar.currentSet);
@ -197,19 +194,16 @@ var ZoteroOverlay = new function()
function onToolbarChange(e) {
// e.target seems to be navigator-toolbox in all cases,
// so check the addon-bar directly
var addonBar = document.getElementById("addon-bar");
// so check the nav-bar directly
var navBar = document.getElementById("nav-bar");
var icon = document.getElementById("zotero-toolbar-button");
if (icon) {
// If dragged to add-on bar
if (addonBar.getElementsByAttribute("id", "zotero-toolbar-button").length) {
// If dragged to nav bar
if (navBar.getElementsByAttribute("id", "zotero-toolbar-button").length) {
var statusBarPref = Zotero.Prefs.get("statusBarIcon");
// If pref set to hide, force to full
if (statusBarPref == 0) {
Zotero.Prefs.set("statusBarIcon", 2)
}
else if (statusBarPref == 1) {
icon.setAttribute("compact", true);
Zotero.Prefs.set("statusBarIcon", 1)
}
return;
}

View file

@ -35,32 +35,9 @@ Zotero_Preferences.General = {
);
}
// Only show icon options for Firefox <29
if (Zotero.platformMajorVersion < 29) {
let statusBarRow = document.getElementById('zotero-prefpane-general-statusBarIcon-row');
if (statusBarRow) {
statusBarRow.hidden = false;
}
}
document.getElementById('noteFontSize').value = Zotero.Prefs.get('note.fontSize');
},
/**
* Sets "Status bar icon" to "None" if Zotero is set to load in separate tab
*/
handleShowInPreferenceChange: function () {
var showInSeparateTab = document.getElementById("zotero-prefpane-general-showIn-separateTab");
var showInAppTab = document.getElementById("zotero-prefpane-general-showIn-appTab");
if(showInAppTab.selected) {
document.getElementById('statusBarIcon').selectedItem = document.getElementById('statusBarIcon-none');
Zotero.Prefs.set("statusBarIcon", 0);
} else {
document.getElementById('statusBarIcon').selectedItem = document.getElementById('statusBarIcon-full');
Zotero.Prefs.set("statusBarIcon", 2);
}
},
updateTranslators: function () {
Zotero.Schema.updateFromRepository(true, function (xmlhttp, updated) {

View file

@ -29,7 +29,6 @@
<prefpane id="zotero-prefpane-general">
<preferences id="zotero-prefpane-general-preferences">
<preference id="pref-showIn" name="extensions.zotero.showIn" type="int"/>
<preference id="pref-statusBarIcon" name="extensions.zotero.statusBarIcon" type="int"/>
<preference id="pref-launchNonNativeFiles" name="extensions.zotero.launchNonNativeFiles" type="bool"/>
<preference id="pref-parseEndNoteMIMETypes"
name="extensions.zotero.parseEndNoteMIMETypes"
@ -42,22 +41,12 @@
<hbox align="center">
<label value="&zotero.preferences.showIn;" control="showAs"/>
</hbox>
<radiogroup id="showIn" orient="horizontal" preference="pref-showIn" oncommand="Zotero_Preferences.General.handleShowInPreferenceChange()">
<radiogroup id="showIn" orient="horizontal" preference="pref-showIn">
<radio id="zotero-prefpane-general-showIn-browserPane" label="&zotero.preferences.showIn.browserPane;" value="1"/>
<radio id="zotero-prefpane-general-showIn-separateTab" label="&zotero.preferences.showIn.separateTab;" value="2"/>
<radio id="zotero-prefpane-general-showIn-appTab" label="&zotero.preferences.showIn.appTab;" value="3"/>
</radiogroup>
</row>
<row position="2" id="zotero-prefpane-general-statusBarIcon-row" hidden="true">
<hbox align="center">
<label id="statusBarIcon-label" value="&zotero.preferences.statusBarIcon;" control="statusBarIcon"/>
</hbox>
<radiogroup id="statusBarIcon" orient="horizontal" preference="pref-statusBarIcon">
<radio id="statusBarIcon-full" src="chrome://zotero/skin/zotero_status_bar.png" value="2"/>
<radio id="statusBarIcon-compact" src="chrome://zotero/skin/zotero_status_bar_compact.png" value="1"/>
<radio id="statusBarIcon-none" label="&zotero.preferences.statusBarIcon.none;" value="0"/>
</radiogroup>
</row>
</rows>
</grid>
</groupbox>

View file

@ -2293,67 +2293,6 @@ Zotero.Prefs = new function(){
// Handlers for some Zotero preferences
var _handlers = [
[ "statusBarIcon", function(val) {
var doc = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator)
.getMostRecentWindow("navigator:browser").document;
var addonBar = doc.getElementById("addon-bar");
var icon = doc.getElementById("zotero-toolbar-button");
// When the customize window is open, toolbar buttons seem to
// become wrapped in toolbarpaletteitems, which we need to remove
// manually if we change the pref to hidden or else the customize
// window doesn't close.
var wrapper = doc.getElementById("wrapper-zotero-toolbar-button");
var palette = doc.getElementById("navigator-toolbox").palette;
var inAddonBar = false;
if (icon) {
// Because of the potential wrapper, don't just use .parentNode
var toolbar = Zotero.getAncestorByTagName(icon, "toolbar");
inAddonBar = toolbar == addonBar;
}
if (val == 0) {
// If showing in add-on bar, hide
if (!icon || !inAddonBar) {
return;
}
palette.appendChild(icon);
if (wrapper) {
addonBar.removeChild(wrapper);
}
addonBar.setAttribute("currentset", addonBar.currentSet);
doc.persist(addonBar.id, "currentset");
}
else {
// If showing somewhere else, remove it from there
if (icon && !inAddonBar) {
palette.appendChild(icon);
if (wrapper) {
toolbar.removeChild(wrapper);
}
toolbar.setAttribute("currentset", toolbar.currentSet);
doc.persist(toolbar.id, "currentset");
}
// If not showing in add-on bar, add
if (!inAddonBar) {
var icon = addonBar.insertItem("zotero-toolbar-button");
addonBar.setAttribute("currentset", addonBar.currentSet);
doc.persist(addonBar.id, "currentset");
addonBar.setAttribute("collapsed", false);
doc.persist(addonBar.id, "collapsed");
}
// And make small
if (val == 1) {
icon.setAttribute("compact", true);
}
// Or large
else if (val == 2) {
icon.removeAttribute("compact");
}
}
}],
[ "automaticScraperUpdates", function(val) {
if (val){
Zotero.Schema.updateFromRepository();

View file

@ -12,8 +12,6 @@
<!ENTITY zotero.preferences.showIn.browserPane "Browser pane">
<!ENTITY zotero.preferences.showIn.separateTab "Separate tab">
<!ENTITY zotero.preferences.showIn.appTab "App tab">
<!ENTITY zotero.preferences.statusBarIcon "Status bar icon:">
<!ENTITY zotero.preferences.statusBarIcon.none "None">
<!ENTITY zotero.preferences.fontSize "Font size:">
<!ENTITY zotero.preferences.fontSize.small "Small">
<!ENTITY zotero.preferences.fontSize.medium "Medium">

View file

@ -73,7 +73,7 @@ grid row hbox:first-child
}
#showIn radio, #statusBarIcon radio
#showIn radio
{
width: 120px;
}
@ -83,11 +83,6 @@ grid row hbox:first-child
margin-right: 20px;
}
#statusBarIcon radio .radio-icon
{
margin-left: 6px;
}
/*
* Sync pane

View file

@ -55,20 +55,6 @@ toolbarpaletteitem[place="palette"] > #zotero-toolbar-button:active {
list-style-image: url("chrome://zotero/skin/zotero-z-16px-australis.svg") !important;
}
#addon-bar #zotero-toolbar-button {
list-style-image: url(chrome://zotero/skin/zotero_status_bar.png);
height: 18px;
}
#addon-bar #zotero-toolbar-button[compact="true"] {
width: 20px;
list-style-image: url(chrome://zotero/skin/zotero_status_bar_compact.png);
}
#addon-bar #zotero-toolbar-button[error="true"] {
list-style-image: url(chrome://zotero/skin/zotero_status_bar_error.png);
}
/* Bindings */
textbox[multiline="true"][type="timed"]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 941 B

View file

@ -26,7 +26,7 @@ pref("extensions.zotero.triggerProxyAuthentication", true);
pref("extensions.zotero.proxyAuthenticationURLs", 'http://www.acm.org,http://www.ebscohost.com,http://www.elsevier.com,http://www.ieee.org,http://www.jstor.org,http://www.ovid.com,http://www.springer.com,http://www.tandfonline.com');
pref("extensions.zotero.cacheTranslatorData",true);
pref("extensions.zotero.showIn", 1);
pref("extensions.zotero.statusBarIcon", 2);
pref("extensions.zotero.statusBarIcon", 1);
pref("extensions.zotero.browserContentContextMenu", true);
pref("extensions.zotero.openURL.resolver","http://worldcatlibraries.org/registry/gateway");
pref("extensions.zotero.openURL.version","1.0");