- fix progress window issues with lookup and scraping

- prevent multiple lookups and fix error dialog
This commit is contained in:
Simon Kornblith 2009-05-06 07:58:28 +00:00
parent 0ab3f1d2d6
commit 4c09cbb7ac
4 changed files with 17 additions and 7 deletions

View file

@ -1,6 +1,7 @@
const Zotero_Lookup = new function () { const Zotero_Lookup = new function () {
this.accept = function() { this.accept = function() {
document.getElementById("progress").setAttribute("status", "animate"); document.getElementById("progress").setAttribute("status", "animate");
document.getElementById("accept-button").disabled = true;
var identifier = document.getElementById("lookup-textbox").value; var identifier = document.getElementById("lookup-textbox").value;
if(identifier.substr(0, 3) == "10.") { if(identifier.substr(0, 3) == "10.") {
// DOI // DOI
@ -17,16 +18,18 @@ const Zotero_Lookup = new function () {
} }
} }
translate = new Zotero.Translate("search", true, false); var translate = new Zotero.Translate("search", true, false);
translate.setSearch(item); translate.setSearch(item);
// be lenient about translators // be lenient about translators
var translators = translate.getTranslators(); var translators = translate.getTranslators();
Zotero.debug(translators[0].label);
translate.setTranslator(translators); translate.setTranslator(translators);
translate.setHandler("done", function(translate, success) { translate.setHandler("done", function(translate, success) {
if(success) { if(success) {
window.close(); window.close();
} else { } else {
document.getElementById("accept-button").disabled = undefined;
document.getElementById("progress").setAttribute("status", "error"); document.getElementById("progress").setAttribute("status", "error");
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService); .getService(Components.interfaces.nsIPromptService);
@ -34,10 +37,15 @@ const Zotero_Lookup = new function () {
Zotero.getString("lookup.failure.description")); Zotero.getString("lookup.failure.description"));
} }
}); });
var saveLocation = false;
try { try {
var saveLocation = window.opener.ZoteroPane.getSelectedCollection(); saveLocation = window.opener.ZoteroPane.getSelectedCollection();
} catch(e) {} } catch(e) {}
translate.setHandler("itemDone", function(obj, item) { window.opener.Zotero_Browser.itemDone(obj, item, saveLocation) }); translate.setHandler("itemDone", function(obj, item) {
if(saveLocation) saveLocation.addItem(item.getID());
});
translate.translate(); translate.translate();
return false; return false;
} }

View file

@ -20,7 +20,7 @@
<hbox id="dialog-button-box"> <hbox id="dialog-button-box">
<toolbarbutton class="zotero-small-progress-indicator" id="progress"/> <toolbarbutton class="zotero-small-progress-indicator" id="progress"/>
<spacer flex="1"/> <spacer flex="1"/>
<button class="dialog-button" style="font: menu" dlgtype="cancel"/> <button id="cancel-button" class="dialog-button" style="font: menu" dlgtype="cancel"/>
<button class="dialog-button" style="font: menu" dlgtype="accept"/> <button id="accept-button" class="dialog-button" style="font: menu" dlgtype="accept"/>
</hbox> </hbox>
</dialog> </dialog>

View file

@ -147,7 +147,7 @@ Zotero.ProgressWindow = function(_window){
_progressWindow = ww.openWindow(null, "chrome://zotero/content/progressWindow.xul", _progressWindow = ww.openWindow(null, "chrome://zotero/content/progressWindow.xul",
"", "chrome,dialog=no,titlebar=no,popup=yes", null); "", "chrome,dialog=no,titlebar=no,popup=yes", null);
} }
_progressWindow.addEventListener("pageshow", _onWindowLoaded, false); _progressWindow.addEventListener("load", _onWindowLoaded, false);
_progressWindow.addEventListener("mouseover", _onMouseOver, false); _progressWindow.addEventListener("mouseover", _onMouseOver, false);
_progressWindow.addEventListener("mouseout", _onMouseOut, false); _progressWindow.addEventListener("mouseout", _onMouseOut, false);
_progressWindow.addEventListener("mouseup", _onMouseUp, false); _progressWindow.addEventListener("mouseup", _onMouseUp, false);

View file

@ -948,6 +948,8 @@ Zotero.Translate.prototype._translationComplete = function(returnValue, error) {
this.translate(); this.translate();
return; return;
} }
returnValue = false;
} else { } else {
// close open streams // close open streams
this._closeStreams(); this._closeStreams();