Add preferences for feed sorting and toggle read hotkey
This commit is contained in:
parent
05c0f1f3fc
commit
0d4025e9fb
|
@ -815,7 +815,10 @@ Zotero_Preferences.Keys = {
|
|||
var rows = document.getElementById('zotero-prefpane-advanced-keys-tab').getElementsByTagName('row');
|
||||
for (var i=0; i<rows.length; i++) {
|
||||
// Display the appropriate modifier keys for the platform
|
||||
rows[i].firstChild.nextSibling.value = Zotero.isMac ? Zotero.getString('general.keys.cmdShift') : Zotero.getString('general.keys.ctrlShift');
|
||||
let label = rows[i].firstChild.nextSibling;
|
||||
if (label.className == 'cmd-shift') {
|
||||
label.value = Zotero.isMac ? Zotero.getString('general.keys.cmdShift') : Zotero.getString('general.keys.ctrlShift');
|
||||
}
|
||||
}
|
||||
|
||||
var textboxes = document.getElementById('zotero-keys-rows').getElementsByTagName('textbox');
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
<preference id="pref-keys-toggleTagSelector" name="extensions.zotero.keys.toggleTagSelector" type="string"/>
|
||||
<preference id="pref-keys-newItem" name="extensions.zotero.keys.newItem" type="string"/>
|
||||
<preference id="pref-keys-newNote" name="extensions.zotero.keys.newNote" type="string"/>
|
||||
<preference id="pref-keys-toggleRead" name="extensions.zotero.keys.toggleRead" type="string"/>
|
||||
<preference id="pref-keys-importFromClipboard" name="extensions.zotero.keys.importFromClipboard" type="string"/>
|
||||
<preference id="pref-keys-copySelectedItemCitationsToClipboard" name="extensions.zotero.keys.copySelectedItemCitationsToClipboard" type="string"/>
|
||||
<preference id="pref-keys-copySelectedItemsToClipboard" name="extensions.zotero.keys.copySelectedItemsToClipboard" type="string"/>
|
||||
|
@ -217,37 +218,37 @@
|
|||
<rows id="zotero-keys-rows">
|
||||
<row id="zotero-keys-new-item">
|
||||
<label value="&zotero.preferences.keys.newItem;" control="textbox-newItem"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-newItem" maxlength="1" size="1" preference="pref-keys-newItem"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.newNote;" control="textbox-newNote"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-newNote" maxlength="1" size="1" preference="pref-keys-newNote"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.importFromClipboard;" control="textbox-importFromClipboard"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-importFromClipboard" maxlength="1" size="1" preference="pref-keys-importFromClipboard"/>
|
||||
</row>
|
||||
|
||||
<row id="zotero-keys-focus-libraries-pane">
|
||||
<label value="&zotero.preferences.keys.focusLibrariesPane;" control="textbox-library"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-library" maxlength="1" size="1" preference="pref-keys-library"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.quicksearch;" control="textbox-quicksearch"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-quicksearch" maxlength="1" size="1" preference="pref-keys-quicksearch"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.copySelectedItemCitationsToClipboard;" control="textbox-copySelectedItemCitationsToClipboard"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-copySelectedItemCitationsToClipboard" maxlength="1" size="1"
|
||||
preference="pref-keys-copySelectedItemCitationsToClipboard"
|
||||
onchange="if (Zotero_Preferences.Export) { Zotero_Preferences.Export.updateQuickCopyInstructions(); }"/>
|
||||
|
@ -255,7 +256,7 @@
|
|||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.copySelectedItemsToClipboard;" control="textbox-copySelectedItemsToClipboard"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-copySelectedItemsToClipboard" maxlength="1" size="1"
|
||||
preference="pref-keys-copySelectedItemsToClipboard"
|
||||
onchange="if (Zotero_Preferences.Export) { Zotero_Preferences.Export.updateQuickCopyInstructions(); }"/>
|
||||
|
@ -263,9 +264,15 @@
|
|||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.toggleTagSelector;" control="textbox-toggleTagSelector"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-toggleTagSelector" maxlength="1" size="1" preference="pref-keys-toggleTagSelector"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="&zotero.preferences.keys.toggleRead;" control="textbox-toggleRead"/>
|
||||
<label/>
|
||||
<textbox id="textbox-toggleRead" maxlength="1" size="1" preference="pref-keys-toggleRead"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
|
||||
|
|
|
@ -51,19 +51,19 @@
|
|||
<rows id="zotero-keys-rows">
|
||||
<row insertbefore="zotero-keys-new-item">
|
||||
<label value="&zotero.preferences.keys.openZotero;" control="key-textbox-openZotero"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-openZotero" maxlength="1" size="1" preference="pref-keys-openZotero"/>
|
||||
</row>
|
||||
|
||||
<row insertbefore="zotero-keys-new-item">
|
||||
<label value="&zotero.preferences.keys.toggleFullscreen;" control="textbox-toggleFullscreen"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-toggleFullscreen" maxlength="1" size="1" preference="pref-keys-toggleFullscreen"/>
|
||||
</row>
|
||||
|
||||
<row insertbefore="zotero-keys-new-item">
|
||||
<label value="&zotero.preferences.keys.saveToZotero;" control="key-textbox-saveToZotero"/>
|
||||
<label/>
|
||||
<label class="cmd-shift"/>
|
||||
<textbox id="textbox-saveToZotero" maxlength="1" size="1" preference="pref-keys-saveToZotero"/>
|
||||
</row>
|
||||
</rows>
|
||||
|
|
|
@ -43,6 +43,8 @@
|
|||
<preference id="pref-groups-copyChildFileAttachments" name="extensions.zotero.groups.copyChildFileAttachments" type="bool"/>
|
||||
<preference id="pref-groups-copyChildLinks" name="extensions.zotero.groups.copyChildLinks" type="bool"/>
|
||||
<preference id="pref-groups-copyTags" name="extensions.zotero.groups.copyTags" type="bool"/>
|
||||
|
||||
<preference id="pref-feeds-sortAsc" name="extensions.zotero.feeds.sortAsc" type="bool"/>
|
||||
</preferences>
|
||||
|
||||
<groupbox id="zotero-prefpane-general-groupbox">
|
||||
|
@ -130,6 +132,18 @@
|
|||
</vbox>
|
||||
</groupbox>
|
||||
|
||||
<groupbox>
|
||||
<caption label="&zotero.preferences.feeds;"/>
|
||||
|
||||
<label value="&zotero.preferences.feeds.sorting;"/>
|
||||
<vbox style="margin-left: 2em">
|
||||
<radiogroup id="feed-sort" orient="horizontal" align="center" preference="pref-feeds-sortAsc">
|
||||
<radio label="&zotero.preferences.feeds.sorting.newestFirst;" value="false"/>
|
||||
<radio label="&zotero.preferences.feeds.sorting.oldestFirst;" value="true"/>
|
||||
</radiogroup>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
|
||||
<separator/>
|
||||
<separator/>
|
||||
</prefpane>
|
||||
|
|
|
@ -2137,7 +2137,7 @@ Zotero.ItemTreeView.prototype.getSortFields = function () {
|
|||
*/
|
||||
Zotero.ItemTreeView.prototype.getSortDirection = function() {
|
||||
if (this.collectionTreeRow.isFeed) {
|
||||
return Zotero.Prefs.get('feedSortAsc') ? 'ascending' : 'descending';
|
||||
return Zotero.Prefs.get('feeds.sortAsc') ? 'ascending' : 'descending';
|
||||
}
|
||||
var column = this._treebox.columns.getSortedColumn();
|
||||
if (!column) {
|
||||
|
|
|
@ -512,17 +512,6 @@ var ZoteroPane = new function()
|
|||
}
|
||||
ZoteroPane_Local.collectionsView.setHighlightedRows();
|
||||
return;
|
||||
} else if (event.keyCode == event.DOM_VK_BACK_QUOTE) {
|
||||
// Toggle read/unread
|
||||
let row = this.collectionsView.getRow(this.collectionsView.selection.currentIndex);
|
||||
if (!row || !row.isFeed()) return;
|
||||
if(itemReadTimeout) {
|
||||
itemReadTimeout.cancel();
|
||||
itemReadTimeout = null;
|
||||
}
|
||||
|
||||
let itemIDs = this.getSelectedItems(true);
|
||||
Zotero.FeedItems.toggleReadByID(itemIDs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -564,6 +553,11 @@ var ZoteroPane = new function()
|
|||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
var key = String.fromCharCode(event.which);
|
||||
if (key) {
|
||||
var command = Zotero.Keys.getCommand(key);
|
||||
}
|
||||
|
||||
if (from == 'zotero-collections-tree') {
|
||||
if ((event.keyCode == event.DOM_VK_BACK_SPACE && Zotero.isMac) ||
|
||||
|
@ -577,7 +571,7 @@ var ZoteroPane = new function()
|
|||
else if (from == 'zotero-items-tree') {
|
||||
// Focus TinyMCE explicitly on tab key, since the normal focusing
|
||||
// doesn't work right
|
||||
if (!event.shiftKey && event.keyCode == event.DOM_VK_TAB) {
|
||||
if (!event.shiftKey && event.keyCode == String.fromCharCode(event.which)) {
|
||||
var deck = document.getElementById('zotero-item-pane-content');
|
||||
if (deck.selectedPanel.id == 'zotero-view-note') {
|
||||
setTimeout(function () {
|
||||
|
@ -607,12 +601,19 @@ var ZoteroPane = new function()
|
|||
//event.stopPropagation();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var key = String.fromCharCode(event.which);
|
||||
if (!key) {
|
||||
Zotero.debug('No key');
|
||||
return;
|
||||
else if (command == 'toggleRead') {
|
||||
// Toggle read/unread
|
||||
let row = this.collectionsView.getRow(this.collectionsView.selection.currentIndex);
|
||||
if (!row || !row.isFeed()) return;
|
||||
if(itemReadTimeout) {
|
||||
itemReadTimeout.cancel();
|
||||
itemReadTimeout = null;
|
||||
}
|
||||
|
||||
let itemIDs = this.getSelectedItems(true);
|
||||
Zotero.FeedItems.toggleReadByID(itemIDs);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Ignore modifiers other than Ctrl-Shift/Cmd-Shift
|
||||
|
@ -620,12 +621,16 @@ var ZoteroPane = new function()
|
|||
return;
|
||||
}
|
||||
|
||||
var command = Zotero.Keys.getCommand(key);
|
||||
if (!key) {
|
||||
Zotero.debug('No key');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!command) {
|
||||
return;
|
||||
}
|
||||
|
||||
Zotero.debug(command);
|
||||
Zotero.debug('Keyboard shortcut: ', command);
|
||||
|
||||
// Errors don't seem to make it out otherwise
|
||||
try {
|
||||
|
|
|
@ -39,6 +39,11 @@
|
|||
<!ENTITY zotero.preferences.groups.childLinks "child links">
|
||||
<!ENTITY zotero.preferences.groups.tags "tags">
|
||||
|
||||
<!ENTITY zotero.preferences.feeds "Feeds">
|
||||
<!ENTITY zotero.preferences.feeds.sorting "Sorting">
|
||||
<!ENTITY zotero.preferences.feeds.sorting.newestFirst "Newest Item First">
|
||||
<!ENTITY zotero.preferences.feeds.sorting.oldestFirst "Oldest Item First">
|
||||
|
||||
<!ENTITY zotero.preferences.openurl.caption "OpenURL">
|
||||
|
||||
<!ENTITY zotero.preferences.openurl.search "Search for resolvers">
|
||||
|
@ -133,6 +138,7 @@
|
|||
<!ENTITY zotero.preferences.keys.quicksearch "Quick Search">
|
||||
<!ENTITY zotero.preferences.keys.newItem "Create a New Item">
|
||||
<!ENTITY zotero.preferences.keys.newNote "Create a New Note">
|
||||
<!ENTITY zotero.preferences.keys.toggleRead "Mark Item Read/Unread">
|
||||
<!ENTITY zotero.preferences.keys.toggleTagSelector "Toggle Tag Selector">
|
||||
<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "Copy Selected Item Citations to Clipboard">
|
||||
<!ENTITY zotero.preferences.keys.copySelectedItemsToClipboard "Copy Selected Items to Clipboard">
|
||||
|
|
|
@ -52,6 +52,8 @@ pref("extensions.zotero.groups.copyChildFileAttachments", true);
|
|||
pref("extensions.zotero.groups.copyChildNotes", true);
|
||||
pref("extensions.zotero.groups.copyTags", true);
|
||||
|
||||
pref("extensions.zotero.feeds.sortAsc", false);
|
||||
|
||||
pref("extensions.zotero.backup.numBackups", 2);
|
||||
pref("extensions.zotero.backup.interval", 1440);
|
||||
|
||||
|
@ -62,7 +64,6 @@ pref("extensions.zotero.lastLongTagMode", 0);
|
|||
pref("extensions.zotero.lastLongTagDelimiter", ";");
|
||||
|
||||
pref("extensions.zotero.fallbackSort", 'firstCreator,date,title,dateAdded');
|
||||
pref("extensions.zotero.feedSortAsc", false);
|
||||
pref("extensions.zotero.sortCreatorAsString", false);
|
||||
|
||||
//Tag Cloud
|
||||
|
@ -81,6 +82,7 @@ pref("extensions.zotero.keys.copySelectedItemCitationsToClipboard", 'A');
|
|||
pref("extensions.zotero.keys.copySelectedItemsToClipboard", 'C');
|
||||
pref("extensions.zotero.keys.toggleTagSelector", 'T');
|
||||
pref("extensions.zotero.keys.sync", 'Y');
|
||||
pref("extensions.zotero.keys.toggleRead", '`');
|
||||
|
||||
// Fulltext indexing
|
||||
pref("extensions.zotero.fulltext.textMaxLength", 500000);
|
||||
|
|
Loading…
Reference in New Issue
Block a user