Merge branch '3.0'
This commit is contained in:
commit
4767cad19e
61 changed files with 284 additions and 233 deletions
|
@ -2404,7 +2404,19 @@
|
|||
}
|
||||
|
||||
next[0].click();
|
||||
this.ensureElementIsVisible(next[0]);
|
||||
|
||||
// DEBUG: next[0] is always equal to the target element,
|
||||
// but for some reason it's necessary to scroll to the next
|
||||
// element when moving forward for the target element to
|
||||
// be fully in view
|
||||
if (!back && next[0].parentNode.nextSibling) {
|
||||
var visElem = next[0].parentNode.nextSibling;
|
||||
}
|
||||
else {
|
||||
var visElem = next[0];
|
||||
}
|
||||
this.ensureElementIsVisible(visElem);
|
||||
|
||||
return true;
|
||||
]]>
|
||||
</body>
|
||||
|
|
|
@ -689,7 +689,19 @@
|
|||
}
|
||||
|
||||
next[0].click();
|
||||
this.ensureElementIsVisible(next[0]);
|
||||
|
||||
// DEBUG: next[0] is always equal to the target element,
|
||||
// but for some reason it's necessary to scroll to the next
|
||||
// element when moving forward for the target element to
|
||||
// be fully in view
|
||||
if (!back && next[0].parentNode.nextSibling) {
|
||||
var visElem = next[0].parentNode.nextSibling;
|
||||
}
|
||||
else {
|
||||
var visElem = next[0];
|
||||
}
|
||||
this.ensureElementIsVisible(visElem);
|
||||
|
||||
return true;
|
||||
]]>
|
||||
</body>
|
||||
|
|
|
@ -634,14 +634,7 @@ Zotero_Browser.Tab.prototype.clear = function() {
|
|||
/*
|
||||
* detects translators for this browser object
|
||||
*/
|
||||
Zotero_Browser.Tab.prototype.detectTranslators = function(rootDoc, doc) {
|
||||
// if there's already a scrapable page in the browser window, and it's
|
||||
// still there, ensure it is actually part of the page, then return
|
||||
if(this.page.translators && this.page.translators.length && this.page.document.location) {
|
||||
if(this._searchFrames(rootDoc, this.page.document)) return;
|
||||
this.clear();
|
||||
}
|
||||
|
||||
Zotero_Browser.Tab.prototype.detectTranslators = function(rootDoc, doc) {
|
||||
if(doc instanceof HTMLDocument && doc.documentURI.substr(0, 6) != "about:") {
|
||||
// get translators
|
||||
var me = this;
|
||||
|
@ -791,6 +784,17 @@ Zotero_Browser.Tab.prototype._selectItems = function(obj, itemList, callback) {
|
|||
*/
|
||||
Zotero_Browser.Tab.prototype._translatorsAvailable = function(translate, translators) {
|
||||
if(translators && translators.length) {
|
||||
// if there's already a scrapable page in the browser window, and it's
|
||||
// still there, ensure it is actually part of the page, then return
|
||||
if(this.page.translators && this.page.translators.length && this.page.document.location) {
|
||||
if(this.page.document.defaultView && !this.page.document.defaultView.closed) {
|
||||
// if it is still there, switch translation to take place on
|
||||
if(!translators.length || this.page.translators[0].priority <= translators[0].priority) return;
|
||||
} else {
|
||||
this.clear();
|
||||
}
|
||||
}
|
||||
|
||||
this.page.translate = translate;
|
||||
this.page.translators = translators;
|
||||
this.page.document = translate.document;
|
||||
|
|
|
@ -245,53 +245,6 @@ var ZoteroOverlay = new function()
|
|||
zoteroPane.height = 0;
|
||||
|
||||
document.getElementById('content').setAttribute('collapsed', false);
|
||||
|
||||
// turn off full window mode, if it was on
|
||||
_setFullWindowMode(false);
|
||||
|
||||
// Return focus to the browser content pane
|
||||
window.content.window.focus();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides or shows navigation toolbars
|
||||
* @param set {Boolean} Whether navigation toolbars should be hidden or shown
|
||||
*/
|
||||
function _setFullWindowMode(set) {
|
||||
// hide or show navigation toolbars
|
||||
if(!getNavToolbox) return;
|
||||
var toolbox = getNavToolbox();
|
||||
if(set) {
|
||||
// the below would be a good thing to do if the whole title bar (and not just the center
|
||||
// part) got updated when it happened...
|
||||
/*if(Zotero.isMac) {
|
||||
titlebarcolorState = document.documentElement.getAttribute("activetitlebarcolor");
|
||||
document.documentElement.removeAttribute("activetitlebarcolor");
|
||||
}*/
|
||||
if(document.title != "Zotero") {
|
||||
titleState = document.title;
|
||||
document.title = "Zotero";
|
||||
}
|
||||
|
||||
if(!toolbarCollapseState) {
|
||||
toolbarCollapseState = [node.collapsed for each (node in toolbox.childNodes)];
|
||||
for(var i=0; i<toolbox.childNodes.length; i++) {
|
||||
toolbox.childNodes[i].collapsed = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/*if(Zotero.isMac) {
|
||||
document.documentElement.setAttribute("activetitlebarcolor", titlebarcolorState);
|
||||
}*/
|
||||
if(document.title == "Zotero") document.title = titleState;
|
||||
|
||||
if(toolbarCollapseState) {
|
||||
for(var i=0; i<toolbox.childNodes.length; i++) {
|
||||
toolbox.childNodes[i].collapsed = toolbarCollapseState[i];
|
||||
}
|
||||
toolbarCollapseState = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -30,9 +30,45 @@ var _io = {};
|
|||
|
||||
|
||||
var Zotero_Preferences = {
|
||||
|
||||
onUnload: function () {
|
||||
Zotero_Preferences.Debug_Output.onUnload();
|
||||
},
|
||||
|
||||
openHelpLink: function () {
|
||||
var url = "http://www.zotero.org/support/preferences/";
|
||||
var helpTopic = document.getElementsByTagName("prefwindow")[0].currentPane.helpTopic;
|
||||
url += helpTopic;
|
||||
|
||||
// Non-instantApply prefwindows are usually modal, so we can't open in the topmost window,
|
||||
// since it's probably behind the window
|
||||
var instantApply = Zotero.Prefs.get("browser.preferences.instantApply", true);
|
||||
|
||||
if (instantApply) {
|
||||
window.opener.ZoteroPane_Local.loadURI(url, { shiftKey: true, metaKey: true });
|
||||
}
|
||||
else {
|
||||
if (Zotero.isStandalone) {
|
||||
var io = Components.classes['@mozilla.org/network/io-service;1']
|
||||
.getService(Components.interfaces.nsIIOService);
|
||||
var uri = io.newURI(url, null, null);
|
||||
var handler = Components.classes['@mozilla.org/uriloader/external-protocol-service;1']
|
||||
.getService(Components.interfaces.nsIExternalProtocolService)
|
||||
.getProtocolHandlerInfo('http');
|
||||
handler.preferredAction = Components.interfaces.nsIHandlerInfo.useSystemDefault;
|
||||
handler.launchWithURI(uri, null);
|
||||
}
|
||||
else {
|
||||
var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
|
||||
.getService(Components.interfaces.nsIWindowWatcher);
|
||||
var win = ww.openWindow(
|
||||
window,
|
||||
url,
|
||||
"helpWindow",
|
||||
"chrome=no,menubar=yes,location=yes,toolbar=yes,personalbar=yes,resizable=yes,scrollbars=yes,status=yes",
|
||||
null
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,11 +42,13 @@ To add a new preference:
|
|||
|
||||
-->
|
||||
<prefwindow id="zotero-prefs" title="&zotero.preferences.title;" onload="init()" onunload="Zotero_Preferences.onUnload()"
|
||||
windowtype="zotero:pref" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
windowtype="zotero:pref" ondialoghelp="Zotero_Preferences.openHelpLink()"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<prefpane id="zotero-prefpane-general"
|
||||
label="&zotero.preferences.prefpane.general;"
|
||||
image="chrome://zotero/skin/prefs-general.png">
|
||||
image="chrome://zotero/skin/prefs-general.png"
|
||||
helpTopic="general">
|
||||
<preferences id="zotero-prefpane-general-preferences">
|
||||
<preference id="pref-fontSize" name="extensions.zotero.fontSize" type="string"/>
|
||||
<preference id="pref-noteFontSize" name="extensions.zotero.note.fontSize" type="string"/>
|
||||
|
@ -156,7 +158,8 @@ To add a new preference:
|
|||
<prefpane id="zotero-prefpane-sync"
|
||||
label="&zotero.preferences.prefpane.sync;"
|
||||
onpaneload="document.getElementById('sync-password').value = Zotero.Sync.Server.password; document.getElementById('storage-password').value = Zotero.Sync.Storage.password;"
|
||||
image="chrome://zotero/skin/prefs-sync.png">
|
||||
image="chrome://zotero/skin/prefs-sync.png"
|
||||
helpTopic="sync">
|
||||
<preferences>
|
||||
<preference id="pref-sync-autosync" name="extensions.zotero.sync.autoSync" type="bool"/>
|
||||
<preference id="pref-sync-username" name="extensions.zotero.sync.server.username" type="string" instantApply="true"/>
|
||||
|
@ -422,7 +425,8 @@ To add a new preference:
|
|||
<prefpane id="zotero-prefpane-search"
|
||||
label="&zotero.preferences.prefpane.search;"
|
||||
onpaneload="updateIndexStats()"
|
||||
image="chrome://zotero/skin/prefs-search.png">
|
||||
image="chrome://zotero/skin/prefs-search.png"
|
||||
helpTopic="search">
|
||||
<preferences>
|
||||
<preference id="pref-fulltext-textMaxLength" name="extensions.zotero.fulltext.textMaxLength" type="int"/>
|
||||
<preference id="pref-fulltext-pdfmaxpages" name="extensions.zotero.fulltext.pdfMaxPages" type="int"/>
|
||||
|
@ -511,7 +515,8 @@ To add a new preference:
|
|||
|
||||
<prefpane id="zotero-prefpane-export"
|
||||
label="&zotero.preferences.prefpane.export;"
|
||||
image="chrome://zotero/skin/prefs-export.png">
|
||||
image="chrome://zotero/skin/prefs-export.png"
|
||||
helpTopic="export">
|
||||
<preferences>
|
||||
<preference id="pref-quickCopy-setting" name="extensions.zotero.export.quickCopy.setting" type="string"/>
|
||||
<preference id="pref-quickCopy-dragLimit" name="extensions.zotero.export.quickCopy.dragLimit" type="int"/>
|
||||
|
@ -576,7 +581,8 @@ To add a new preference:
|
|||
|
||||
<prefpane id="zotero-prefpane-cite"
|
||||
label="&zotero.preferences.prefpane.cite;"
|
||||
image="chrome://zotero/skin/prefs-styles.png">
|
||||
image="chrome://zotero/skin/prefs-styles.png"
|
||||
helpTopic="cite">
|
||||
|
||||
<preferences id="zotero-preferences-cite">
|
||||
<preference id="pref-cite-citePaperJournalArticleURL" name="extensions.zotero.export.citePaperJournalArticleURL" type="bool"/>
|
||||
|
@ -635,7 +641,8 @@ To add a new preference:
|
|||
|
||||
<prefpane id="zotero-prefpane-keys"
|
||||
label="&zotero.preferences.prefpane.keys;"
|
||||
image="chrome://zotero/skin/prefs-keys.png">
|
||||
image="chrome://zotero/skin/prefs-keys.png"
|
||||
helpTopic="shortcut_keys">
|
||||
<preferences>
|
||||
<preference id="pref-keys-openZotero" name="extensions.zotero.keys.openZotero" type="string"/>
|
||||
<preference id="pref-keys-toggleFullscreen" name="extensions.zotero.keys.toggleFullscreen" type="string"/>
|
||||
|
@ -730,7 +737,8 @@ To add a new preference:
|
|||
|
||||
<prefpane id="zotero-prefpane-advanced"
|
||||
label="&zotero.preferences.prefpane.advanced;"
|
||||
image="chrome://zotero/skin/prefs-advanced.png">
|
||||
image="chrome://zotero/skin/prefs-advanced.png"
|
||||
helpTopic="advanced">
|
||||
<preferences>
|
||||
<preference id="pref-useDataDir" name="extensions.zotero.useDataDir" type="bool"/>
|
||||
<preference id="pref-dataDir" name="extensions.zotero.dataDir" type="string"/>
|
||||
|
|
|
@ -78,7 +78,8 @@ To add a new preference:
|
|||
</prefpane>
|
||||
<prefpane id="zotero-prefpane-proxies"
|
||||
label="&zotero.preferences.prefpane.proxies;"
|
||||
image="chrome://zotero/skin/prefs-proxies.png" position="6">
|
||||
image="chrome://zotero/skin/prefs-proxies.png" position="6"
|
||||
helpTopic="proxies">
|
||||
<description width="45em" style="font-size: 12px">
|
||||
&zotero.preferences.proxies.desc_before_link;
|
||||
<label class="zotero-text-link" href="http://www.zotero.org/support/proxies"
|
||||
|
|
|
@ -1963,7 +1963,7 @@ CSL.DateParser = function () {
|
|||
};
|
||||
CSL.Engine = function (sys, style, lang, forceLang) {
|
||||
var attrs, langspec, localexml, locale;
|
||||
this.processor_version = "1.0.252";
|
||||
this.processor_version = "1.0.255";
|
||||
this.csl_version = "1.0";
|
||||
this.sys = sys;
|
||||
this.sys.xml = new CSL.System.Xml.Parsing();
|
||||
|
@ -3586,6 +3586,7 @@ CSL.getCitationCluster = function (inputList, citationID) {
|
|||
params.have_collapsed = this.tmp.have_collapsed;
|
||||
myparams.push(params);
|
||||
}
|
||||
this.tmp.has_purged_parallel = false;
|
||||
this.parallel.PruneOutputQueue(this);
|
||||
empties = 0;
|
||||
myblobs = this.output.queue.slice();
|
||||
|
@ -3642,14 +3643,18 @@ CSL.getCitationCluster = function (inputList, citationID) {
|
|||
return composite;
|
||||
}
|
||||
if ("object" === typeof composite && composite.length === 0 && !item["suppress-author"]) {
|
||||
composite.push("[CSL STYLE ERROR: reference with no printed form.]");
|
||||
if (this.tmp.has_purged_parallel) {
|
||||
composite.push("");
|
||||
} else {
|
||||
composite.push("[CSL STYLE ERROR: reference with no printed form.]");
|
||||
}
|
||||
}
|
||||
if (objects.length && "string" === typeof composite[0]) {
|
||||
composite.reverse();
|
||||
var tmpstr = composite.pop();
|
||||
if (tmpstr && tmpstr.slice(0, 1) === ",") {
|
||||
objects.push(tmpstr);
|
||||
} else {
|
||||
} else if (tmpstr) {
|
||||
objects.push(txt_esc(this.tmp.splice_delimiter) + tmpstr);
|
||||
}
|
||||
} else {
|
||||
|
@ -6328,7 +6333,7 @@ CSL.NameOutput.prototype.fixupInstitution = function (name, varname, listpos) {
|
|||
if (this.state.sys.getAbbreviation) {
|
||||
var jurisdiction = this.Item.jurisdiction;
|
||||
for (var j = 0, jlen = long_form.length; j < jlen; j += 1) {
|
||||
var jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-part", long_form[j]);
|
||||
jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-part", long_form[j]);
|
||||
if (this.state.transform.abbrevs[jurisdiction]["institution-part"][long_form[j]]) {
|
||||
short_form[j] = this.state.transform.abbrevs[jurisdiction]["institution-part"][long_form[j]];
|
||||
}
|
||||
|
@ -6362,11 +6367,22 @@ CSL.NameOutput.prototype._splitInstitution = function (value, v, i) {
|
|||
var jurisdiction = this.Item.jurisdiction;
|
||||
for (var j = splitInstitution.length; j > 0; j += -1) {
|
||||
var str = splitInstitution.slice(0, j).join("|");
|
||||
var jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-entire", str);
|
||||
jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-entire", str);
|
||||
if (this.state.transform.abbrevs[jurisdiction]["institution-entire"][str]) {
|
||||
var splitLst = this.state.transform.abbrevs[jurisdiction]["institution-entire"][str];
|
||||
var splitLst = splitLst.replace(/\s*\|\s*/g, "|");
|
||||
var splitLst = splitLst.split("|");
|
||||
var splitSplitLst = splitLst.split(/>>[0-9]{4}>>/);
|
||||
var m = splitLst.match(/>>([0-9]{4})>>/);
|
||||
splitLst = splitSplitLst.pop();
|
||||
if (splitSplitLst.length > 0 && this.Item.issued && this.Item.issued.year) {
|
||||
for (var k=m.length - 1; k > 0; k += -1) {
|
||||
if (parseInt(this.Item.issued.year, 10) >= parseInt(m[k], 10)) {
|
||||
break;
|
||||
}
|
||||
splitLst = splitSplitLst.pop();
|
||||
}
|
||||
}
|
||||
splitLst = splitLst.replace(/\s*\|\s*/g, "|");
|
||||
splitLst = splitLst.split("|");
|
||||
splitInstitution = splitLst.concat(splitInstitution.slice(j));
|
||||
}
|
||||
}
|
||||
|
@ -8315,11 +8331,26 @@ CSL.Transform = function (state) {
|
|||
return jurisdiction;
|
||||
}
|
||||
if (state.sys.getAbbreviation) {
|
||||
if (!this.abbrevs[jurisdiction]) {
|
||||
this.abbrevs[jurisdiction] = new CSL.AbbreviationSegments();
|
||||
var tryList = ['default'];
|
||||
if (jurisdiction !== 'default') {
|
||||
var workLst = jurisdiction.split(/\s*;\s*/);
|
||||
for (var i=0, ilen=workLst.length; i < ilen; i += 1) {
|
||||
tryList.push(workLst.slice(0,i+1).join(';'));
|
||||
}
|
||||
}
|
||||
if (!this.abbrevs[jurisdiction][category][orig]) {
|
||||
state.sys.getAbbreviation(state.opt.styleID, this.abbrevs, jurisdiction, category, orig);
|
||||
for (var i=tryList.length - 1; i > -1; i += -1) {
|
||||
if (!this.abbrevs[tryList[i]]) {
|
||||
this.abbrevs[tryList[i]] = new CSL.AbbreviationSegments();
|
||||
}
|
||||
if (!this.abbrevs[tryList[i]][category][orig]) {
|
||||
state.sys.getAbbreviation(state.opt.styleID, this.abbrevs, tryList[i], category, orig);
|
||||
}
|
||||
if (this.abbrevs[tryList[i]][category][orig]) {
|
||||
if (i < tryList.length) {
|
||||
this.abbrevs[jurisdiction][category][orig] = this.abbrevs[tryList[i]][category][orig];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return jurisdiction;
|
||||
|
@ -8828,6 +8859,7 @@ CSL.Parallel.prototype.purgeVariableBlobs = function (cite, varnames) {
|
|||
for (ppos = llen; ppos > -1; ppos += -1) {
|
||||
b = cite[varname].blobs[ppos];
|
||||
b[0].blobs = b[0].blobs.slice(0, b[1]).concat(b[0].blobs.slice((b[1] + 1)));
|
||||
this.state.tmp.has_purged_parallel = true;
|
||||
if (b[0] && b[0].strings && "string" == typeof b[0].strings.oops
|
||||
&& b[0].parent && b[0].parent) {
|
||||
b[0].parent.parent.strings.delimiter = b[0].strings.oops;
|
||||
|
|
|
@ -1183,7 +1183,7 @@ Zotero.Collection.prototype.addLinkedCollection = function (collection) {
|
|||
|
||||
// If both group libraries, store relation with source group.
|
||||
// Otherwise, store with personal library.
|
||||
var libraryID = (this.libraryID && item.libraryID) ? this.libraryID : null;
|
||||
var libraryID = (this.libraryID && collection.libraryID) ? this.libraryID : null;
|
||||
|
||||
Zotero.Relations.add(libraryID, url1, predicate, url2);
|
||||
}
|
||||
|
|
|
@ -3898,9 +3898,9 @@ Zotero.Item.prototype.diff = function (item, includeMatches, ignoreFields) {
|
|||
var thisNote = thisData.note;
|
||||
var otherNote = otherData.note;
|
||||
|
||||
// Stop Windows newlines from triggering erroneous conflicts
|
||||
thisNote = thisNote.replace(/\r\n/g, "\n");
|
||||
otherNote = otherNote.replace(/\r\n/g, "\n");
|
||||
// Stop non-Unix newlines from triggering erroneous conflicts
|
||||
thisNote = thisNote.replace(/\r\n?/g, "\n");
|
||||
otherNote = otherNote.replace(/\r\n?/g, "\n");
|
||||
|
||||
// Normalize multiple spaces (due to differences TinyMCE, Z.U.text2html(),
|
||||
// and the server)
|
||||
|
|
|
@ -351,7 +351,7 @@ Zotero.File = new function(){
|
|||
var opWord = "updated";
|
||||
}
|
||||
|
||||
if (e.name == 'NS_ERROR_FILE_ACCESS_DENIED'
|
||||
if (e.name == 'NS_ERROR_FILE_ACCESS_DENIED' || e.name == 'NS_ERROR_FILE_IS_LOCKED'
|
||||
// Shows up on some Windows systems
|
||||
|| e.name == 'NS_ERROR_FAILURE') {
|
||||
Zotero.debug(e);
|
||||
|
|
|
@ -43,6 +43,7 @@ Zotero.Integration = new function() {
|
|||
|
||||
// these need to be global because of GC
|
||||
var _updateTimer;
|
||||
var _carbon, ProcessSerialNumber, SetFrontProcessWithOptions;
|
||||
|
||||
var _inProgress = false;
|
||||
this.currentWindow = false;
|
||||
|
@ -276,24 +277,27 @@ Zotero.Integration = new function() {
|
|||
};
|
||||
|
||||
if(Zotero.isFx4 && win) {
|
||||
const carbon = ctypes.open("/System/Library/Frameworks/Carbon.framework/Carbon");
|
||||
/*
|
||||
* struct ProcessSerialNumber {
|
||||
* unsigned long highLongOfPSN;
|
||||
* unsigned long lowLongOfPSN;
|
||||
* };
|
||||
*/
|
||||
const ProcessSerialNumber = new ctypes.StructType("ProcessSerialNumber",
|
||||
[{"highLongOfPSN":ctypes.uint32_t}, {"lowLongOfPSN":ctypes.uint32_t}]);
|
||||
|
||||
/*
|
||||
* OSStatus SetFrontProcessWithOptions (
|
||||
* const ProcessSerialNumber *inProcess,
|
||||
* OptionBits inOptions
|
||||
* );
|
||||
*/
|
||||
const SetFrontProcessWithOptions = carbon.declare("SetFrontProcessWithOptions",
|
||||
ctypes.default_abi, ctypes.int32_t, ProcessSerialNumber.ptr, ctypes.uint32_t);
|
||||
if(!_carbon) {
|
||||
_carbon = ctypes.open("/System/Library/Frameworks/Carbon.framework/Carbon");
|
||||
/*
|
||||
* struct ProcessSerialNumber {
|
||||
* unsigned long highLongOfPSN;
|
||||
* unsigned long lowLongOfPSN;
|
||||
* };
|
||||
*/
|
||||
ProcessSerialNumber = new ctypes.StructType("ProcessSerialNumber",
|
||||
[{"highLongOfPSN":ctypes.uint32_t}, {"lowLongOfPSN":ctypes.uint32_t}]);
|
||||
|
||||
/*
|
||||
* OSStatus SetFrontProcessWithOptions (
|
||||
* const ProcessSerialNumber *inProcess,
|
||||
* OptionBits inOptions
|
||||
* );
|
||||
*/
|
||||
SetFrontProcessWithOptions = _carbon.declare("SetFrontProcessWithOptions",
|
||||
ctypes.default_abi, ctypes.int32_t, ProcessSerialNumber.ptr,
|
||||
ctypes.uint32_t);
|
||||
}
|
||||
|
||||
var psn = new ProcessSerialNumber();
|
||||
psn.highLongOfPSN = 0;
|
||||
|
@ -304,7 +308,6 @@ Zotero.Integration = new function() {
|
|||
psn.address(),
|
||||
1 // kSetFrontProcessFrontWindowOnly = (1 << 0)
|
||||
);
|
||||
carbon.close();
|
||||
}, false);
|
||||
} else {
|
||||
if(Zotero.oscpu == "PPC Mac OS X 10.4" || Zotero.oscpu == "Intel Mac OS X 10.4"
|
||||
|
@ -322,8 +325,6 @@ Zotero.Integration = new function() {
|
|||
* Show appropriate dialogs for an integration error
|
||||
*/
|
||||
this.handleError = function(e, document) {
|
||||
this.complete(document);
|
||||
|
||||
if(!(e instanceof Zotero.Integration.UserCancelledException)) {
|
||||
try {
|
||||
var displayError = null;
|
||||
|
@ -378,6 +379,8 @@ Zotero.Integration = new function() {
|
|||
Zotero.logError(e);
|
||||
}
|
||||
}
|
||||
|
||||
this.complete(document);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -388,13 +391,21 @@ Zotero.Integration = new function() {
|
|||
try {
|
||||
doc.cleanup();
|
||||
doc.activate();
|
||||
|
||||
// Call complete function if one exists
|
||||
if(doc.wrappedJSObject && doc.wrappedJSObject.complete) {
|
||||
doc.wrappedJSObject.complete();
|
||||
}
|
||||
} catch(e) {
|
||||
Zotero.logError(e);
|
||||
}
|
||||
}
|
||||
|
||||
if(Zotero.Integration.currentWindow && !Zotero.Integration.currentWindow.closed) {
|
||||
Zotero.Integration.currentWindow.close();
|
||||
var oldWindow = Zotero.Integration.currentWindow;
|
||||
Zotero.setTimeout(function() {
|
||||
oldWindow.close();
|
||||
}, 100, true);
|
||||
}
|
||||
_inProgress = Zotero.Integration.currentWindow = false;
|
||||
}
|
||||
|
@ -421,6 +432,52 @@ Zotero.Integration = new function() {
|
|||
} catch(e) {}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a dialog in a modal-like fashion without hanging the thread
|
||||
* @param {String} url The chrome:// URI of the window
|
||||
* @param {String} [options] Options to pass to the window
|
||||
* @param {String} [io] Data to pass to the window
|
||||
* @param {Function|Boolean} [async] Function to call when window is closed. If not specified,
|
||||
* function waits to return until the window has been closed. If "true", the function returns
|
||||
* immediately.
|
||||
*/
|
||||
this.displayDialog = function(doc, url, options, io, async) {
|
||||
doc.cleanup();
|
||||
|
||||
var allOptions = 'chrome,centerscreen';
|
||||
// without this, Firefox gets raised with our windows under Compiz
|
||||
if(Zotero.isLinux) allOptions += ',dialog=no';
|
||||
if(options) allOptions += ','+options;
|
||||
if(!async) allOptions += ',modal=yes';
|
||||
|
||||
var window = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
|
||||
.getService(Components.interfaces.nsIWindowWatcher)
|
||||
.openWindow(null, url, '', allOptions, (io ? io : null));
|
||||
Zotero.Integration.currentWindow = window;
|
||||
Zotero.Integration.activate(window);
|
||||
|
||||
var listener = function() {
|
||||
if(window.location.toString() === "about:blank") return;
|
||||
|
||||
if(window.newWindow) {
|
||||
window = window.newWindow;
|
||||
Zotero.Integration.currentWindow = window;
|
||||
window.addEventListener("unload", listener, false);
|
||||
return;
|
||||
}
|
||||
|
||||
Zotero.Integration.currentWindow = false;
|
||||
if(async instanceof Function) {
|
||||
try {
|
||||
async();
|
||||
} catch(e) {
|
||||
Zotero.Integration.handleError(e, doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
window.addEventListener("unload", listener, false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -526,7 +583,7 @@ Zotero.Integration.Document.prototype._getSession = function(require, dontRunSet
|
|||
return;
|
||||
}
|
||||
|
||||
this._session.setDocPrefs(this._app.primaryFieldType, this._app.secondaryFieldType, function(status) {
|
||||
this._session.setDocPrefs(this._doc, this._app.primaryFieldType, this._app.secondaryFieldType, function(status) {
|
||||
if(status === false) {
|
||||
throw new Zotero.Integration.UserCancelledException();
|
||||
}
|
||||
|
@ -571,7 +628,7 @@ Zotero.Integration.Document.prototype._getSession = function(require, dontRunSet
|
|||
} catch(e) {
|
||||
// make sure style is defined
|
||||
if(e instanceof Zotero.Integration.DisplayException && e.name === "invalidStyle") {
|
||||
this._session.setDocPrefs(this._app.primaryFieldType, this._app.secondaryFieldType, function() {
|
||||
this._session.setDocPrefs(this._doc, this._app.primaryFieldType, this._app.secondaryFieldType, function() {
|
||||
me._doc.setDocumentData(me._session.data.serializeXML());
|
||||
me._session.reload = true;
|
||||
callback(true);
|
||||
|
@ -666,7 +723,7 @@ Zotero.Integration.Document.prototype.editBibliography = function(callback) {
|
|||
}
|
||||
|
||||
fieldGetter.updateSession(function() {
|
||||
me._session.editBibliography(function() {
|
||||
me._session.editBibliography(this._doc, function() {
|
||||
me._doc.activate();
|
||||
fieldGetter.updateDocument(false, true, false, function() {
|
||||
Zotero.Integration.complete(me._doc);
|
||||
|
@ -1078,7 +1135,7 @@ Zotero.Integration.Fields.prototype._processFields = function(fields, callback,
|
|||
} else { // Yes
|
||||
// Display reselect item dialog
|
||||
var me = this;
|
||||
this._session.reselectItem(e, function() {
|
||||
this._session.reselectItem(this._doc, e, function() {
|
||||
// Now try again
|
||||
me._doc.activate();
|
||||
me._processFields(fields, callback, i);
|
||||
|
@ -1324,11 +1381,14 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback)
|
|||
var io = new Zotero.Integration.CitationEditInterface(citation, field, this, session, newField, callback);
|
||||
|
||||
if(Zotero.Prefs.get("integration.useClassicAddCitationDialog")) {
|
||||
session.displayDialog('chrome://zotero/content/integration/addCitationDialog.xul', 'alwaysRaised,resizable', io, true);
|
||||
Zotero.Integration.displayDialog(this._doc,
|
||||
'chrome://zotero/content/integration/addCitationDialog.xul', 'alwaysRaised,resizable',
|
||||
io, true);
|
||||
} else {
|
||||
var mode = (!Zotero.isMac && Zotero.Prefs.get('integration.keepAddCitationDialogRaised')
|
||||
? 'popup' : 'alwaysRaised')
|
||||
session.displayDialog('chrome://zotero/content/integration/quickFormat.xul', mode, io, true);
|
||||
Zotero.Integration.displayDialog(this._doc,
|
||||
'chrome://zotero/content/integration/quickFormat.xul', mode, io, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1563,57 +1623,11 @@ Zotero.Integration.Session.prototype.setData = function(data) {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a dialog in a modal-like fashion without hanging the thread
|
||||
* @param {String} url The chrome:// URI of the window
|
||||
* @param {String} [options] Options to pass to the window
|
||||
* @param {String} [io] Data to pass to the window
|
||||
* @param {Function|Boolean} [async] Function to call when window is closed. If not specified,
|
||||
* function waits to return until the window has been closed. If "true", the function returns
|
||||
* immediately.
|
||||
*/
|
||||
Zotero.Integration.Session.prototype.displayDialog = function(url, options, io, async) {
|
||||
if(this.doc) this.doc.cleanup();
|
||||
|
||||
var allOptions = 'chrome,centerscreen';
|
||||
// without this, Firefox gets raised with our windows under Compiz
|
||||
if(Zotero.isLinux) allOptions += ',dialog=no';
|
||||
if(options) allOptions += ','+options;
|
||||
if(!async) allOptions += ',modal=yes';
|
||||
|
||||
var window = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
|
||||
.getService(Components.interfaces.nsIWindowWatcher)
|
||||
.openWindow(null, url, '', allOptions, (io ? io : null));
|
||||
Zotero.Integration.currentWindow = window;
|
||||
Zotero.Integration.activate(window);
|
||||
|
||||
var listener = function() {
|
||||
if(window.location.toString() === "about:blank") return;
|
||||
|
||||
if(window.newWindow) {
|
||||
window = window.newWindow;
|
||||
Zotero.Integration.currentWindow = window;
|
||||
window.addEventListener("unload", listener, false);
|
||||
return;
|
||||
}
|
||||
|
||||
Zotero.Integration.currentWindow = false;
|
||||
if(async instanceof Function) {
|
||||
try {
|
||||
async();
|
||||
} catch(e) {
|
||||
Zotero.Integration.handleError(e, this.doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
window.addEventListener("unload", listener, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a dialog to set document preferences
|
||||
* @return {oldData|null|false} Old document data, if there was any; null, if there wasn't; false if cancelled
|
||||
*/
|
||||
Zotero.Integration.Session.prototype.setDocPrefs = function(primaryFieldType, secondaryFieldType, callback) {
|
||||
Zotero.Integration.Session.prototype.setDocPrefs = function(doc, primaryFieldType, secondaryFieldType, callback) {
|
||||
var io = new function() {
|
||||
this.wrappedJSObject = this;
|
||||
};
|
||||
|
@ -1629,7 +1643,8 @@ Zotero.Integration.Session.prototype.setDocPrefs = function(primaryFieldType, se
|
|||
}
|
||||
|
||||
var me = this;
|
||||
this.displayDialog('chrome://zotero/content/integration/integrationDocPrefs.xul', '', io, function() {
|
||||
Zotero.Integration.displayDialog(doc,
|
||||
'chrome://zotero/content/integration/integrationDocPrefs.xul', '', io, function() {
|
||||
if(!io.style) {
|
||||
callback(false);
|
||||
return;
|
||||
|
@ -1660,7 +1675,7 @@ Zotero.Integration.Session.prototype.setDocPrefs = function(primaryFieldType, se
|
|||
* Reselects an item to replace a deleted item
|
||||
* @param exception {Zotero.Integration.MissingItemException}
|
||||
*/
|
||||
Zotero.Integration.Session.prototype.reselectItem = function(exception, callback) {
|
||||
Zotero.Integration.Session.prototype.reselectItem = function(doc, exception, callback) {
|
||||
var io = new function() {
|
||||
this.wrappedJSObject = this;
|
||||
},
|
||||
|
@ -1668,7 +1683,8 @@ Zotero.Integration.Session.prototype.reselectItem = function(exception, callback
|
|||
io.addBorder = Zotero.isWin;
|
||||
io.singleSelection = true;
|
||||
|
||||
this.displayDialog('chrome://zotero/content/selectItemsDialog.xul', 'resizable', io, function() {
|
||||
Zotero.Integration.displayDialog(doc, 'chrome://zotero/content/selectItemsDialog.xul',
|
||||
'resizable', io, function() {
|
||||
if(io.dataOut && io.dataOut.length) {
|
||||
var itemID = io.dataOut[0];
|
||||
|
||||
|
@ -2383,13 +2399,15 @@ Zotero.Integration.Session.prototype.previewCitation = function(citation) {
|
|||
/**
|
||||
* Edits integration bibliography
|
||||
*/
|
||||
Zotero.Integration.Session.prototype.editBibliography = function(callback) {
|
||||
Zotero.Integration.Session.prototype.editBibliography = function(doc, callback) {
|
||||
var bibliographyEditor = new Zotero.Integration.Session.BibliographyEditInterface(this);
|
||||
var io = new function() { this.wrappedJSObject = bibliographyEditor; }
|
||||
|
||||
this.bibliographyDataHasChanged = this.bibliographyHasChanged = true;
|
||||
|
||||
this.displayDialog('chrome://zotero/content/integration/editBibliographyDialog.xul', 'resizable', io, callback);
|
||||
Zotero.Integration.displayDialog(doc,
|
||||
'chrome://zotero/content/integration/editBibliographyDialog.xul', 'resizable', io,
|
||||
callback);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2716,8 +2734,4 @@ Zotero.Integration.URIMap.prototype.getZoteroItemForURIs = function(uris) {
|
|||
}
|
||||
|
||||
return [zoteroItem, needUpdate];
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
}
|
|
@ -272,9 +272,13 @@ Zotero.IPC = new function() {
|
|||
instancePipeOpen = true;
|
||||
}
|
||||
|
||||
var wroteToPipe = Zotero.IPC.safePipeWrite(pipe, msg+"\n");
|
||||
// Try to write to the pipe once a ms for 100 ms
|
||||
var timeout = Date.now()+100, wroteToPipe;
|
||||
do {
|
||||
wroteToPipe = Zotero.IPC.safePipeWrite(pipe, msg+"\n");
|
||||
} while(Date.now() < timeout && !wroteToPipe);
|
||||
success = success || wroteToPipe;
|
||||
defunct = !wroteToPipe
|
||||
defunct = !wroteToPipe;
|
||||
}
|
||||
|
||||
if(defunct) {
|
||||
|
|
|
@ -3065,6 +3065,10 @@ Zotero.Schema = new function(){
|
|||
Zotero.wait();
|
||||
}
|
||||
|
||||
// TODO
|
||||
//
|
||||
// Replace customBaseFieldMappings to fix FK fields/customField -> customFields->customFieldID
|
||||
|
||||
_updateDBVersion('userdata', toVersion);
|
||||
|
||||
Zotero.DB.commitTransaction();
|
||||
|
|
|
@ -389,6 +389,11 @@ Zotero.Translate.ItemSaver.prototype = {
|
|||
for(var i=0; i<item.creators.length; i++) {
|
||||
var creator = item.creators[i];
|
||||
|
||||
if(!creator.firstName && !creator.lastName) {
|
||||
Zotero.debug("Translate: Silently dropping empty creator");
|
||||
continue;
|
||||
}
|
||||
|
||||
// try to assign correct creator type
|
||||
var creatorTypeID = 1;
|
||||
if(creator.creatorType) {
|
||||
|
|
|
@ -1082,7 +1082,7 @@ Zotero.Utilities = {
|
|||
|
||||
var typeID = Zotero.ItemTypes.getID(item.itemType);
|
||||
if(!typeID) {
|
||||
Zotero.debug("Translate: Invalid itemType "+item.itemType+"; saving as webpage");
|
||||
Zotero.debug("itemToServerJSON: Invalid itemType "+item.itemType+"; using webpage");
|
||||
item.itemType = "webpage";
|
||||
typeID = Zotero.ItemTypes.getID(item.itemType);
|
||||
}
|
||||
|
@ -1103,6 +1103,11 @@ Zotero.Utilities = {
|
|||
for(var j=0; j<n; j++) {
|
||||
var creator = val[j];
|
||||
|
||||
if(!creator.firstName && !creator.lastName) {
|
||||
Zotero.debug("itemToServerJSON: Silently dropping empty creator");
|
||||
continue;
|
||||
}
|
||||
|
||||
// Single-field mode
|
||||
if (!creator.firstName || (creator.fieldMode && creator.fieldMode == 1)) {
|
||||
var newCreator = {
|
||||
|
@ -1122,7 +1127,7 @@ Zotero.Utilities = {
|
|||
if(Zotero.CreatorTypes.getID(creator.creatorType)) {
|
||||
newCreator.creatorType = creator.creatorType;
|
||||
} else {
|
||||
Zotero.debug("Translate: Invalid creator type "+creator.creatorType+"; falling back to author");
|
||||
Zotero.debug("itemToServerJSON: Invalid creator type "+creator.creatorType+"; falling back to author");
|
||||
}
|
||||
}
|
||||
if(!newCreator.creatorType) newCreator.creatorType = "author";
|
||||
|
@ -1141,7 +1146,7 @@ Zotero.Utilities = {
|
|||
} else if(tag.name) {
|
||||
tag = tag.name;
|
||||
} else {
|
||||
Zotero.debug("Translate: Discarded invalid tag");
|
||||
Zotero.debug("itemToServerJSON: Discarded invalid tag");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -1155,7 +1160,7 @@ Zotero.Utilities = {
|
|||
var note = val[j];
|
||||
if(typeof note === "object") {
|
||||
if(!note.note) {
|
||||
Zotero.debug("Translate: Discarded invalid note");
|
||||
Zotero.debug("itemToServerJSON: Discarded invalid note");
|
||||
continue;
|
||||
}
|
||||
note = note.note;
|
||||
|
@ -1182,10 +1187,10 @@ Zotero.Utilities = {
|
|||
if(Zotero.ItemFields.isValidForType(fieldID, typeID)) {
|
||||
newItem[field] = val;
|
||||
} else {
|
||||
Zotero.debug("Translate: Discarded field "+field+": field not valid for type "+item.itemType, 3);
|
||||
Zotero.debug("itemToServerJSON: Discarded field "+field+": field not valid for type "+item.itemType, 3);
|
||||
}
|
||||
} else {
|
||||
Zotero.debug("Translate: Discarded unknown field "+field, 3);
|
||||
Zotero.debug("itemToServerJSON: Discarded unknown field "+field, 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1952,19 +1952,20 @@ Zotero.Prefs = new function(){
|
|||
try {
|
||||
if (global) {
|
||||
var service = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
var branch = service.getBranch("");
|
||||
}
|
||||
else {
|
||||
var service = this.prefBranch;
|
||||
var branch = this.prefBranch;
|
||||
}
|
||||
|
||||
switch (this.prefBranch.getPrefType(pref)){
|
||||
case this.prefBranch.PREF_BOOL:
|
||||
return this.prefBranch.getBoolPref(pref);
|
||||
case this.prefBranch.PREF_STRING:
|
||||
return this.prefBranch.getCharPref(pref);
|
||||
case this.prefBranch.PREF_INT:
|
||||
return this.prefBranch.getIntPref(pref);
|
||||
switch (branch.getPrefType(pref)){
|
||||
case branch.PREF_BOOL:
|
||||
return branch.getBoolPref(pref);
|
||||
case branch.PREF_STRING:
|
||||
return branch.getCharPref(pref);
|
||||
case branch.PREF_INT:
|
||||
return branch.getIntPref(pref);
|
||||
}
|
||||
}
|
||||
catch (e){
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Stoorligging">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Gebruik Firerfox-profielgids">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Doelmaak:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Kies...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "اظهار خطائص ترميز الحروف عند التصدير">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "مكان تخزين البيانات">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "استخدم مجلد الملف الشخصي لفايرفوكس">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "تخصيص:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "اختر...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "عرض مجلد البيانات">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Показва опция за символният код при експорт.">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Място за съхранение">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Използва папката с профила на Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Потребителски">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Избор...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Показва папката с дани">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Lloc d'emmagatzematge">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Fer servir el directori del perfil del Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Personalitzat:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Escull...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Mostra el directori de dades">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Zobrazit při exportu možnost zvolit kódování">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Umístění Datového adresáře">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Použít adresář profilu Firefoxu">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Vlastní:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Vybrat...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Ukázat Datový adresář">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -257,7 +257,7 @@ itemFields.rights=Rettigheder
|
|||
itemFields.series=Tidsskrift
|
||||
itemFields.volume=Årgang
|
||||
itemFields.issue=Bind
|
||||
itemFields.edition=Udgavve
|
||||
itemFields.edition=Udgave
|
||||
itemFields.place=Sted
|
||||
itemFields.publisher=Udgiver
|
||||
itemFields.pages=Sider
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Option für Zeichenkodierung beim Export anzeigen">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Speicherort">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Verwende den Firefox-Profil-Ordner">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Eigene:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Auswählen...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Datenverzeichnis anzeigen">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -171,7 +171,7 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Data Directory Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Lugar de almacenamiento">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Usar el directorio del perfil de usuario en Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Especial:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Elegir...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Mostrar el directorio de datos">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Näidata ekspordi puhul tähtede kodeeringut">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Lao asukoht">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Kasutada Firefoxi profiili kataloogi">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Oma valik:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Valida...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Andmete kataloogi näitamine">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Data Directory Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "نمایش گزینه کدبندی نویسهها در موقع صدور">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "محل ذخیره اطلاعات">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "استفاده از پوشه پروفایل فایرفاکس">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "محل دلخواه:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "انتخاب...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "نمایش محل ذخیره اطلاعات">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Afficher l'option de codage de caractères à l'exportation">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Emplacement du répertoire contenant les données">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Utiliser le répertoire de profil de Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Personnalisé :">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Sélectionner…">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Afficher le répertoire contenant les données">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Amosar opción de codificación de caracteres na exportación">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Localización de almacenamento">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Usar o directorio de perfís de Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Personalizado:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Escoller...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Mostrar Directorio de Datos">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "מיקום אחסון">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "מותאם אישית:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "בחר...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "A karakterkódolás beállításainak mutatása exportálás során">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Adatok mentése ide:">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Firefox profilkönyvtár">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Egyéni:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Tallózás...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Az adatkönyvtár mutatása">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Posizione salvataggio">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Utilizza la cartella del profilo di Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Personalizza:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Sfoglia...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Visualizza la cartella dati">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "保管場所">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Firefoxプロファイルダイレクトリーを使用する">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "カストム:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "選択する...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "データ・ディレクトリーを表示">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "저장 위치">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Firefox 프로필 디렉토리 이용">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "사용자 지정:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "선택...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "자료 디렉토리 표시">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Lagringsplass">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Bruk profilmappa til Firefox.">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Egendefinert:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Velg...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Vis datamappe">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Tekensetcodering kiezen bij exporteren">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Opslaglocatie">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Gebruik de profielmap van Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Aangepast:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Kiezen...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Opslagmap tonen">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Lagringsplass">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Bruk profilmappa til Firefox.">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Egendefinert:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Vel...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Vis datamappe">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Wyświetl opcje kodowania znaków przy eksporcie">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Miejsce przechowywania:">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Użyj katalogu profilu Firefoksa">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Określ katalog:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Przeglądaj">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Wyświetl katalog bazy danych">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Exibir opção de codificação de caracteres ao exportar">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Localização do armazenamento">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Usar o diretório do perfil do usuário Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Personalizado:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Escolha...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Exibir diretório de dados">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Mostrar opção de codificação de caracteres ao exportar">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Local de Armazenamento">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Usar pasta de perfil do Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Outra:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Escolher...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Mostrar Pasta de Dados">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Afișează la export opțiunea pentru codificarea caracterelor">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Locație pentru stocare">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Folosește dosarul de profil din Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Personalizare:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Alege...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Afișează directorul de date">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Показывать окно выбора кодировки символов при экспорте">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Расположение папки с данными">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Использовать папку профиля Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Пользовательская:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Выбрать…">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Показать папку с данными">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Zobraziť voľbu kódovania pri exportovaní">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Umiestnenie priečinku s dátami">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Použiť priečinok, do ktorého Firefox ukladá používateľské dáta">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Vlastné umiestnenie:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Prehľadávať...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Zobraziť priečinok s dátami">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Pri izvozu ponudi možnost kodiranja znakov">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Mesto shranjevanja">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Uporabi mapo profila za Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Po meri:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Izberi ...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Pokaži mapo s podatki">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Место за складиштење">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Користи Firefox директоријум за профил">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Прилагођено:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Изабери...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Прикажи директоријум података">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Visa val för teckenkod vid export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Lagringsplats">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Använd profilkatalogen för Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Egen:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Välj...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Visa datakatalog">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "ที่ตั้งของพื้นที่เก็บข้อมูล">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "ใช้ไดเรคทอรีของโปรไฟล์ไฟร์ฟ๊อกซ์">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "โปรดเลือก...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "แสดงไดเรคทอรีข้อมูล">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Dışarı aktarırken karakter kodlama seçeneğini göster">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Veri Dizini Konumu">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Firefox profil dizinini kullan">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Özel:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Seç...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Veri Dizinini Göster">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Nơi lưu trữ dữ liệu">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Dùng thư mục profile của Firefox">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Tùy biến:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Chọn...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "Hiển thị Thư mục dữ liệu">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "存储位置">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "使用 Firefox 配置目录">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "自定义:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "选择...">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "显示数据目录">
|
||||
|
|
|
@ -167,7 +167,6 @@
|
|||
<!ENTITY zotero.preferences.charset.displayExportOption "匯出時顯示字元編碼的選項">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "儲存位置">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "使用 Firefox 個人設定檔目錄">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "自訂:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "選擇…">
|
||||
<!ENTITY zotero.preferences.dataDir.reveal "顯示資料目錄">
|
||||
|
|
|
@ -15,6 +15,11 @@ radio[pane]
|
|||
-moz-box-pack: end;
|
||||
}
|
||||
|
||||
#export-citePaperJournalArticleURL
|
||||
{
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
.statusLine
|
||||
{
|
||||
margin: .75em 0;
|
||||
|
@ -203,11 +208,6 @@ grid row hbox:first-child
|
|||
height: 1em;
|
||||
}
|
||||
|
||||
#quickCopy-instructions, #quickCopy-macWarning, #export-citePaperJournalArticleURL
|
||||
{
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
#quickCopy-siteSettings-rows::-moz-tree-cell(quickCopy-copyAsHTML) {
|
||||
/*
|
||||
DEBUG: possible to center checkmark here instead of with spaces?
|
||||
|
|
|
@ -378,7 +378,7 @@ CREATE TABLE customBaseFieldMappings (
|
|||
PRIMARY KEY (customItemTypeID, baseFieldID, customFieldID),
|
||||
FOREIGN KEY (customItemTypeID) REFERENCES customItemTypes(customItemTypeID),
|
||||
FOREIGN KEY (baseFieldID) REFERENCES fields(fieldID),
|
||||
FOREIGN KEY (customFieldID) REFERENCES fields(customFieldID)
|
||||
FOREIGN KEY (customFieldID) REFERENCES customFields(customFieldID)
|
||||
);
|
||||
CREATE INDEX customBaseFieldMappings_baseFieldID ON customBaseFieldMappings(baseFieldID);
|
||||
CREATE INDEX customBaseFieldMappings_customFieldID ON customBaseFieldMappings(customFieldID);
|
||||
|
|
Loading…
Reference in a new issue