Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/zotero/zotero into jurism…
Browse files Browse the repository at this point in the history
…-5.0-dev
  • Loading branch information
fbennett committed Mar 11, 2018
2 parents 317e1ac + 71bee9c commit d3744c7
Show file tree
Hide file tree
Showing 32 changed files with 496 additions and 120 deletions.
3 changes: 1 addition & 2 deletions .babelrc
Expand Up @@ -5,7 +5,6 @@
"ignore": [
"resource/require.js",
"chrome/content/zotero/include.js",
"resource/tinymce/tinymce.js",
"chrome/content/zotero/xpcom/citeproc.js",
"resource/csl-validator.js",
"resource/react.js",
Expand All @@ -25,4 +24,4 @@
}
]
]
}
}
4 changes: 4 additions & 0 deletions chrome/content/zotero-platform/unix/overlay.css
Expand Up @@ -229,6 +229,10 @@ tab {
-moz-appearance: textfield;
}

#zotero-prefs #noteFontSize {
min-width: 3.8em;
}

#zotero-pane splitter {
border: 0;
width: 6px;
Expand Down
11 changes: 1 addition & 10 deletions chrome/content/zotero-platform/win/overlay.css
Expand Up @@ -9,7 +9,7 @@

#zotero-pane #zotero-toolbar {
-moz-appearance: none !important;
margin-top: -4px;
margin-top: -3px;
border-bottom-color: var(--theme-border-color);
}

Expand Down Expand Up @@ -236,15 +236,6 @@ toolbar:not([id="nav-bar"]) #zotero-toolbar-buttons separator {
padding-left: 2px;
}

#zotero-toolbar:-moz-system-metric(windows-compositor) {
-moz-appearance: none !important;
background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
background-color: rgb(207, 219, 236) !important;
border-width: 0 0 1px 0;
border-style: solid;
border-color: #818790;
}

#zotero-collections-splitter:not([state=collapsed]),
#zotero-items-splitter:not([state=collapsed]),
#zotero-tags-splitter:not([state=collapsed]) {
Expand Down
1 change: 0 additions & 1 deletion chrome/content/zotero-platform/win/tagselector.css
@@ -1,4 +1,3 @@
button {
font-family: Segoe UI, sans-serif;
font-size: 1em;
}
11 changes: 0 additions & 11 deletions chrome/content/zotero/bibliography.js
Expand Up @@ -299,17 +299,6 @@ var Zotero_File_Interface_Bibliography = new function() {
// update status of displayAs box based on style class
document.getElementById("automaticJournalAbbreviations-vbox").hidden =
!selectedStyleObj.usesAbbreviation;

// Hide the automaticCitationUpdates checkbox before the prompt is shown
var showAutomaticUpdatesOption = Zotero.Prefs.get('integration.alwaysShowAutomaticUpdatesOption')
|| _io.dontAskDelayCitationUpdates !== undefined;
document.getElementById("automaticCitationUpdates-vbox").hidden = !showAutomaticUpdatesOption;

// Highlight delay citations checkbox after displaying the alert
// NOTE: Currently unused
if (_io.highlightDelayCitations) {
document.getElementById("automaticCitationUpdates-vbox").style.border = "1px dashed #e52e2e"
}
}

//
Expand Down
13 changes: 8 additions & 5 deletions chrome/content/zotero/itemPane.js
Expand Up @@ -25,6 +25,7 @@

var ZoteroItemPane = new function() {
var _lastItem, _itemBox, _notesLabel, _notesButton, _notesList, _tagsBox, _relatedBox;
var _selectedNoteID;
var _translationTarget;
var _noteIDs;

Expand Down Expand Up @@ -223,6 +224,8 @@ var ZoteroItemPane = new function() {


this.onNoteSelected = function (item, editable) {
_selectedNoteID = item.id;

// If an external note window is open for this item, don't show the editor
if (ZoteroPane.findNoteWindow(item.id)) {
this.showNoteWindowMessage();
Expand Down Expand Up @@ -258,20 +261,20 @@ var ZoteroItemPane = new function() {
* Select the parent item and open the note editor
*/
this.openNoteWindow = async function () {
var noteEditor = document.getElementById('zotero-note-editor');
var item = noteEditor.item;
var selectedNote = Zotero.Items.get(_selectedNoteID);

// We don't want to show the note in two places, since it causes unnecessary UI updates
// and can result in weird bugs where note content gets lost.
//
// If this is a child note, select the parent
if (item.parentID) {
await ZoteroPane.selectItem(item.parentID);
if (selectedNote.parentID) {
await ZoteroPane.selectItem(selectedNote.parentID);
}
// Otherwise, hide note and replace with a message that we're editing externally
else {
this.showNoteWindowMessage();
}
ZoteroPane.openNoteWindow(item.id);
ZoteroPane.openNoteWindow(selectedNote.id);
};


Expand Down
10 changes: 8 additions & 2 deletions chrome/content/zotero/lookup.js
Expand Up @@ -206,14 +206,20 @@ var Zotero_Lookup = new function () {
}

this.toggleProgress = function(on) {
// In Firefox 52.6.0, progressmeters burn CPU at idle on Linux when undetermined, even
// if they're hidden. (Being hidden is enough on macOS.)
var mode = on ? 'undetermined' : 'determined';

//single line
var txtBox = document.getElementById("zotero-lookup-textbox");
txtBox.style.opacity = on ? 0.5 : 1;
txtBox.disabled = !!on;
document.getElementById("zotero-lookup-progress").setAttribute("collapsed", !on);
var p1 = document.getElementById("zotero-lookup-progress");
p1.mode = mode;

//multiline
document.getElementById("zotero-lookup-multiline-textbox").disabled = !!on;
document.getElementById("zotero-lookup-multiline-progress").setAttribute("collapsed", !on);
var p2 = document.getElementById("zotero-lookup-multiline-progress");
p2.mode = mode;
}
}
22 changes: 22 additions & 0 deletions chrome/content/zotero/preferences/preferences_advanced.js
Expand Up @@ -42,6 +42,28 @@ Zotero_Preferences.Advanced = {
},


updateTranslators: Zotero.Promise.coroutine(function* () {
var updated = yield Zotero.Schema.updateFromRepository(Zotero.Schema.REPO_UPDATE_MANUAL);
var button = document.getElementById('updateButton');
if (button) {
if (updated===-1) {
var label = Zotero.getString('zotero.preferences.update.upToDate');
}
else if (updated) {
var label = Zotero.getString('zotero.preferences.update.updated');
}
else {
var label = Zotero.getString('zotero.preferences.update.error');
}
button.setAttribute('label', label);

if (updated && Zotero_Preferences.Cite) {
yield Zotero_Preferences.Cite.refreshStylesList();
}
}
}),


migrateDataDirectory: Zotero.Promise.coroutine(function* () {
var currentDir = Zotero.DataDirectory.dir;
var defaultDir = Zotero.DataDirectory.defaultDir;
Expand Down
12 changes: 12 additions & 0 deletions chrome/content/zotero/preferences/preferences_advanced.xul
Expand Up @@ -37,12 +37,16 @@
onpaneload="Zotero_Preferences.Advanced.init()"
helpTopic="advanced">
<preferences>
<preference id="pref-automaticScraperUpdates" name="extensions.zotero.automaticScraperUpdates" type="bool"/>
<preference id="pref-reportTranslationFailure" name="extensions.zotero.reportTranslationFailure" type="bool"/>

<preference id="pref-baseAttachmentPath" name="extensions.zotero.baseAttachmentPath" type="string"/>
<preference id="pref-useDataDir" name="extensions.zotero.useDataDir" type="bool"/>
<preference id="pref-dataDir" name="extensions.zotero.dataDir" type="string"/>
<preference id="pref-debug-output-enableAfterRestart" name="extensions.zotero.debug.store" type="bool"/>
<preference id="pref-openURL-resolver" name="extensions.zotero.openURL.resolver" type="string"/>
<preference id="pref-openURL-version" name="extensions.zotero.openURL.version" type="string"/>

<preference id="pref-keys-openZotero" name="extensions.zotero.keys.openZotero" type="string"/>
<preference id="pref-keys-saveToZotero" name="extensions.zotero.keys.saveToZotero" type="string"/>
<preference id="pref-keys-library" name="extensions.zotero.keys.library" type="string"/>
Expand Down Expand Up @@ -74,6 +78,14 @@
<groupbox id="zotero-prefpane-advanced-miscellaneous">
<caption label="&zotero.preferences.miscellaneous;"/>

<hbox align="center">
<checkbox label="&zotero.preferences.autoUpdate;" preference="pref-automaticScraperUpdates"/>
<button id="updateButton" style="margin-top:0" label="&zotero.preferences.updateNow;"
oncommand="Zotero_Preferences.Advanced.updateTranslators()"/>
</hbox>

<checkbox label="&zotero.preferences.reportTranslationFailure;" preference="pref-reportTranslationFailure"/>

<hbox align="center">
<label value="&zotero.bibliography.locale.label;"/>
<menulist id="locale-menu"
Expand Down
95 changes: 80 additions & 15 deletions chrome/content/zotero/preferences/preferences_general.js
Expand Up @@ -25,6 +25,9 @@

"use strict";

Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/osfile.jsm");

Zotero_Preferences.General = {
init: function () {
// JS-based strings
Expand All @@ -36,27 +39,89 @@ Zotero_Preferences.General = {
}

document.getElementById('noteFontSize').value = Zotero.Prefs.get('note.fontSize');

this._updateFileHandlerUI();
},

//
// File handlers
//
chooseFileHandler: function (type) {
var pref = this._getFileHandlerPref(type);
var currentPath = Zotero.Prefs.get(pref);

var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
if (currentPath) {
fp.displayDirectory = Zotero.File.pathToFile(OS.Path.dirname(currentPath));
}
fp.init(
window,
Zotero.getString('zotero.preferences.chooseFileHandler'),
nsIFilePicker.modeOpen
);
fp.appendFilters(nsIFilePicker.filterApps);
if (fp.show() != nsIFilePicker.returnOK) {
this._updateFileHandlerUI();
return false;
}
var newPath = OS.Path.normalize(fp.file.path);
this.setFileHandler(type, newPath);
},

updateTranslators: Zotero.Promise.coroutine(function* () {
var updated = yield Zotero.Schema.updateFromRepository(Zotero.Schema.REPO_UPDATE_MANUAL);
var button = document.getElementById('updateButton');
if (button) {
if (updated===-1) {
var label = Zotero.getString('zotero.preferences.update.upToDate');
}
else if (updated) {
var label = Zotero.getString('zotero.preferences.update.updated');
setFileHandler: function (type, handler) {
var pref = this._getFileHandlerPref(type);
if (handler) {
Zotero.Prefs.set(pref, handler);
}
else {
Zotero.Prefs.clear(pref);
}
this._updateFileHandlerUI();
},

_updateFileHandlerUI: function () {
var handler = Zotero.Prefs.get('fileHandler.pdf');
var menulist = document.getElementById('fileHandler-pdf');
var customMenuItem = document.getElementById('fileHandler-custom');
if (handler) {
let icon;
try {
let fph = Services.io.getProtocolHandler("file")
.QueryInterface(Components.interfaces.nsIFileProtocolHandler);
let urlspec = fph.getURLSpecFromFile(Zotero.File.pathToFile(handler));
icon = "moz-icon://" + urlspec + "?size=16";
}
else {
var label = Zotero.getString('zotero.preferences.update.error');
catch (e) {
Zotero.logError(e);
}
button.setAttribute('label', label);

if (updated && Zotero_Preferences.Cite) {
yield Zotero_Preferences.Cite.refreshStylesList();
let handlerFilename = OS.Path.basename(handler);
if (Zotero.isMac) {
handlerFilename = handlerFilename.replace(/\.app$/, '');
}
customMenuItem.setAttribute('label', handlerFilename);
if (icon) {
customMenuItem.className = 'menuitem-iconic';
customMenuItem.setAttribute('image', icon);
}
else {
customMenuItem.className = '';
}
customMenuItem.hidden = false;
menulist.selectedIndex = 0;
}
else {
customMenuItem.hidden = true;
menulist.selectedIndex = 1;
}
},

_getFileHandlerPref: function (type) {
if (type != 'pdf') {
throw new Error(`Unknown file type ${type}`);
}
})
return 'fileHandler.pdf';
}
}
33 changes: 22 additions & 11 deletions chrome/content/zotero/preferences/preferences_general.xul
Expand Up @@ -33,12 +33,12 @@
<preferences id="zotero-prefpane-general-preferences">
<preference id="pref-fontSize" name="extensions.zotero.fontSize" type="string"/>
<preference id="pref-layout" name="extensions.zotero.layout" type="string"/>
<preference id="pref-automaticScraperUpdates" name="extensions.zotero.automaticScraperUpdates" type="bool"/>
<preference id="pref-reportTranslationFailure" name="extensions.zotero.reportTranslationFailure" type="bool"/>

<preference id="pref-automaticSnapshots" name="extensions.zotero.automaticSnapshots" type="bool"/>
<preference id="pref-downloadAssociatedFiles" name="extensions.zotero.downloadAssociatedFiles" type="bool"/>
<preference id="pref-autoRecognizeFiles" name="extensions.zotero.autoRecognizeFiles" type="bool"/>
<preference id="pref-autoRenameFiles" name="extensions.zotero.autoRenameFiles" type="bool"/>

<preference id="pref-automaticTags" name="extensions.zotero.automaticTags" type="bool"/>
<preference id="pref-trashAutoEmptyDays" name="extensions.zotero.trashAutoEmptyDays" type="int"/>

Expand Down Expand Up @@ -110,22 +110,33 @@
</grid>
</groupbox>

<groupbox id="zotero-prefpane-miscellaneous-groupbox">
<caption label="&zotero.preferences.miscellaneous;"/>
<groupbox id="zotero-prefpane-file-handling-groupbox">
<caption label="&zotero.preferences.fileHandling;"/>

<hbox align="center">
<checkbox label="&zotero.preferences.autoUpdate;" preference="pref-automaticScraperUpdates"/>
<button id="updateButton" style="margin-top:0" label="&zotero.preferences.updateNow;"
oncommand="Zotero_Preferences.General.updateTranslators()"/>
</hbox>

<checkbox label="&zotero.preferences.reportTranslationFailure;" preference="pref-reportTranslationFailure"/>
<checkbox id="automaticSnapshots-checkbox"
label="&zotero.preferences.automaticSnapshots;"
preference="pref-automaticSnapshots"/>
<checkbox label="&zotero.preferences.downloadAssociatedFiles;" preference="pref-downloadAssociatedFiles"/>
<checkbox label="&zotero.preferences.autoRecognizeFiles;" preference="pref-autoRecognizeFiles"/>
<checkbox label="&zotero.preferences.autoRenameFiles;" preference="pref-autoRenameFiles"/>

<hbox align="center">
<label value="&zotero.preferences.fileHandler.openPDFsUsing;" control="file-handler-pdf"/>
<menulist id="fileHandler-pdf" class="fileHandler-menu">
<menupopup>
<menuitem id="fileHandler-custom"/>
<menuitem label="&zotero.preferences.fileHandler.systemDefault;"
oncommand="Zotero_Preferences.General.setFileHandler('pdf', false)"/>
<menuitem label="&zotero.preferences.custom;"
oncommand="Zotero_Preferences.General.chooseFileHandler('pdf')"/>
</menupopup>
</menulist>
</hbox>
</groupbox>

<groupbox id="zotero-prefpane-miscellaneous-groupbox">
<caption label="&zotero.preferences.miscellaneous;"/>

<checkbox label="&zotero.preferences.automaticTags;" preference="pref-automaticTags"/>
<hbox align="center">
<label value="&zotero.preferences.trashAutoEmptyDaysPre;"/>
Expand Down

0 comments on commit d3744c7

Please sign in to comment.