From 0daf51e05c9ca208b07d8639b0e589eb63b877da Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 7 Feb 2012 18:27:58 -0500 Subject: [PATCH] Warn before letting the user change a citation that has been edited --- chrome/content/zotero/xpcom/integration.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index f3d88ba22..6043f6441 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -1623,7 +1623,9 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback) try { citation = session.unserializeCitation(content); - + } catch(e) {} + + if(citation) { try { session.lookupItems(citation); } catch(e) { @@ -1634,7 +1636,10 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback) } } - if(citation.properties.dontUpdate) { + if(citation.properties.dontUpdate + || (citation.properties.plainCitation + && field.getText() !== citation.properties.plainCitation)) { + this._doc.activate(); if(!this._doc.displayAlert(Zotero.getString("integration.citationChanged.edit"), Components.interfaces.zoteroIntegrationDocument.DIALOG_ICON_WARNING, Components.interfaces.zoteroIntegrationDocument.DIALOG_BUTTONS_OK_CANCEL)) { @@ -1646,7 +1651,7 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback) delete citation.properties["formattedCitation"]; delete citation.properties["plainCitation"]; delete citation.properties["dontUpdate"]; - } catch(e) {} + } } } else { newField = true;