diff --git a/chrome/content/zotero/components/virtualized-table.jsx b/chrome/content/zotero/components/virtualized-table.jsx index 8c781c787b..307fee5904 100644 --- a/chrome/content/zotero/components/virtualized-table.jsx +++ b/chrome/content/zotero/components/virtualized-table.jsx @@ -492,7 +492,7 @@ class VirtualizedTable extends React.Component { if (e.altKey) return; const shiftSelect = e.shiftKey; - const movePivot = e.ctrlKey || e.metaKey; + const movePivot = Zotero.isMac ? e.metaKey : e.ctrlKey; const rowCount = this.props.getRowCount(); switch (e.key) { @@ -554,9 +554,8 @@ class VirtualizedTable extends React.Component { if (this.selection.selectEventsSuppressed) break; this.invalidate(); if (!this.selection.selectEventsSuppressed) { - this.props.onSelectionChange(this, shouldDebounce); + this.props.onSelectionChange(this, false); } - this.selection.rangedSelect(0, this.props.getRowCount()-1); } break; diff --git a/chrome/content/zotero/itemTree.jsx b/chrome/content/zotero/itemTree.jsx index 9ddd945121..28bfa94b3a 100644 --- a/chrome/content/zotero/itemTree.jsx +++ b/chrome/content/zotero/itemTree.jsx @@ -365,6 +365,7 @@ var ItemTree = class ItemTree extends LibraryTree { ? [] : newSearchItems.filter(item => !!item.parentItemID).map(item => item.parentItemID) ); + this._searchParentIDs = newSearchParentIDs; newSearchItems = new Set(newSearchItems); var newCellTextCache = {}; @@ -1059,6 +1060,11 @@ var ItemTree = class ItemTree extends LibraryTree { const _promise = Zotero.Tags.toggleItemsListTags(items, colorData.name); return false; } + else if (event.key == 'a' && (Zotero.isMac ? event.metaKey : event.ctrlKey)) { + if (!this.collectionTreeRow.isPublications()) { + this.expandMatchParents(this._searchParentIDs); + } + } else if (event.key == '+' && !(event.ctrlKey || event.altKey || event.metaKey)) { this.expandAllRows(); return false;