From e51434416a66ea639ebbc87aa4aa9ada50d829c1 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Thu, 4 Apr 2013 11:11:03 -0400 Subject: [PATCH 01/32] Fix abbreviation of single word titles https://forums.zotero.org/discussion/28687/ --- chrome/content/zotero/xpcom/cite.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js index 5087396036..feac5889eb 100644 --- a/chrome/content/zotero/xpcom/cite.js +++ b/chrome/content/zotero/xpcom/cite.js @@ -429,12 +429,14 @@ Zotero.Cite.getAbbreviation = new function() { } // Fall back to full word - if(newWord === undefined ) newWord = word; + if(newWord === undefined) newWord = word; words[j] = newWord.substr(0, 1).toUpperCase() + newWord.substr(1); } + abbreviation = words.join("").replace(/\s+/g, " ").trim(); + } else { + abbreviation = key; } - abbreviation = words.join("").replace(/\s+/g, " ").trim(); } if(!abbreviation || abbreviation === key) { From 339225f2fb876f24009a4945ba827e3eceeec5e1 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 4 Apr 2013 12:01:17 -0400 Subject: [PATCH 02/32] Fix possible tag-related sync bug --- chrome/content/zotero/xpcom/sync.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 29a95d0be0..12e4e5b10e 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -2688,7 +2688,7 @@ Zotero.Sync.Server.Data = new function() { var tagID = Zotero.DB.valueQuery(sql, [libraryID, key]); var sql = "SELECT COUNT(*) > 0 FROM itemTags WHERE tagID=?"; - if (Zotero.DB.valueQuery(sql, [tagID])) { + if (tagID && Zotero.DB.valueQuery(sql, [tagID])) { var sql = "UPDATE tags SET clientDateModified=CURRENT_TIMESTAMP " + "WHERE tagID=?"; Zotero.DB.query(sql, [tagID]); From 5e4c464cf515707fa7ebab0197dac57f874847f0 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Thu, 4 Apr 2013 22:23:56 -0400 Subject: [PATCH 03/32] Fix lookup of <8 digit PMIDs --- chrome/content/zotero/lookup.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/lookup.js b/chrome/content/zotero/lookup.js index 2ef6d9e6f3..b7f10084c1 100644 --- a/chrome/content/zotero/lookup.js +++ b/chrome/content/zotero/lookup.js @@ -76,9 +76,9 @@ const Zotero_Lookup = new function () { //finally try for PMID if(!items.length) { - // PMID; right now, PMIDs are 8 digits, so it doesn't seem like we will need to - // discriminate for a fairly long time - var PMID_RE = /(?:\D|^)(\d{8})(?!\d)/g; + // PMID; right now, the longest PMIDs are 8 digits, so it doesn't + // seem like we will need to discriminate for a fairly long time + var PMID_RE = /(?:\D|^)(\d{1,9})(?!\d)/g; var pmid; while((pmid = PMID_RE.exec(identifier)) && foundIDs.indexOf(pmid) == -1) { items.push({itemType:"journalArticle", contextObject:"rft_id=info:pmid/"+pmid[1]}); From 0d6dc8111213cbf652c573181920673e330980f4 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Fri, 5 Apr 2013 10:48:58 -0400 Subject: [PATCH 04/32] Fix https://forums.zotero.org/discussion/28711 --- chrome/content/zotero/xpcom/integration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index 6803904ad5..8fea620240 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -1327,7 +1327,7 @@ Zotero.Integration.Fields.prototype.get = function get() { // If already getting fields, just return the promise if(this._deferreds) { this._deferreds.push(deferred); - return deferred; + return deferred.promise; } else { this._deferreds = [deferred]; } From 5878dac132353c0296043faba76f0f99b1296d75 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sun, 7 Apr 2013 16:28:40 -0400 Subject: [PATCH 05/32] Clarify error message for login manager access failure in Firefox Fixes #288, Inappropriate error message when master password times out --- chrome/content/zotero/xpcom/sync.js | 15 ++++++++++++--- chrome/locale/en-US/zotero/zotero.properties | 5 ++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 12e4e5b10e..fd3565ead7 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -1228,9 +1228,18 @@ Zotero.Sync.Server = new function () { } catch (e) { Zotero.debug(e); - var msg = Zotero.getString('sync.error.loginManagerCorrupted1', Zotero.appName) + "\n\n" - + Zotero.getString('sync.error.loginManagerCorrupted2', [Zotero.appName, Zotero.appName]); - alert(msg); + if (Zotero.isStandalone) { + var msg = Zotero.getString('sync.error.loginManagerCorrupted1', Zotero.appName) + "\n\n" + + Zotero.getString('sync.error.loginManagerCorrupted2', [Zotero.appName, Zotero.appName]); + } + else { + var msg = Zotero.getString('sync.error.loginManagerInaccessible') + "\n\n" + + Zotero.getString('sync.error.checkMasterPassword', Zotero.appName) + "\n\n" + + Zotero.getString('sync.error.corruptedLoginManager', Zotero.appName); + } + var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] + .getService(Components.interfaces.nsIPromptService); + ps.alert(null, Zotero.getString('general.error'), msg); return ''; } diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index ee310bf91b..71ca50c46b 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet = Password not set sync.error.invalidLogin = Invalid username or password sync.error.invalidLogin.text = The Zotero sync server did not accept your username and password.\n\nPlease check that you have entered your zotero.org login information correctly in the Zotero sync preferences. sync.error.enterPassword = Please enter a password. -sync.error.loginManagerCorrupted1 = Zotero cannot access your login information, likely due to a corrupted %S login manager database. +sync.error.loginManagerInaccessible = Zotero cannot access your login information. +sync.error.checkMasterPassword = If you are using a master password in %S, make sure you have entered it successfully. +sync.error.corruptedLoginManager = This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. +sync.error.loginManagerCorrupted1 = Zotero cannot access your login information, possibly due to a corrupted %S login manager database. sync.error.loginManagerCorrupted2 = Close %1$S, back up and delete signons.* from your %2$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress = A sync operation is already in progress. sync.error.syncInProgress.wait = Wait for the previous sync to complete or restart %S. From 79bfca03aed4c0948b0e66ee6437c246e7000f7a Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sun, 7 Apr 2013 16:48:40 -0400 Subject: [PATCH 06/32] Fix character encoding (including window title) of Timeline view http://forums.zotero.org/discussion/28688/ --- chrome/skin/default/zotero/timeline/timeline.html | 1 + 1 file changed, 1 insertion(+) diff --git a/chrome/skin/default/zotero/timeline/timeline.html b/chrome/skin/default/zotero/timeline/timeline.html index a79d263701..30223fc4b5 100644 --- a/chrome/skin/default/zotero/timeline/timeline.html +++ b/chrome/skin/default/zotero/timeline/timeline.html @@ -1,6 +1,7 @@ + -
+
diff --git a/chrome/content/zotero/tinymce/noteview.html b/chrome/content/zotero/tinymce/noteview.html index 9b417bfd41..6a6653a2cc 100644 --- a/chrome/content/zotero/tinymce/noteview.html +++ b/chrome/content/zotero/tinymce/noteview.html @@ -68,6 +68,6 @@ table.mceLayout > tbody > tr.mceLast { -
+
From d08ad1143dad4ea614742c7dc5f2927d213d20e3 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 9 Apr 2013 20:36:41 -0400 Subject: [PATCH 18/32] Make sure translator test errors appear both in log and in console --- .../tools/testTranslators/translatorTester.js | 80 +++++++++++-------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/chrome/content/zotero/tools/testTranslators/translatorTester.js b/chrome/content/zotero/tools/testTranslators/translatorTester.js index c0deb002c3..713deee9eb 100644 --- a/chrome/content/zotero/tools/testTranslators/translatorTester.js +++ b/chrome/content/zotero/tools/testTranslators/translatorTester.js @@ -51,14 +51,19 @@ Zotero_TranslatorTesters = new function() { Zotero.Translators.getAllForType(TEST_TYPES[i], new function() { var type = TEST_TYPES[i]; return function(translators) { - for(var i=0; i Date: Thu, 11 Apr 2013 04:25:22 -0400 Subject: [PATCH 19/32] Some file sync errors weren't being caught and displayed --- chrome/content/zotero/xpcom/storage/queue.js | 2 +- chrome/content/zotero/xpcom/storage/request.js | 16 +++++++++++++++- chrome/content/zotero/xpcom/storage/webdav.js | 4 ++++ chrome/content/zotero/xpcom/storage/zfs.js | 4 ++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/storage/queue.js b/chrome/content/zotero/xpcom/storage/queue.js index 5b49620266..1ef7cb01b1 100644 --- a/chrome/content/zotero/xpcom/storage/queue.js +++ b/chrome/content/zotero/xpcom/storage/queue.js @@ -413,7 +413,7 @@ Zotero.Sync.Storage.Queue.prototype.stop = function () { this._stopping = true; for each(var request in this._requests) { if (!request.isFinished()) { - request.stop(); + request.stop(true); } } diff --git a/chrome/content/zotero/xpcom/storage/request.js b/chrome/content/zotero/xpcom/storage/request.js index 44e091af84..b62532a86a 100644 --- a/chrome/content/zotero/xpcom/storage/request.js +++ b/chrome/content/zotero/xpcom/storage/request.js @@ -48,6 +48,7 @@ Zotero.Sync.Storage.Request = function (name, callbacks) { this._remaining = null; this._maxSize = null; this._finished = false; + this._forceFinish = false; this._changesMade = false; for (var func in callbacks) { @@ -308,7 +309,11 @@ Zotero.Sync.Storage.Request.prototype.onProgress = function (channel, progress, /** * Stop the request's underlying network request, if there is one */ -Zotero.Sync.Storage.Request.prototype.stop = function () { +Zotero.Sync.Storage.Request.prototype.stop = function (force) { + if (force) { + this._forceFinish = true; + } + if (this.channel) { this._stopping = true; @@ -330,6 +335,15 @@ Zotero.Sync.Storage.Request.prototype.stop = function () { * Mark request as finished and notify queue that it's done */ Zotero.Sync.Storage.Request.prototype._finish = function () { + // If an error occurred, we wait to finish the request, since doing + // so might end the queue before the error flag has been set on the queue. + // When the queue's error handler stops the queue, it stops the request + // with stop(true) to force the finish to occur, allowing the queue's + // promise to be rejected with the error. + if (!this._forceFinish && this._deferred.promise.isRejected()) { + return; + } + Zotero.debug("Finishing " + this.queue.name + " request '" + this.name + "'"); this._finished = true; var active = this._running; diff --git a/chrome/content/zotero/xpcom/storage/webdav.js b/chrome/content/zotero/xpcom/storage/webdav.js index 5f794d2f50..ee0c5578c6 100644 --- a/chrome/content/zotero/xpcom/storage/webdav.js +++ b/chrome/content/zotero/xpcom/storage/webdav.js @@ -271,6 +271,8 @@ Zotero.Sync.Storage.WebDAV = (function () { request.onProgress(a, b, c); }, onStop: function (httpRequest, status, response, data) { + data.request.setChannel(false); + deferred.resolve( Q.fcall(function () { return onUploadComplete(httpRequest, status, response, data); @@ -880,6 +882,8 @@ Zotero.Sync.Storage.WebDAV = (function () { request.onProgress(a, b, c) }, onStop: function (request, status, response, data) { + data.request.setChannel(false); + if (status == 404) { var msg = "Remote ZIP file not found for item " + item.key; Zotero.debug(msg, 2); diff --git a/chrome/content/zotero/xpcom/storage/zfs.js b/chrome/content/zotero/xpcom/storage/zfs.js index 5462a0012b..cdad1f0307 100644 --- a/chrome/content/zotero/xpcom/storage/zfs.js +++ b/chrome/content/zotero/xpcom/storage/zfs.js @@ -463,6 +463,8 @@ Zotero.Sync.Storage.ZFS = (function () { request.onProgress(a, b, c); }, onStop: function (httpRequest, status, response, data) { + data.request.setChannel(false); + deferred.resolve( onUploadComplete(httpRequest, status, response, data) ); @@ -803,6 +805,8 @@ Zotero.Sync.Storage.ZFS = (function () { request.onProgress(a, b, c) }, onStop: function (request, status, response, data) { + data.request.setChannel(false); + if (status != 200) { var msg = "Unexpected status code " + status + " for request " + data.request.name From 2236bab130344fe154b1e7bb0d3408515631de9f Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 11 Apr 2013 04:28:38 -0400 Subject: [PATCH 20/32] Better handle some file sync file access errors - Catch additional errors on Windows (too-long paths, maybe aliases) - Fix "Show File" button (which didn't show in some cases, at least on Windows) - Clarify error message --- chrome/content/zotero/xpcom/file.js | 56 +++++++------------- chrome/content/zotero/xpcom/storage.js | 16 +++--- chrome/content/zotero/xpcom/zotero.js | 53 ++++++++++++++++++ chrome/content/zotero/zoteroPane.js | 53 ++---------------- chrome/locale/en-US/zotero/zotero.properties | 2 +- 5 files changed, 85 insertions(+), 95 deletions(-) diff --git a/chrome/content/zotero/xpcom/file.js b/chrome/content/zotero/xpcom/file.js index 57688d467f..7383d4572f 100644 --- a/chrome/content/zotero/xpcom/file.js +++ b/chrome/content/zotero/xpcom/file.js @@ -523,54 +523,34 @@ Zotero.File = new function(){ } 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') { + // These show up on some Windows systems + || e.name == 'NS_ERROR_FAILURE' || e.name == 'NS_ERROR_FILE_NOT_FOUND') { Zotero.debug(e); str = str + " " + Zotero.getString('file.accessError.cannotBe') + " " + opWord + "."; var checkFileWindows = Zotero.getString('file.accessError.message.windows'); var checkFileOther = Zotero.getString('file.accessError.message.other'); - var msg = str + " " + var msg = str + "\n\n" + (Zotero.isWin ? checkFileWindows : checkFileOther) + "\n\n" + Zotero.getString('file.accessError.restart'); - if (operation == 'create') { - var e = new Zotero.Error( - msg, - 0, - { - dialogButtonText: Zotero.getString('file.accessError.showParentDir'), - dialogButtonCallback: function () { - try { - file.parent.QueryInterface(Components.interfaces.nsILocalFile).reveal(); - } - // Unsupported on some platforms - catch (e2) { - Zotero.debug(e2); - } + var e = new Zotero.Error( + msg, + 0, + { + dialogButtonText: Zotero.getString('file.accessError.showParentDir'), + dialogButtonCallback: function () { + try { + file.parent.QueryInterface(Components.interfaces.nsILocalFile); + file.parent.reveal(); + } + // Unsupported on some platforms + catch (e2) { + Zotero.launchFile(file.parent); } } - ); - } - else { - var e = new Zotero.Error( - msg, - 0, - { - dialogButtonText: Zotero.getString('locate.showFile.label'), - dialogButtonCallback: function () { - try { - file.QueryInterface(Components.interfaces.nsILocalFile); - file.reveal(); - } - // Unsupported on some platforms - catch (e2) { - Zotero.debug(e2); - } - } - } - ); - } + } + ); } throw (e); diff --git a/chrome/content/zotero/xpcom/storage.js b/chrome/content/zotero/xpcom/storage.js index b0e9d55c33..45d8ef3652 100644 --- a/chrome/content/zotero/xpcom/storage.js +++ b/chrome/content/zotero/xpcom/storage.js @@ -1607,18 +1607,18 @@ Zotero.Sync.Storage = new function () { // Do deletes outside of the enumerator to avoid an access error on Windows for each(var file in filesToDelete) { - if (file.isFile()) { - Zotero.debug("Deleting existing file " + file.leafName); - try { + try { + if (file.isFile()) { + Zotero.debug("Deleting existing file " + file.leafName); file.remove(false); } - catch (e) { - Zotero.File.checkFileAccessError(e, file, 'delete'); + else if (file.isDirectory()) { + Zotero.debug("Deleting existing directory " + file.leafName); + file.remove(true); } } - else if (file.isDirectory()) { - Zotero.debug("Deleting existing directory " + file.leafName); - file.remove(true); + catch (e) { + Zotero.File.checkFileAccessError(e, file, 'delete'); } } } diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index db14c0acf0..cbcce63834 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -1146,6 +1146,58 @@ Components.utils.import("resource://gre/modules/Services.jsm"); } + /** + * Launch a file, the best way we can + */ + this.launchFile = function (file) { + try { + file.launch(); + } + catch (e) { + Zotero.debug("launch() not supported -- trying fallback executable"); + + try { + if (Zotero.isWin) { + var pref = "fallbackLauncher.windows"; + } + else { + var pref = "fallbackLauncher.unix"; + } + var path = Zotero.Prefs.get(pref); + + var exec = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + exec.initWithPath(path); + if (!exec.exists()) { + throw (path + " does not exist"); + } + + var proc = Components.classes["@mozilla.org/process/util;1"] + .createInstance(Components.interfaces.nsIProcess); + proc.init(exec); + + var args = [file.path]; + proc.runw(true, args, args.length); + } + catch (e) { + Zotero.debug(e); + Zotero.debug("Launching via executable failed -- passing to loadUrl()"); + + // If nsILocalFile.launch() isn't available and the fallback + // executable doesn't exist, we just let the Firefox external + // helper app window handle it + var nsIFPH = Components.classes["@mozilla.org/network/protocol;1?name=file"] + .getService(Components.interfaces.nsIFileProtocolHandler); + var uri = nsIFPH.newFileURI(file); + + var nsIEPS = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]. + getService(Components.interfaces.nsIExternalProtocolService); + nsIEPS.loadUrl(uri); + } + } + } + + /* * Debug logging function * @@ -1854,6 +1906,7 @@ Components.utils.import("resource://gre/modules/Services.jsm"); Zotero.Items.reloadAll(); } + /** * Brings Zotero Standalone to the foreground */ diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index b4e0417b8d..c962838847 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -3464,7 +3464,7 @@ var ZoteroPane = new function() this.loadURI(url, event); } else { - this.launchFile(file); + Zotero.launchFile(file); } } else { @@ -3507,54 +3507,11 @@ var ZoteroPane = new function() /** - * Launch a file, the best way we can + * @deprecated */ this.launchFile = function (file) { - try { - file.launch(); - } - catch (e) { - Zotero.debug("launch() not supported -- trying fallback executable"); - - try { - if (Zotero.isWin) { - var pref = "fallbackLauncher.windows"; - } - else { - var pref = "fallbackLauncher.unix"; - } - var path = Zotero.Prefs.get(pref); - - var exec = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - exec.initWithPath(path); - if (!exec.exists()) { - throw (path + " does not exist"); - } - - var proc = Components.classes["@mozilla.org/process/util;1"] - .createInstance(Components.interfaces.nsIProcess); - proc.init(exec); - - var args = [file.path]; - proc.runw(true, args, args.length); - } - catch (e) { - Zotero.debug(e); - Zotero.debug("Launching via executable failed -- passing to loadUrl()"); - - // If nsILocalFile.launch() isn't available and the fallback - // executable doesn't exist, we just let the Firefox external - // helper app window handle it - var nsIFPH = Components.classes["@mozilla.org/network/protocol;1?name=file"] - .getService(Components.interfaces.nsIFileProtocolHandler); - var uri = nsIFPH.newFileURI(file); - - var nsIEPS = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]. - getService(Components.interfaces.nsIExternalProtocolService); - nsIEPS.loadUrl(uri); - } - } + Zotero.debug("ZoteroPane.launchFile() is deprecated -- use Zotero.launchFile()", 2); + Zotero.launchFile(file); } @@ -3626,7 +3583,7 @@ var ZoteroPane = new function() // On platforms that don't support nsILocalFile.reveal() (e.g. Linux), // launch the parent directory var parent = file.parent.QueryInterface(Components.interfaces.nsILocalFile); - this.launchFile(parent); + Zotero.launchFile(parent); } } else { diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index 71ca50c46b..9820cae9df 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe = cannot be file.accessError.created = created file.accessError.updated = updated file.accessError.deleted = deleted -file.accessError.message.windows = Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows = Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other = Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart = Restarting your computer or disabling security software may also help. file.accessError.showParentDir = Show Parent Directory From 9c74957bc0a6a22b6abe66227881a77718aa2dea Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 11 Apr 2013 04:30:51 -0400 Subject: [PATCH 21/32] Tweak alignment of sync error icon on Windows --- chrome/content/zotero-platform/win/overlay.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css index 05dea23438..1afdc6e0b5 100644 --- a/chrome/content/zotero-platform/win/overlay.css +++ b/chrome/content/zotero-platform/win/overlay.css @@ -22,7 +22,8 @@ } #zotero-tb-sync-error { - margin-right: 2px; + margin-right: 4px; + padding-top: 4px; } #zotero-tb-sync { From 7be068053765eb268dcb68e02f2a2b768456f849 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 11 Apr 2013 05:07:02 -0400 Subject: [PATCH 22/32] Update localized string manually, since Transifex is currently broken --- chrome/locale/af-ZA/zotero/zotero.properties | 2 +- chrome/locale/ar/zotero/zotero.properties | 2 +- chrome/locale/bg-BG/zotero/zotero.properties | 2 +- chrome/locale/ca-AD/zotero/zotero.properties | 2 +- chrome/locale/cs-CZ/zotero/zotero.properties | 2 +- chrome/locale/da-DK/zotero/zotero.properties | 2 +- chrome/locale/de/zotero/zotero.properties | 2 +- chrome/locale/el-GR/zotero/zotero.properties | 2 +- chrome/locale/es-ES/zotero/zotero.properties | 2 +- chrome/locale/et-EE/zotero/zotero.properties | 2 +- chrome/locale/eu-ES/zotero/zotero.properties | 2 +- chrome/locale/fa/zotero/zotero.properties | 2 +- chrome/locale/fi-FI/zotero/zotero.properties | 2 +- chrome/locale/fr-FR/zotero/zotero.properties | 2 +- chrome/locale/gl-ES/zotero/zotero.properties | 2 +- chrome/locale/he-IL/zotero/zotero.properties | 2 +- chrome/locale/hr-HR/zotero/zotero.properties | 2 +- chrome/locale/hu-HU/zotero/zotero.properties | 2 +- chrome/locale/is-IS/zotero/zotero.properties | 2 +- chrome/locale/it-IT/zotero/zotero.properties | 2 +- chrome/locale/ja-JP/zotero/zotero.properties | 2 +- chrome/locale/km/zotero/zotero.properties | 2 +- chrome/locale/ko-KR/zotero/zotero.properties | 2 +- chrome/locale/mn-MN/zotero/zotero.properties | 2 +- chrome/locale/nb-NO/zotero/zotero.properties | 2 +- chrome/locale/nl-NL/zotero/zotero.properties | 2 +- chrome/locale/nn-NO/zotero/zotero.properties | 2 +- chrome/locale/pl-PL/zotero/zotero.properties | 2 +- chrome/locale/pt-BR/zotero/zotero.properties | 2 +- chrome/locale/pt-PT/zotero/zotero.properties | 2 +- chrome/locale/ro-RO/zotero/zotero.properties | 2 +- chrome/locale/ru-RU/zotero/zotero.properties | 2 +- chrome/locale/sk-SK/zotero/zotero.properties | 2 +- chrome/locale/sl-SI/zotero/zotero.properties | 2 +- chrome/locale/sr-RS/zotero/zotero.properties | 2 +- chrome/locale/sv-SE/zotero/zotero.properties | 2 +- chrome/locale/th-TH/zotero/zotero.properties | 2 +- chrome/locale/tr-TR/zotero/zotero.properties | 2 +- chrome/locale/vi-VN/zotero/zotero.properties | 2 +- chrome/locale/zh-CN/zotero/zotero.properties | 2 +- chrome/locale/zh-TW/zotero/zotero.properties | 2 +- 41 files changed, 41 insertions(+), 41 deletions(-) diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/zotero/zotero.properties index e3ec030960..bb8878b701 100644 --- a/chrome/locale/af-ZA/zotero/zotero.properties +++ b/chrome/locale/af-ZA/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ar/zotero/zotero.properties b/chrome/locale/ar/zotero/zotero.properties index 0c4a0d0cde..c2450bb61d 100644 --- a/chrome/locale/ar/zotero/zotero.properties +++ b/chrome/locale/ar/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties index 8711593da4..3d00430275 100644 --- a/chrome/locale/bg-BG/zotero/zotero.properties +++ b/chrome/locale/bg-BG/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties index fc7239a9a9..16913b6e83 100644 --- a/chrome/locale/ca-AD/zotero/zotero.properties +++ b/chrome/locale/ca-AD/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties index 5444731d6b..24d96f6171 100644 --- a/chrome/locale/cs-CZ/zotero/zotero.properties +++ b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties index 5fee850bfc..0e46360a18 100644 --- a/chrome/locale/da-DK/zotero/zotero.properties +++ b/chrome/locale/da-DK/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/de/zotero/zotero.properties b/chrome/locale/de/zotero/zotero.properties index 06fab61bfc..077b347d4a 100644 --- a/chrome/locale/de/zotero/zotero.properties +++ b/chrome/locale/de/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=kann nicht file.accessError.created=erstellt file.accessError.updated=aktualisiert file.accessError.deleted=gelöscht -file.accessError.message.windows=Stellen Sie sicher, dass die Datei zurzeit nicht verwendet wird und dass Sie nicht schreibgeschützt ist. Um alle Dateien in Ihrem Zotero Datenverzeichnis zu überprüfen, führen Sie einen Rechtsklick auf den Ordner 'zotero' und wählen dann 'Eigenschaften'. Entfernen Sie dann den Haken bei 'Schreibgeschützt' und bestätigen Sie, dass Sie die Änderungen auf alle Ordner und Dateien im Verzeichnis anwenden wollen. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Stellen Sie sicher, dass die Datei nicht verwendet wird und dass Schreibberechtigungen vorliegen. file.accessError.restart=Ein Neustart Ihres Computers oder die Deaktivierung von Sicherheitssoftware könnte ebenfalls Abhilfe schaffen. file.accessError.showParentDir=Übergeordnetes Verzeichnis anzeigen diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/zotero/zotero.properties index e3ec030960..bb8878b701 100644 --- a/chrome/locale/el-GR/zotero/zotero.properties +++ b/chrome/locale/el-GR/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties index cdf38d2b51..c6e1b2bd09 100644 --- a/chrome/locale/es-ES/zotero/zotero.properties +++ b/chrome/locale/es-ES/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/et-EE/zotero/zotero.properties b/chrome/locale/et-EE/zotero/zotero.properties index 1a2d57da47..ce7b4809e0 100644 --- a/chrome/locale/et-EE/zotero/zotero.properties +++ b/chrome/locale/et-EE/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties index 0c7707875c..f3fc3275f8 100644 --- a/chrome/locale/eu-ES/zotero/zotero.properties +++ b/chrome/locale/eu-ES/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/fa/zotero/zotero.properties b/chrome/locale/fa/zotero/zotero.properties index 1cab0755db..6c1076f5c1 100644 --- a/chrome/locale/fa/zotero/zotero.properties +++ b/chrome/locale/fa/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties index 7a27ec7660..d2bdaf964b 100644 --- a/chrome/locale/fi-FI/zotero/zotero.properties +++ b/chrome/locale/fi-FI/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties index 1a4fffc840..e3d6313a0a 100644 --- a/chrome/locale/fr-FR/zotero/zotero.properties +++ b/chrome/locale/fr-FR/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=ne peut pas être file.accessError.created=créé file.accessError.updated=mis à jour file.accessError.deleted=supprimé -file.accessError.message.windows=Vérifiez que le fichier n'est pas utilisé actuellement et qu'il n'est pas en lecture seule. Pour vérifier tous les fichiers de votre répertoire de données Zotero, cliquez avec le bouton droit sur le répertoire 'zotero', cliquez sur Propriétés, décochez la case Lecture seule, et appliquez le changement à l'ensemble des dossiers et fichiers du répertoire. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Vérifiez que le fichier n'est pas utilisé actuellement et que ses permissions autorisent l'accès en écriture. file.accessError.restart=Redémarrer votre ordinateur ou désactiver les logiciels de sécurité peut aussi aider. file.accessError.showParentDir=Localiser le répertoire parent diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties index 73cae1958c..324f7ecb9f 100644 --- a/chrome/locale/gl-ES/zotero/zotero.properties +++ b/chrome/locale/gl-ES/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties index 4d9a78a48d..c955125ec0 100644 --- a/chrome/locale/he-IL/zotero/zotero.properties +++ b/chrome/locale/he-IL/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/zotero/zotero.properties index e3ec030960..bb8878b701 100644 --- a/chrome/locale/hr-HR/zotero/zotero.properties +++ b/chrome/locale/hr-HR/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties index 7ebf593ce3..38ec9caeaf 100644 --- a/chrome/locale/hu-HU/zotero/zotero.properties +++ b/chrome/locale/hu-HU/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties index 8567a54894..2347f71937 100644 --- a/chrome/locale/is-IS/zotero/zotero.properties +++ b/chrome/locale/is-IS/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties index 4629de96ac..37f158f9a8 100644 --- a/chrome/locale/it-IT/zotero/zotero.properties +++ b/chrome/locale/it-IT/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties index ddc14fe27b..dfa6d9affd 100644 --- a/chrome/locale/ja-JP/zotero/zotero.properties +++ b/chrome/locale/ja-JP/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=できない file.accessError.created=作成できません file.accessError.updated=更新できません file.accessError.deleted=削除できません -file.accessError.message.windows=ファイルが使用中でなく、また読み出し専用に設定されていないことをご確認下さい。Zotero データディレクトリの全ファイルについて確認するには、'zotero' ディレクトリを右クリックしてプロパティをクリックし、Read-Only (読み出しのみ)のチェックボックスを外し、変更をそのディレクトリ内のすべてのフォルダとファイルに適用します。 +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=ファイルが使用中でないか、またファイルのアクセス権が書き込みを許可していることをご確認下さい。 file.accessError.restart=コンピューターを再起動するか、セキュリティ・ソフトウェアを無効化するとよいかもしれません。 file.accessError.showParentDir=親ディレクトリを表示 diff --git a/chrome/locale/km/zotero/zotero.properties b/chrome/locale/km/zotero/zotero.properties index cc3b907ddf..6c890cb49e 100644 --- a/chrome/locale/km/zotero/zotero.properties +++ b/chrome/locale/km/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=បានបង្កើត file.accessError.updated=updated file.accessError.deleted=បានលុបចោល -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties index 4fbe5f7ed3..31991bec98 100644 --- a/chrome/locale/ko-KR/zotero/zotero.properties +++ b/chrome/locale/ko-KR/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties index 17e1f3c075..23a84fae3d 100644 --- a/chrome/locale/mn-MN/zotero/zotero.properties +++ b/chrome/locale/mn-MN/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties index 16dabb7353..9b0b332104 100644 --- a/chrome/locale/nb-NO/zotero/zotero.properties +++ b/chrome/locale/nb-NO/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties index 94415101a9..17371ede72 100644 --- a/chrome/locale/nl-NL/zotero/zotero.properties +++ b/chrome/locale/nl-NL/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties index 5ed76bd92c..0df1edcb09 100644 --- a/chrome/locale/nn-NO/zotero/zotero.properties +++ b/chrome/locale/nn-NO/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties index f8e92bc421..2111500160 100644 --- a/chrome/locale/pl-PL/zotero/zotero.properties +++ b/chrome/locale/pl-PL/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties index 08abd5caa5..fb00c97e18 100644 --- a/chrome/locale/pt-BR/zotero/zotero.properties +++ b/chrome/locale/pt-BR/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties index a5e02f4d25..0b85a7e233 100644 --- a/chrome/locale/pt-PT/zotero/zotero.properties +++ b/chrome/locale/pt-PT/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ro-RO/zotero/zotero.properties b/chrome/locale/ro-RO/zotero/zotero.properties index 0a7facfe6a..a3f5d574ea 100644 --- a/chrome/locale/ro-RO/zotero/zotero.properties +++ b/chrome/locale/ro-RO/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=nu poate fi file.accessError.created=creat file.accessError.updated=actualizat file.accessError.deleted=șters -file.accessError.message.windows=Verifică dacă fișierul nu e folosit chiar în acest moment și dacă nu e marcat ca numai citire (read-only). Pentru a verifica toate fișierele din directorul tău de date Zotero, clic dreapta pe directorul 'zotero', clic Proprietăți, dezactivează caseta de validare Numai-citire (Read-Only) și aplică schimbarea tuturor dosarelor și fișierelor din director. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Verifică dacă fișierul nu e curent în uz și dacă permisiunile sale permit accesul de scriere. file.accessError.restart=Repornirea calculatorului sau dezactivarea software-ului de securitate poate de asemenea să ajute. file.accessError.showParentDir=Arată directorul părinte diff --git a/chrome/locale/ru-RU/zotero/zotero.properties b/chrome/locale/ru-RU/zotero/zotero.properties index 8ab25766f7..a6e55d466a 100644 --- a/chrome/locale/ru-RU/zotero/zotero.properties +++ b/chrome/locale/ru-RU/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties index ee7a3c3361..9af240e88b 100644 --- a/chrome/locale/sk-SK/zotero/zotero.properties +++ b/chrome/locale/sk-SK/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=nemožno file.accessError.created=vytvoriť file.accessError.updated=aktualizovať file.accessError.deleted=odstrániť -file.accessError.message.windows=Skontrolujte, že súbor sa aktuálne nepoužíva a že nie je označený ako iba na čítanie. Pre kontrolu všetkých súborov vo vašom adresári údajov Zotero, kliknite pravým tlačidlom myši na adresár 'zotero', kliknite na Vlastnosti, odškrtnite políčko Iba na čítanie a použite zmeny u všetkých adresárov a súborov v adresári. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Skontrolujte, že súbor sa aktuálne nepoužíva a že jeho oprávnenia dovoľujú prístup zapisovať. file.accessError.restart=Reštartovanie počítača alebo vypnutie bezpečnostného softvéru môže tiež pomôcť. file.accessError.showParentDir=Zobraziť nadradený adresár diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties index 24750401bc..f48ecb2415 100644 --- a/chrome/locale/sl-SI/zotero/zotero.properties +++ b/chrome/locale/sl-SI/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=ustvarjena file.accessError.updated=posodobljena file.accessError.deleted=izbrisana -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Pokaži nadrejeno mapo diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties index d81ee2f855..d35a5ee4e8 100644 --- a/chrome/locale/sr-RS/zotero/zotero.properties +++ b/chrome/locale/sr-RS/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/sv-SE/zotero/zotero.properties b/chrome/locale/sv-SE/zotero/zotero.properties index cba20184e3..3ad84d5264 100644 --- a/chrome/locale/sv-SE/zotero/zotero.properties +++ b/chrome/locale/sv-SE/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties index 5872f4f95a..4fa9061ea2 100644 --- a/chrome/locale/th-TH/zotero/zotero.properties +++ b/chrome/locale/th-TH/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/tr-TR/zotero/zotero.properties b/chrome/locale/tr-TR/zotero/zotero.properties index e59f451ea3..a789618bba 100644 --- a/chrome/locale/tr-TR/zotero/zotero.properties +++ b/chrome/locale/tr-TR/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties index 3ff88f5bfa..a3c1562ddb 100644 --- a/chrome/locale/vi-VN/zotero/zotero.properties +++ b/chrome/locale/vi-VN/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties index ef50fdf84d..0ecd767918 100644 --- a/chrome/locale/zh-CN/zotero/zotero.properties +++ b/chrome/locale/zh-CN/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=不能是 file.accessError.created=已创建 file.accessError.updated=已更新 file.accessError.deleted=已删除 -file.accessError.message.windows=确认该文件没有被占用并且没有被标记为只读. 检查 Zotero 数据文件夹中的所有文件, 右键点击 'zotero' 文件夹, 点击属性, 去掉只读的勾选, 然后应用到所有的文件夹及其下面的文件. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=确保文件没有被占用, 并且具有写入的权限. file.accessError.restart=重启电脑或禁用安全软件也可能解决问题. file.accessError.showParentDir=显示上一级目录 diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties index 77f4b9855a..25bff6f8e7 100644 --- a/chrome/locale/zh-TW/zotero/zotero.properties +++ b/chrome/locale/zh-TW/zotero/zotero.properties @@ -903,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory From 8ea86d77d3fc7ce374eb9f1e69580cbf210eed70 Mon Sep 17 00:00:00 2001 From: rsnape Date: Thu, 11 Apr 2013 12:15:39 +0200 Subject: [PATCH 23/32] Update itembox.xml Corrects a tiny bug where pressing minus button to remove an unsaved creator row creates incorrect behaviour in the plus button in preceding row. Done in preparation for a fix I have locally for issue #251. Please advise if I have your preferred workflow wrong. --- chrome/content/zotero/bindings/itembox.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/bindings/itembox.xml b/chrome/content/zotero/bindings/itembox.xml index 15cfe3bc68..f463ccf6e8 100644 --- a/chrome/content/zotero/bindings/itembox.xml +++ b/chrome/content/zotero/bindings/itembox.xml @@ -1334,7 +1334,7 @@ var elems = this._dynamicFields.getElementsByAttribute('value', '+'); var button = elems[elems.length-1]; var creatorFields = this.getCreatorFields(Zotero.getAncestorByTagName(button, 'row')); - this._enablePlusButton(button, creatorFields.typeID, creatorFields.fieldMode); + this._enablePlusButton(button, creatorFields.creatorTypeID, creatorFields.fieldMode); this._creatorCount--; return; From ef3a5755f89b323b1b3e14b25acd2526429afee4 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 12 Apr 2013 14:15:31 -0400 Subject: [PATCH 24/32] Colored tags weren't shown in collections with no other tags --- chrome/content/zotero/bindings/tagselector.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/bindings/tagselector.xml b/chrome/content/zotero/bindings/tagselector.xml index 413fa516e1..2ca9ffc6bc 100644 --- a/chrome/content/zotero/bindings/tagselector.xml +++ b/chrome/content/zotero/bindings/tagselector.xml @@ -369,12 +369,13 @@ delete self.selection[name]; var doCommand = true; } - - // Always show colored tags at top - if (colorData) { + // Always show colored tags at top, unless they + // don't match an active tag search + if (colorData && (!self._search || inSearch)) { labels[i].setAttribute('hidden', false); labels[i].setAttribute('hasColor', true); + empty = false; } else { labels[i].removeAttribute('hasColor'); From b01ae24f1811ffae6a5e3d79c8a261a764ac2e35 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 12 Apr 2013 15:57:02 -0400 Subject: [PATCH 25/32] Don't deselect tags unnecessarily https://forums.zotero.org/discussion/28842/ Related to 4e1fbf974 --- .../content/zotero/bindings/tagselector.xml | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/chrome/content/zotero/bindings/tagselector.xml b/chrome/content/zotero/bindings/tagselector.xml index 2ca9ffc6bc..faca83397b 100644 --- a/chrome/content/zotero/bindings/tagselector.xml +++ b/chrome/content/zotero/bindings/tagselector.xml @@ -40,7 +40,8 @@ false null null - null + null + null @@ -206,7 +207,8 @@ } Zotero.debug('Refreshing tags selector'); - var empty = true; + var emptyColored = true; + var emptyRegular = true; var tagsToggleBox = this.id('tags-toggle'); var self = this; @@ -340,7 +342,7 @@ labels[i].className = 'zotero-clicky'; labels[i].setAttribute('inScope', true); labels[i].setAttribute('hidden', false); - empty = false; + emptyRegular = false; } else { labels[i].className = ''; @@ -360,14 +362,7 @@ } labels[i].setAttribute('hidden', false); - empty = false; - } - - // If tag isn't in scope and is still selected, deselect it - if (labels[i].getAttribute('hidden') == 'true' && self.selection[name]) { - labels[i].setAttribute('selected', false); - delete self.selection[name]; - var doCommand = true; + emptyRegular = false; } // Always show colored tags at top, unless they @@ -375,7 +370,7 @@ if (colorData && (!self._search || inSearch)) { labels[i].setAttribute('hidden', false); labels[i].setAttribute('hasColor', true); - empty = false; + emptyColored = false; } else { labels[i].removeAttribute('hasColor'); @@ -451,15 +446,16 @@ //end tag cloud code - self.updateNumSelected(); - self._empty = empty; + self._emptyColored = emptyColored; + self._emptyRegular = emptyRegular; + var empty = emptyColored && emptyRegular; self.id('tags-toggle').setAttribute('collapsed', empty); self.id('no-tags-box').setAttribute('collapsed', !empty); - if (doCommand) { - Zotero.debug('A selected tag went out of scope -- deselecting'); - self.doCommand(); + if (self.onRefresh) { + self.onRefresh(); + self.onRefresh = null; } }) .done(); @@ -564,14 +560,22 @@ me.setSearch(false, true); } me._dirty = true; - me.doCommand(); - // If no tags visible after a delete, deselect all - if ((event == 'remove' || event == 'delete') && - me._empty && me.getNumSelected()) { - Zotero.debug('No tags visible after delete -- deselecting all'); - me.clearAll(); - } + // This is a hack, but set this to run after the refresh, + // since _emptyRegular isn't set until then + me.onRefresh = function () { + // If no regular tags visible after a delete, deselect all. + // This is necessary so that a selected tag that's removed + // from its last item doesn't cause all regular tags to + // disappear without anything being visibly selected. + if ((event == 'remove' || event == 'delete') && + me._emptyRegular && me.getNumSelected()) { + Zotero.debug('No tags visible after delete -- deselecting all'); + me.clearAll(); + } + }; + + me.doCommand(); }, 0); this._notified = true; ]]> From 33fedc306c8fe72a383484e62a6991e6e93e606c Mon Sep 17 00:00:00 2001 From: Aurimas Vinckevicius Date: Sat, 13 Apr 2013 01:53:02 -0500 Subject: [PATCH 26/32] Add icons to context menus --- chrome/content/zotero/locateMenu.js | 5 +- chrome/content/zotero/zoteroPane.js | 2 +- chrome/content/zotero/zoteroPane.xul | 56 +++++----- .../default/zotero/arrow-curve-090-left.png | Bin 0 -> 637 bytes chrome/skin/default/zotero/arrow-join-090.png | Bin 0 -> 671 bytes .../skin/default/zotero/arrow-split-090.png | Bin 0 -> 728 bytes .../skin/default/zotero/bookmark-pencil.png | Bin 0 -> 755 bytes chrome/skin/default/zotero/cross-script.png | Bin 0 -> 663 bytes .../default/zotero/document-search-result.png | Bin 0 -> 781 bytes .../skin/default/zotero/edit-list-order.png | Bin 0 -> 298 bytes chrome/skin/default/zotero/lifebuoy.png | Bin 0 -> 902 bytes chrome/skin/default/zotero/overlay.css | 105 ++++++++++++++++++ chrome/skin/default/zotero/page_white_add.png | Bin 0 -> 512 bytes chrome/skin/default/zotero/puzzle-arrow.png | Bin 0 -> 921 bytes .../zotero/toolbar-collection-delete.png | Bin 0 -> 666 bytes 15 files changed, 137 insertions(+), 31 deletions(-) create mode 100644 chrome/skin/default/zotero/arrow-curve-090-left.png create mode 100644 chrome/skin/default/zotero/arrow-join-090.png create mode 100644 chrome/skin/default/zotero/arrow-split-090.png create mode 100644 chrome/skin/default/zotero/bookmark-pencil.png create mode 100644 chrome/skin/default/zotero/cross-script.png create mode 100644 chrome/skin/default/zotero/document-search-result.png create mode 100644 chrome/skin/default/zotero/edit-list-order.png create mode 100644 chrome/skin/default/zotero/lifebuoy.png create mode 100644 chrome/skin/default/zotero/page_white_add.png create mode 100644 chrome/skin/default/zotero/puzzle-arrow.png create mode 100644 chrome/skin/default/zotero/toolbar-collection-delete.png diff --git a/chrome/content/zotero/locateMenu.js b/chrome/content/zotero/locateMenu.js index 8b66cfeb4d..c0053c0503 100644 --- a/chrome/content/zotero/locateMenu.js +++ b/chrome/content/zotero/locateMenu.js @@ -93,8 +93,9 @@ var Zotero_LocateMenu = new function() { /** * Clear the bottom part of the context menu and add locate options * @param {menupopup} menu The menu to add context menu items to + * @param {Boolean} showIcons Whether menu items should have associated icons */ - this.buildContextMenu = function(menu) { + this.buildContextMenu = function(menu, showIcons) { // get selected items var selectedItems = _getSelectedItems(); @@ -102,7 +103,7 @@ var Zotero_LocateMenu = new function() { if(!selectedItems.length || selectedItems.length > 20) return; // add view options - _addViewOptions(menu, selectedItems); + _addViewOptions(menu, selectedItems, showIcons); /*// look for locate engines var availableEngines = _getAvailableLocateEngines(selectedItems); diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index c962838847..d141270644 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -2400,7 +2400,7 @@ var ZoteroPane = new function() } // add locate menu options - Zotero_LocateMenu.buildContextMenu(menu); + Zotero_LocateMenu.buildContextMenu(menu, true); } diff --git a/chrome/content/zotero/zoteroPane.xul b/chrome/content/zotero/zoteroPane.xul index ac26fe49f8..e860b3c3c8 100644 --- a/chrome/content/zotero/zoteroPane.xul +++ b/chrome/content/zotero/zoteroPane.xul @@ -237,31 +237,31 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - + - - + + @@ -271,20 +271,20 @@ - - - - - + + + + + - - - + + + - - - - + - + From 41449871a1ca5b1ad3f7516602aedad3cd2379ac Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 13 Apr 2013 03:41:32 -0400 Subject: [PATCH 28/32] Fix "Source item for keyed source doesn't exist" sync error This could occur in 4.0 if a standalone attachment was modified locally and remotely was changed into a child attachment. --- chrome/content/zotero/xpcom/data/item.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js index 208fc55d0b..796be2e6fd 100644 --- a/chrome/content/zotero/xpcom/data/item.js +++ b/chrome/content/zotero/xpcom/data/item.js @@ -2837,7 +2837,20 @@ Zotero.Item.prototype.getFile = function(row, skipExistsCheck) { if (self.isTopLevelItem()) { return; } - Zotero.Items.get(self.getSource()).updateBestAttachmentState(); + + try { + var parentKey = self.getSource(); + } + // This can happen during classic sync conflict resolution, if a + // standalone attachment was modified locally and remotely was changed + // into a child attachment + catch (e) { + Zotero.debug("Attachment parent doesn't exist for source key " + + "in Zotero.Item.updateAttachmentStates()", 1); + return; + } + + Zotero.Items.get(parentKey).updateBestAttachmentState(); }; // No associated files for linked URLs From 82c4c90f5c271d25e06710c2f371c817b852ff7a Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 13 Apr 2013 03:44:09 -0400 Subject: [PATCH 29/32] Fix spacing in sync auto-merge dialogs --- chrome/content/zotero/xpcom/sync.js | 13 ++++++++----- chrome/locale/en-US/zotero/zotero.properties | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index fd3565ead7..341d5b7d17 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -3755,7 +3755,8 @@ Zotero.Sync.Server.Data = new function() { else { msg += Zotero.getString('sync.conflict.recentVersionsKept'); } - msg += "\n\n" + Zotero.getString('sync.conflict.viewErrorConsole', (Zotero.isStandalone ? "" : " Firefox")); + msg += "\n\n" + Zotero.getString('sync.conflict.viewErrorConsole', + (Zotero.isStandalone ? "" : "Firefox")).replace(/\s+/, " "); return msg; } @@ -3795,8 +3796,9 @@ Zotero.Sync.Server.Data = new function() { function _generateCollectionItemMergeAlertMessage() { - var msg = Zotero.getString('sync.conflict.collectionItemMerge.alert') - + Zotero.getString('sync.conflict.viewErrorConsole', (Zotero.isStandalone ? "" : "Firefox ")); + var msg = Zotero.getString('sync.conflict.collectionItemMerge.alert') + "\n\n" + + Zotero.getString('sync.conflict.viewErrorConsole', + (Zotero.isStandalone ? "" : "Firefox")).replace(/\s+/, " "); return msg; } @@ -3830,8 +3832,9 @@ Zotero.Sync.Server.Data = new function() { function _generateTagItemMergeAlertMessage() { - var msg = Zotero.getString('sync.conflict.tagItemMerge.alert') - + Zotero.getString('sync.conflict.viewErrorConsole', (Zotero.isStandalone ? "" : "Firefox ")); + var msg = Zotero.getString('sync.conflict.tagItemMerge.alert') + "\n\n" + + Zotero.getString('sync.conflict.viewErrorConsole', + (Zotero.isStandalone ? "" : "Firefox")).replace(/\s+/, " "); return msg; } diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index 9820cae9df..a14c67c25b 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -783,7 +783,7 @@ sync.conflict.localVersionsKept = The local versions have been kept. sync.conflict.localVersionKept = The local version has been kept. sync.conflict.recentVersionsKept = The most recent versions have been kept. sync.conflict.recentVersionKept = The most recent version, '%S', has been kept. -sync.conflict.viewErrorConsole = View the%S Error Console for the full list of such changes. +sync.conflict.viewErrorConsole = View the %S Error Console for the full list of such changes. sync.conflict.localVersion = Local version: %S sync.conflict.remoteVersion = Remote version: %S sync.conflict.deleted = [deleted] From d0d0f14edba35edab121203116458efd7aaad62a Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sun, 14 Apr 2013 01:47:05 -0400 Subject: [PATCH 30/32] Disable context menu icons on OS X --- chrome/content/zotero-platform/mac/overlay.css | 10 ++++++++++ chrome/content/zotero/locateMenu.js | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero-platform/mac/overlay.css b/chrome/content/zotero-platform/mac/overlay.css index 495c128296..e1cd1e9801 100644 --- a/chrome/content/zotero-platform/mac/overlay.css +++ b/chrome/content/zotero-platform/mac/overlay.css @@ -328,4 +328,14 @@ treechildren::-moz-tree-image { #zotero-tb-actions-menu { list-style-image: url('chrome://zotero/skin/mac/cog.png'); +} + +#zotero-collectionmenu > .menuitem-iconic, #zotero-itemmenu > .menuitem-iconic, #zotero-collectionmenu > .menu-iconic, #zotero-itemmenu > .menu-iconic { + padding-top: 0px !important; + padding-bottom: 2px !important; + list-style-image: none !important; +} + +#zotero-collectionmenu > .menuitem-iconic > .menu-iconic-left, #zotero-itemmenu > .menuitem-iconic > .menu-iconic-left, #zotero-collectionmenu > .menu-iconic > .menu-iconic-left, #zotero-itemmenu > .menu-iconic > .menu-iconic-left { + display: none; } \ No newline at end of file diff --git a/chrome/content/zotero/locateMenu.js b/chrome/content/zotero/locateMenu.js index c0053c0503..183fd8c3b5 100644 --- a/chrome/content/zotero/locateMenu.js +++ b/chrome/content/zotero/locateMenu.js @@ -126,7 +126,7 @@ var Zotero_LocateMenu = new function() { null, Zotero.getString("locate."+optionName+".tooltip")); if(showIcons) { menuitem.setAttribute("class", "menuitem-iconic"); - menuitem.setAttribute("image", optionObject.icon); + menuitem.style.listStyleImage = "url('"+optionObject.icon+"')"; } menuitem.setAttribute("zotero-locate", "true"); From f7c3a29a57558cdd3d38fcb80d03979c7a49a9da Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sun, 14 Apr 2013 19:14:46 -0400 Subject: [PATCH 31/32] Display note title even if first line is just an opening HTML tag https://forums.zotero.org/discussion/28857/#Item_14 --- chrome/content/zotero/xpcom/data/notes.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/data/notes.js b/chrome/content/zotero/xpcom/data/notes.js index 88a2599c33..74c18983c5 100644 --- a/chrome/content/zotero/xpcom/data/notes.js +++ b/chrome/content/zotero/xpcom/data/notes.js @@ -36,9 +36,21 @@ Zotero.Notes = new function() { * Return first line (or first MAX_LENGTH characters) of note content **/ function noteToTitle(text) { - text = Zotero.Utilities.trim(text); + var origText = text; + text = text.trim(); text = Zotero.Utilities.unescapeHTML(text); + // If first line is just an opening HTML tag, remove it + // + // Example: + // + //
+ //

Foo

+ //
+ if (/^<[^>\n]+[^\/]>\n/.test(origText)) { + text = text.trim(); + } + var max = this.MAX_TITLE_LENGTH; var t = text.substring(0, max); From 61864e903f8f6bbaf014a0d27fc178e777a51be7 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sun, 14 Apr 2013 19:55:19 -0400 Subject: [PATCH 32/32] Fix comment --- chrome/content/zotero/xpcom/utilities.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js index 32f649a9b8..87b28d13b4 100644 --- a/chrome/content/zotero/xpcom/utilities.js +++ b/chrome/content/zotero/xpcom/utilities.js @@ -406,7 +406,7 @@ Zotero.Utilities = { if(Zotero.isFx && !Zotero.isBookmarklet) { // Create a node and use the textContent property to do unescaping where - // possible, because this approach preserves
+ // possible, because this approach preserves line endings in the HTML if(node === undefined) { var parser = Components.classes["@mozilla.org/xmlextras/domparser;1"] .createInstance(Components.interfaces.nsIDOMParser);