diff --git a/chrome.manifest b/chrome.manifest index 8fb8da2b7..b3210ceb1 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -54,6 +54,7 @@ overlay chrome://zotero/content/preferences/preferences.xul chrome://zotero/cont overlay chrome://zotero/content/preferences/preferences.xul#cite chrome://zotero/content/preferences/preferences_firefox.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://zotero/content/preferences/preferences_general.xul chrome://zotero/content/preferences/preferences_general_firefox.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://zotero/content/preferences/preferences_export.xul chrome://zotero/content/preferences/preferences_export_firefox.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} +overlay chrome://zotero/content/preferences/preferences_keys.xul chrome://zotero/content/preferences/preferences_keys_firefox.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://zotero/content/preferences/preferences_advanced.xul chrome://zotero/content/preferences/preferences_advanced_firefox.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://zotero/content/preferences/preferences_advanced.xul chrome://zotero/content/preferences/preferences_advanced_standalone.xul application=zotero@chnm.gmu.edu diff --git a/chrome/content/zotero/overlay.xul b/chrome/content/zotero/overlay.xul index c77b4bdfc..126a714fd 100644 --- a/chrome/content/zotero/overlay.xul +++ b/chrome/content/zotero/overlay.xul @@ -95,5 +95,9 @@ key="Z" oncommand="ZoteroOverlay.toggleDisplay();" modifiers="accel shift" /> + diff --git a/chrome/content/zotero/preferences/preferences_keys.js b/chrome/content/zotero/preferences/preferences_keys.js index 748f05adc..04ee513f4 100644 --- a/chrome/content/zotero/preferences/preferences_keys.js +++ b/chrome/content/zotero/preferences/preferences_keys.js @@ -27,9 +27,9 @@ Zotero_Preferences.Keys = { init: function () { - // Display the appropriate modifier keys for the platform var rows = document.getElementById('zotero-prefpane-keys').getElementsByTagName('row'); for (var i=0; i + + - + - - + - - - - - - - - - - - - - - + + - + + + + + + @@ -109,9 +98,9 @@ - diff --git a/chrome/content/zotero/preferences/preferences_keys_firefox.xul b/chrome/content/zotero/preferences/preferences_keys_firefox.xul new file mode 100644 index 000000000..5b402e599 --- /dev/null +++ b/chrome/content/zotero/preferences/preferences_keys_firefox.xul @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index cc65825fc..f2587e938 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -2294,6 +2294,7 @@ Zotero.Keys = new function() { // Get the key=>command mappings from the prefs for each(var action in actions) { var action = action.substr(5); // strips 'keys.' + // Remove old pref if (action == 'overrideGlobal') { Zotero.Prefs.clear('keys.overrideGlobal'); continue; @@ -2307,18 +2308,30 @@ Zotero.Keys = new function() { * Called by ZoteroPane.onLoad() */ function windowInit(document) { - // Zotero pane shortcut - var keyElem = document.getElementById('key_openZotero'); - if(keyElem) { - var zKey = Zotero.Prefs.get('keys.openZotero'); - // Only override the default with the pref if the hasn't - // been manually changed and the pref has been - if (keyElem.getAttribute('key') == 'Z' - && keyElem.getAttribute('modifiers') == 'accel shift' - && zKey != 'Z') { - keyElem.setAttribute('key', zKey); + var globalKeys = [ + { + name: 'openZotero', + defaultKey: 'Z' + }, + { + name: 'saveToZotero', + defaultKey: 'S' } - } + ]; + + globalKeys.forEach(function (x) { + let keyElem = document.getElementById('key_' + x.name); + if (keyElem) { + let prefKey = Zotero.Prefs.get('keys.' + x.name); + // Only override the default with the pref if the hasn't + // been manually changed and the pref has been + if (keyElem.getAttribute('key') == x.defaultKey + && keyElem.getAttribute('modifiers') == 'accel shift' + && prefKey != x.defaultKey) { + keyElem.setAttribute('key', prefKey); + } + } + }); } diff --git a/chrome/locale/en-US/zotero/preferences.dtd b/chrome/locale/en-US/zotero/preferences.dtd index 19a5147bd..5c4b48f68 100644 --- a/chrome/locale/en-US/zotero/preferences.dtd +++ b/chrome/locale/en-US/zotero/preferences.dtd @@ -126,16 +126,16 @@ + - - + + - diff --git a/defaults/preferences/zotero.js b/defaults/preferences/zotero.js index d4a57800d..5e4b710c5 100644 --- a/defaults/preferences/zotero.js +++ b/defaults/preferences/zotero.js @@ -65,14 +65,15 @@ pref("extensions.zotero.tagCloud", false); // Keyboard shortcuts pref("extensions.zotero.keys.openZotero", 'Z'); pref("extensions.zotero.keys.toggleFullscreen", 'F'); -pref("extensions.zotero.keys.library", 'L'); -pref("extensions.zotero.keys.quicksearch", 'K'); +pref("extensions.zotero.keys.saveToZotero", 'S'); pref("extensions.zotero.keys.newItem", 'N'); pref("extensions.zotero.keys.newNote", 'O'); -pref("extensions.zotero.keys.toggleTagSelector", 'T'); +pref("extensions.zotero.keys.importFromClipboard", 'V'); +pref("extensions.zotero.keys.library", 'L'); +pref("extensions.zotero.keys.quicksearch", 'K'); pref("extensions.zotero.keys.copySelectedItemCitationsToClipboard", 'A'); pref("extensions.zotero.keys.copySelectedItemsToClipboard", 'C'); -pref("extensions.zotero.keys.importFromClipboard", 'V'); +pref("extensions.zotero.keys.toggleTagSelector", 'T'); // Fulltext indexing pref("extensions.zotero.fulltext.textMaxLength", 500000);