Skip to content

Commit

Permalink
Add safari popover UI for proxies and snapshot pref
Browse files Browse the repository at this point in the history
  • Loading branch information
adomasven committed Oct 11, 2017
1 parent f6eae83 commit af28a03
Show file tree
Hide file tree
Showing 4 changed files with 304 additions and 101 deletions.
6 changes: 5 additions & 1 deletion src/common/zotero.js
Expand Up @@ -227,7 +227,11 @@ var Zotero = new function() {
}

if (err.stack) {
Zotero.Errors.log(err.stack);
let error = err.stack;
if (Zotero.isSafari) {
error = err.message + '\n' + error;
}
Zotero.Errors.log(error);
} else {
Zotero.Errors.log(err.message ? err.message : err.toString(), fileName, lineNumber);
}
Expand Down
36 changes: 9 additions & 27 deletions src/safari/global.js
Expand Up @@ -110,9 +110,7 @@ Zotero.Connector_Browser = new function() {
if(tab.translators && tab.translators.length) {
Zotero.Connector_Browser.saveWithTranslator(tab, 0);
} else {
var withSnapshot = Zotero.Connector.isOnline ? Zotero.Connector.automaticSnapshots :
Zotero.Prefs.get('automaticSnapshots');
Zotero.Connector_Browser.saveAsWebpage(tab, withSnapshot);
Zotero.Connector_Browser.saveAsWebpage(tab);
}
} else if (command === "zotero-preferences") {
Zotero.Connector_Browser.openTab(safari.extension.baseURI+"preferences/preferences.html");
Expand Down Expand Up @@ -169,10 +167,10 @@ Zotero.Connector_Browser = new function() {
return Zotero.Messaging.sendMessage("translate", [tab.instanceID, tab.translators[i].translatorID], tab);
}

this.saveAsWebpage = function(tab, withSnapshot) {
this.saveAsWebpage = function(tab) {
let title = tab.title.split('/');
title = title[title.length-1];
return Zotero.Messaging.sendMessage("saveAsWebpage", [tab.instanceID || 0, [title, withSnapshot]], tab);
return Zotero.Messaging.sendMessage("saveAsWebpage", [tab.instanceID || 0, title], tab);
}

this.openTab = function(url) {
Expand Down Expand Up @@ -242,12 +240,10 @@ Zotero.Connector_Browser = new function() {
var translators = tab.translators;
var isPDF = tab.contentType == 'application/pdf';

if (translators && translators.length) {
_showTranslatorIcon(translators[0]);
} else if (isPDF || tab.isPDFFrame) {
if (isPDF || tab.isPDFFrame) {
Zotero.Connector_Browser._showPDFIcon();
} else {
_showWebpageIcon();
} else if (translators) {
_showTranslatorIcon(translators[0]);
}
}

Expand All @@ -272,30 +268,16 @@ Zotero.Connector_Browser = new function() {
_zoteroButton.toolTip = _getTranslatorLabel(translator);
}

function _showWebpageIcon() {
_zoteroButton.image = Zotero.ItemTypes.getImageSrc("webpage-gray").replace('images/', 'images/toolbar/');
var withSnapshot = Zotero.Connector.isOnline ? Zotero.Connector.automaticSnapshots :
Zotero.Prefs.get('automaticSnapshots');
if (withSnapshot) {
_zoteroButton.toolTip = "Save to Zotero (Web Page with Snapshot)";
} else {
_zoteroButton.toolTip = "Save to Zotero (Web Page without Snapshot)";
}
}

this._showPDFIcon = function() {
_zoteroButton.image = safari.extension.baseURI + "images/toolbar/pdf.png";
_zoteroButton.toolTip = "Save to Zotero (PDF)";
}

function _getTranslatorLabel(translator) {
var translatorName = translator.label;
if(translator.runMode === Zotero.Translator.RUN_MODE_ZOTERO_STANDALONE) {
translatorName += " via Zotero Standalone";
}

return "Save to Zotero (" + translatorName + ")";
var translatorName = translator.label ? ` (${translator.label})` : '';
return `Save to Zotero${translatorName}`;
}

}

// register handlers
Expand Down
6 changes: 4 additions & 2 deletions src/safari/messaging_inject.js
Expand Up @@ -121,8 +121,10 @@ Zotero.Messaging = new function() {
}, err));
result = ['error', err];
}
safari.self.tab.dispatchMessage('response', [messageId, result]);
return;
if (result != undefined) {
safari.self.tab.dispatchMessage('response', [messageId, result]);
return;
}
}

// next determine original function name
Expand Down

0 comments on commit af28a03

Please sign in to comment.