From e56abbc5f41a55d3d2de8d3cdcaae83984f3684c Mon Sep 17 00:00:00 2001 From: David Norton Date: Fri, 11 Aug 2006 15:48:26 +0000 Subject: [PATCH] Closes #138, Ability to view files Some minor fixes to editing creators. --- .../chromeFiles/content/scholar/itemPane.js | 4 +- chrome/chromeFiles/content/scholar/overlay.js | 37 ++++++++++++++++--- .../chromeFiles/content/scholar/overlay.xul | 1 + 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/chrome/chromeFiles/content/scholar/itemPane.js b/chrome/chromeFiles/content/scholar/itemPane.js index a3963478d..85941b533 100644 --- a/chrome/chromeFiles/content/scholar/itemPane.js +++ b/chrome/chromeFiles/content/scholar/itemPane.js @@ -260,7 +260,7 @@ ScholarItemPane = new function() { _itemBeingEdited.setType(id); _itemBeingEdited.save(); - reloadFields(); + loadPane(0); } } @@ -345,7 +345,7 @@ ScholarItemPane = new function() { _itemBeingEdited.removeCreator(index); _itemBeingEdited.save(); - reloadFields(); + loadPane(0); } function showEditor(elem) diff --git a/chrome/chromeFiles/content/scholar/overlay.js b/chrome/chromeFiles/content/scholar/overlay.js index 4107f9965..0815127d3 100644 --- a/chrome/chromeFiles/content/scholar/overlay.js +++ b/chrome/chromeFiles/content/scholar/overlay.js @@ -52,6 +52,7 @@ var ScholarPane = new function() this.newNote = newNote; this.addFileFromDialog = addFileFromDialog; this.addFileFromPage = addFileFromPage; + this.viewSelectedFile = viewSelectedFile; /* * Called when the window is open @@ -225,6 +226,7 @@ var ScholarPane = new function() else if(item.isFile()) { document.getElementById('scholar-file-label').setAttribute('value',item.getField('title')); + document.getElementById('scholar-file-view').setAttribute('disabled', item.ref.getFileLinkMode() == Scholar.Files.LINK_MODE_LINKED_URL); document.getElementById('scholar-file-links').item = item.ref; document.getElementById('item-pane').selectedIndex = 3; } @@ -441,6 +443,10 @@ var ScholarPane = new function() { document.getElementById('scholar-view-note-button').doCommand(); } + else if(item && item.isFile()) + { + viewSelectedFile(); + } } } } @@ -490,7 +496,12 @@ var ScholarPane = new function() { item = newItem(Scholar.ItemTypes.getID('website')); if(item) + { id = item.getID(); + var c = getSelectedCollection(); + if(c) + c.addItem(id); + } } var fileID; @@ -499,19 +510,33 @@ var ScholarPane = new function() else fileID = Scholar.Files.importFromDocument(window.content.document, id); - if(fileID) - { + if(fileID && item) + { var file = Scholar.Items.get(fileID); - if(!item) - item = Scholar.Items.get(id); - - if(file && item) + if(file) { item.setField('title',file.getField('title')); item.save(); } } } + + function viewSelectedFile() + { + if(itemsView && itemsView.selection.count == 1) + { + var file = getSelectedItems()[0]; + + if(file.getFileLinkMode() != Scholar.Files.LINK_MODE_LINKED_URL) + { + window.loadURI(file.getLocalFileURL()); + } + else + { + window.loadURI(file.getFileURL()); + } + } + } } window.addEventListener("load", function(e) { ScholarPane.onLoad(e); }, false); diff --git a/chrome/chromeFiles/content/scholar/overlay.xul b/chrome/chromeFiles/content/scholar/overlay.xul index 0f63040ad..f3eb4ef67 100644 --- a/chrome/chromeFiles/content/scholar/overlay.xul +++ b/chrome/chromeFiles/content/scholar/overlay.xul @@ -196,6 +196,7 @@