commit ed94d84a932fb8004ae6d94c2239a3efbf3e264a
parent 27a2a9c1f7e9208ba54f225d0b30efc54ca10f4c
Author: Dan Stillman <dstillman@zotero.org>
Date: Thu, 21 Feb 2013 05:09:09 -0500
Code style/consistency updates for relative path changes
Diffstat:
2 files changed, 35 insertions(+), 40 deletions(-)
diff --git a/chrome/content/zotero/preferences/preferences.js b/chrome/content/zotero/preferences/preferences.js
@@ -165,15 +165,15 @@ function chooseBaseAttachmentPath() {
return false;
}
- //Find all current attachments with relative attachment paths
- var sql = "SELECT itemID FROM itemAttachments WHERE linkMode=? AND path LIKE '" +
- Zotero.Attachments.BASE_PATH_PLACEHOLDER + "%'";
- var params=[Zotero.Attachments.LINK_MODE_LINKED_FILE];
+ // Find all current attachments with relative attachment paths
+ var sql = "SELECT itemID FROM itemAttachments WHERE linkMode=? AND path LIKE '"
+ + Zotero.Attachments.BASE_PATH_PLACEHOLDER + "%'";
+ var params = [Zotero.Attachments.LINK_MODE_LINKED_FILE];
var oldRelativeAttachmentIDs = Zotero.DB.columnQuery(sql, params) || [];
//Find all attachments on the new base path
var sql = "SELECT itemID FROM itemAttachments WHERE linkMode=?";
- var params=[Zotero.Attachments.LINK_MODE_LINKED_FILE];
+ var params = [Zotero.Attachments.LINK_MODE_LINKED_FILE];
var allAttachments = Zotero.DB.columnQuery(sql,params);
var newAttachmentPaths = {};
var numNewAttachments = 0;
@@ -188,7 +188,7 @@ function chooseBaseAttachmentPath() {
attachmentFile.persistentDescriptor = attachment.attachmentPath;
}
catch (e) {
- //Don't deal with bad attachment paths. Just skip them.
+ // Don't deal with bad attachment paths. Just skip them.
continue;
}
@@ -297,8 +297,8 @@ function getBaseAttachmentPath(asFile) {
return asFile ? null : '';
}
- var file = Components.classes["@mozilla.org/file/local;1"].
- createInstance(Components.interfaces.nsILocalFile);
+ var file = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
try {
file.persistentDescriptor = desc;
}
@@ -309,30 +309,29 @@ function getBaseAttachmentPath(asFile) {
}
function clearBaseAttachmentPath() {
- //Find all current attachments with relative attachment paths
- var sql = "SELECT itemID FROM itemAttachments WHERE linkMode=? AND path LIKE '" +
- Zotero.Attachments.BASE_PATH_PLACEHOLDER + "%'";
- var params=[Zotero.Attachments.LINK_MODE_LINKED_FILE];
+ // Find all current attachments with relative paths
+ var sql = "SELECT itemID FROM itemAttachments WHERE linkMode=? AND path LIKE '"
+ + Zotero.Attachments.BASE_PATH_PLACEHOLDER + "%'";
+ var params = [Zotero.Attachments.LINK_MODE_LINKED_FILE];
var relativeAttachmentIDs = Zotero.DB.columnQuery(sql, params) || [];
- //Confirm the clearing of the base path and restoring of relative paths to absolute
- //ones with the user.
+ // Prompt for confirmation
var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
var strPrefix = 'attachmentBasePath.clearBasePath.';
- var confirmTitle = Zotero.getString(strPrefix + 'title');
- var confirmString = Zotero.getString(strPrefix + 'message');
+ var title = Zotero.getString(strPrefix + 'title');
+ var msg = Zotero.getString(strPrefix + 'message');
switch (relativeAttachmentIDs.length) {
case 0:
break;
case 1:
- confirmString += "\n\n" + Zotero.getString(strPrefix + 'existingAttachments.singular');
+ msg += "\n\n" + Zotero.getString(strPrefix + 'existingAttachments.singular');
break;
default:
- confirmString += "\n\n" + Zotero.getString(strPrefix + 'existingAttachments.plural',
+ msg += "\n\n" + Zotero.getString(strPrefix + 'existingAttachments.plural',
relativeAttachmentIDs.length);
}
@@ -340,8 +339,8 @@ function clearBaseAttachmentPath() {
+ (ps.BUTTON_POS_1) * (ps.BUTTON_TITLE_CANCEL);
var index = ps.confirmEx(
window,
- confirmTitle,
- confirmString,
+ title,
+ msg,
buttonFlags,
Zotero.getString(strPrefix + 'button'),
null,
@@ -354,22 +353,17 @@ function clearBaseAttachmentPath() {
return false;
}
- //Set saveRelativeAttachmentPath preference to false and then resave all relative
- //attachments so that their absolute paths are stored.
+ // Disable relative path saving and then resave all relative
+ // attachments so that their absolute paths are stored
Zotero.debug('Clearing base directory');
Zotero.Prefs.set('saveRelativeAttachmentPath', false);
- var tempAttachment;
- for (var index=0; index<relativeAttachmentIDs.length; index++) {
- tempAttachment=Zotero.Items.get(relativeAttachmentIDs[index]);
- if (!tempAttachment._changedAttachmentData) {
- tempAttachment._changedAttachmentData = {};
- }
- tempAttachment._changedAttachmentData.path = true;
- tempAttachment.save();
- }
+ for (var i=0; i<relativeAttachmentIDs.length; i++) {
+ Zotero.Items.get(relativeAttachmentIDs[i]).updateAttachmentPath();
+ }
Zotero.Prefs.set('baseAttachmentPath', '');
}
+
function updateBaseAttachmentPathUI() {
var filefield = document.getElementById('baseAttachmentPath');
var file = getBaseAttachmentPath(true);
@@ -384,6 +378,7 @@ function updateBaseAttachmentPathUI() {
document.getElementById('resetBasePath').disabled = !Zotero.Prefs.get('baseAttachmentPath');
}
+
function onDataDirLoad() {
var path = document.getElementById('dataDirPath');
var useDataDir = Zotero.Prefs.get('useDataDir');
diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js
@@ -3245,17 +3245,16 @@ Zotero.Item.prototype.__defineGetter__('attachmentPath', function () {
var pathIsRelative = false;
if (this._attachmentPath !== null) {
- pathIsRelative = (this._attachmentPath.indexOf(Zotero.Attachments.BASE_PATH_PLACEHOLDER)==0);
- pathIsRelative = (pathIsRelative && this.attachmentLinkMode == Zotero.Attachments.LINK_MODE_LINKED_FILE);
-
-
+ pathIsRelative = this._attachmentPath.indexOf(Zotero.Attachments.BASE_PATH_PLACEHOLDER) == 0
+ && this.attachmentLinkMode == Zotero.Attachments.LINK_MODE_LINKED_FILE;
if (!pathIsRelative) {
return this._attachmentPath;
}
}
else if (!this.id) {
return '';
- } else {
+ }
+ else {
var sql = "SELECT path FROM itemAttachments WHERE itemID=?";
var path = Zotero.DB.valueQuery(sql, this.id);
if (!path) {
@@ -3265,8 +3264,8 @@ Zotero.Item.prototype.__defineGetter__('attachmentPath', function () {
this._attachmentPath = path;
- pathIsRelative = (path.indexOf(Zotero.Attachments.BASE_PATH_PLACEHOLDER)==0);
- pathIsRelative = (pathIsRelative && this.attachmentLinkMode == Zotero.Attachments.LINK_MODE_LINKED_FILE);
+ pathIsRelative = path.indexOf(Zotero.Attachments.BASE_PATH_PLACEHOLDER) == 0
+ && this.attachmentLinkMode == Zotero.Attachments.LINK_MODE_LINKED_FILE;
}
if (pathIsRelative) {
@@ -3286,8 +3285,9 @@ Zotero.Item.prototype.__defineGetter__('attachmentPath', function () {
return '';
}
- var relativePath = this._attachmentPath.substr(
- Zotero.Attachments.BASE_PATH_PLACEHOLDER.length);
+ var relativePath = this._attachmentPath.substr(
+ Zotero.Attachments.BASE_PATH_PLACEHOLDER.length
+ );
var attachmentFile = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
attachmentFile.setRelativeDescriptor(baseDir,relativePath);