diff --git a/chrome/content/zotero/locateMenu.js b/chrome/content/zotero/locateMenu.js index 29e88ef8cb..9e77dbada4 100644 --- a/chrome/content/zotero/locateMenu.js +++ b/chrome/content/zotero/locateMenu.js @@ -123,11 +123,12 @@ var Zotero_LocateMenu = new function() { function _addViewOption(selectedItems, optionName, optionObject, showIcons) { var menuitem = _createMenuItem(optionObject.label || Zotero.getString(`locate.${optionName}.label`), null, null); - if (showIcons) { - menuitem.setAttribute("class", "menuitem-iconic"); - menuitem.style.listStyleImage = `url('${optionObject.icon}')`; + if (optionObject.className && showIcons) { + menuitem.setAttribute("class", `menuitem-iconic ${optionObject.className}`); } menuitem.setAttribute("zotero-locate", "true"); + optionObject.l10nKey && menuitem.setAttribute("data-l10n-id", optionObject.l10nKey); + optionObject.l10nArgs && menuitem.setAttribute("data-l10n-args", optionObject.l10nArgs); menuitem.addEventListener("command", function (event) { optionObject.handleItems(selectedItems, event); @@ -152,7 +153,7 @@ var Zotero_LocateMenu = new function() { for(var viewOption in ViewOptions) { if (!optionsToShow[viewOption] && (!isToolbarMenu || !ViewOptions[viewOption].hideInToolbar)) { - optionsToShow[viewOption] = yield ViewOptions[viewOption].canHandleItem(item); + optionsToShow[viewOption] = yield ViewOptions[viewOption].canHandleItem(item, selectedItems); } } } @@ -342,40 +343,59 @@ var Zotero_LocateMenu = new function() { * Should appear only when the item is a PDF, or a linked or attached file or web attachment is * a PDF */ - function ViewPDF(alternateWindowBehavior) { - this.icon = "chrome://zotero/skin/treeitem-attachment-pdf.png"; - this._mimeTypes = ["application/pdf"]; + function ViewAttachment(alternateWindowBehavior) { + const classNames = { + pdf: "zotero-menuitem-attachments-pdf", + epub: "zotero-menuitem-attachments-epub", + snapshot: "zotero-menuitem-attachments-snapshot", + multiple: "zotero-menuitem-new-tab", + }; + const attachmentTypes = { + "application/pdf": "pdf", + "application/epub+zip": "epub", + "text/html": "snapshot", + }; + this._attachmentType = "multiple"; + Object.defineProperty(this, "className", { + get: () => (alternateWindowBehavior ? "zotero-menuitem-new-window" : classNames[this._attachmentType]), + }); + this._mimeTypes = ["application/pdf", "application/epub+zip", "text/html"]; // Don't show alternate-behavior option ("in New Window" when openReaderInNewWindow is false, // "in New Tab" when it's true) in toolbar Locate menu this.hideInToolbar = alternateWindowBehavior; - Object.defineProperty(this, 'label', { - get() { - if (alternateWindowBehavior) { - return Zotero.getString(Zotero.Prefs.get('openReaderInNewWindow') - ? 'locate.pdfNewTab.label' - : 'locate.pdfNewWindow.label'); - } - else { - return Zotero.getString('locate.pdf.label'); - } - } + // Must have a label, otherwise an error is thrown in `Zotero.getString` + this.label = "PLACEHOLDER"; + this.l10nKey = "item-menu-viewAttachment"; + Object.defineProperty(this, "l10nArgs", { + get: () => JSON.stringify({ + attachmentType: this._attachmentType, + openIn: alternateWindowBehavior ? 'window' : 'tab', + }) }); - this.canHandleItem = async function (item) { + this.canHandleItem = async function (item, items) { // Don't show alternate-behavior option when using an external PDF viewer if (alternateWindowBehavior && Zotero.Prefs.get("fileHandler.pdf")) { return false; } - return _getFirstAttachmentWithMIMEType(item, this._mimeTypes).then((item) => !!item); - } + const attachment = await _getFirstAttachmentWithMIMEType(item, this._mimeTypes); + // Trick to update the attachment type + if (items.length > 1) { + this._attachmentType = "multiple"; + } + else if (attachment) { + this._attachmentType = attachmentTypes[attachment.attachmentContentType]; + } + return !!attachment; + }; this.handleItems = Zotero.Promise.coroutine(function* (items, event) { var attachments = []; for (let item of items) { var attachment = yield _getFirstAttachmentWithMIMEType(item, this._mimeTypes); - if(attachment) attachments.push(attachment.id); + if (attachment) attachments.push(attachment.id); } ZoteroPane_Local.viewAttachment(attachments, event, false, @@ -395,16 +415,16 @@ var Zotero_LocateMenu = new function() { }); } - ViewOptions.pdf = new ViewPDF(false); - ViewOptions.pdfAlternateWindowBehavior = new ViewPDF(true); - + ViewOptions.viewAttachmentInTab = new ViewAttachment(false); + ViewOptions.viewAttachmentInWindow = new ViewAttachment(true); + /** * "View Online" option * * Should appear only when an item or an attachment has a URL */ ViewOptions.online = new function() { - this.icon = "chrome://zotero/skin/locate-view-online.png"; + this.className = "zotero-menuitem-view-online"; this.canHandleItem = function (item) { return _getURL(item).then((val) => val !== false); @@ -449,57 +469,7 @@ var Zotero_LocateMenu = new function() { return false; }); }; - - /** - * "View Snapshot" option - * - * Should appear only when the item is a PDF, or a linked or attached file or web attachment is - * a snapshot - */ - ViewOptions.snapshot = new function() { - this.icon = "chrome://zotero/skin/treeitem-attachment-snapshot.png"; - this._mimeTypes = ["text/html", "application/xhtml+xml"]; - this.canHandleItem = ViewOptions.pdf.canHandleItem; - this.handleItems = ViewOptions.pdf.handleItems; - }; - - /** - * "View File" option - * - * Should appear only when an item or a linked or attached file or web attachment does not - * satisfy the conditions for "Open PDF" or "View Snapshot" - */ - ViewOptions.file = new function() { - this.icon = "chrome://zotero/skin/treeitem-attachment-file.png"; - - this.canHandleItem = function (item) { - return _getFile(item).then((item) => !!item); - } - - this.handleItems = Zotero.Promise.coroutine(function* (items, event) { - var attachments = []; - for (let item of items) { - var attachment = yield _getFile(item); - if(attachment) attachments.push(attachment.id); - } - - ZoteroPane_Local.viewAttachment(attachments, event); - }); - - var _getFile = Zotero.Promise.coroutine(function* (item) { - var attachments = item.isAttachment() ? [item] : (yield item.getBestAttachments()); - for (let i = 0; i < attachments.length; i++) { - let attachment = attachments[i]; - if (!(yield ViewOptions.snapshot.canHandleItem(attachment)) - && !(yield ViewOptions.pdf.canHandleItem(attachment)) - && attachment.attachmentLinkMode !== Zotero.Attachments.LINK_MODE_LINKED_URL) { - return attachment; - } - } - return false; - }); - }; - + /** * "Open in External Viewer" option * @@ -507,7 +477,7 @@ var Zotero_LocateMenu = new function() { * viewed by an internal non-native handler and "launchNonNativeFiles" pref is disabled */ ViewOptions.externalViewer = new function() { - this.icon = "chrome://zotero/skin/locate-external-viewer.png"; + this.className = "zotero-menuitem-view-external"; this.useExternalViewer = true; this.canHandleItem = Zotero.Promise.coroutine(function* (item) { @@ -572,7 +542,7 @@ var Zotero_LocateMenu = new function() { * file or web attachment */ ViewOptions.showFile = new function() { - this.icon = "chrome://zotero/skin/locate-show-file.png"; + this.className = "zotero-menuitem-view-file"; this.useExternalViewer = true; this.canHandleItem = function (item) { @@ -604,7 +574,7 @@ var Zotero_LocateMenu = new function() { * Should appear only for regular items */ ViewOptions._libraryLookup = new function() { - this.icon = "chrome://zotero/skin/locate-library-lookup.png"; + this.className = "zotero-menuitem-view-file"; this.canHandleItem = function (item) { return Zotero.Promise.resolve(item.isRegularItem()); }; this.handleItems = Zotero.Promise.method(function (items, event) { // If no resolver configured, show error diff --git a/chrome/content/zotero/xpcom/data/collection.js b/chrome/content/zotero/xpcom/data/collection.js index 762130336f..042bc68144 100644 --- a/chrome/content/zotero/xpcom/data/collection.js +++ b/chrome/content/zotero/xpcom/data/collection.js @@ -85,17 +85,14 @@ Zotero.defineProperty(Zotero.Collection.prototype, 'parent', { Zotero.defineProperty(Zotero.Collection.prototype, 'treeViewID', { get: function () { - return "C" + this.id + return "C" + this.id; } }); Zotero.defineProperty(Zotero.Collection.prototype, 'treeViewImage', { get: function () { // Keep in sync with collectionTreeView::getImageSrc() - if (Zotero.isMac) { - return `chrome://zotero-platform/content/treesource-collection${Zotero.hiDPISuffix}.png`; - } - return "chrome://zotero/skin/treesource-collection" + Zotero.hiDPISuffix + ".png"; + return "chrome://zotero/skin/16/universal/folder.svg"; } }); diff --git a/chrome/content/zotero/xpcom/data/library.js b/chrome/content/zotero/xpcom/data/library.js index 9a10eb9f44..ed7da1d09a 100644 --- a/chrome/content/zotero/xpcom/data/library.js +++ b/chrome/content/zotero/xpcom/data/library.js @@ -182,13 +182,13 @@ Zotero.defineProperty(Zotero.Library.prototype, 'name', { Zotero.defineProperty(Zotero.Library.prototype, 'treeViewID', { get: function () { - return "L" + this._libraryID + return "L" + this._libraryID; } }); Zotero.defineProperty(Zotero.Library.prototype, 'treeViewImage', { get: function () { - return "chrome://zotero/skin/treesource-library" + Zotero.hiDPISuffix + ".png"; + return "chrome://zotero/skin/16/universal/library.svg"; } }); diff --git a/chrome/content/zotero/xpcom/data/search.js b/chrome/content/zotero/xpcom/data/search.js index 7a26959709..40d3d20e86 100644 --- a/chrome/content/zotero/xpcom/data/search.js +++ b/chrome/content/zotero/xpcom/data/search.js @@ -99,16 +99,13 @@ Zotero.defineProperty(Zotero.Search.prototype, '_canHaveParent', { Zotero.defineProperty(Zotero.Search.prototype, 'treeViewID', { get: function () { - return "S" + this.id + return "S" + this.id; } }); Zotero.defineProperty(Zotero.Search.prototype, 'treeViewImage', { get: function () { - if (Zotero.isMac) { - return `chrome://zotero-platform/content/treesource-search${Zotero.hiDPISuffix}.png`; - } - return "chrome://zotero/skin/treesource-search" + Zotero.hiDPISuffix + ".png"; + return "chrome://zotero/skin/16/universal/saved-search.svg"; } }); diff --git a/chrome/content/zotero/xpcom/utilities_internal.js b/chrome/content/zotero/xpcom/utilities_internal.js index 1705a2f8e2..22bb1b3da7 100644 --- a/chrome/content/zotero/xpcom/utilities_internal.js +++ b/chrome/content/zotero/xpcom/utilities_internal.js @@ -1611,7 +1611,7 @@ Zotero.Utilities.Internal = { /** * Create a libraryOrCollection DOM tree to place in element. * If has no children, returns a element, otherwise . - * + * * @param {Library|Collection} libraryOrCollection * @param {Node} elem Parent element * @param {Zotero.Library|Zotero.Collection} currentTarget Currently selected item (displays as checked) @@ -1619,7 +1619,7 @@ Zotero.Utilities.Internal = { * Receives the event and libraryOrCollection for given item. * @param {Function} disabledPred If provided, called on each library/collection * to determine whether disabled - * + * * @return {Node|Node} appended node */ createMenuForTarget: function(libraryOrCollection, elem, currentTarget, clickAction, disabledPred) { @@ -1637,8 +1637,8 @@ Zotero.Utilities.Internal = { menuitem.setAttribute("disabled", disabled); menuitem.addEventListener('command', command); menuitem.classList.add('menuitem-iconic'); - return menuitem - } + return menuitem; + } function _createMenu(label, value, icon, command) { let menu = doc.createXULElement('menu'); @@ -1662,7 +1662,7 @@ Zotero.Utilities.Internal = { // Create menuitem for library or collection itself, to be placed either directly in the // containing menu or as the top item in a submenu var menuitem = _createMenuitem( - libraryOrCollection.name, + libraryOrCollection.name, libraryOrCollection.treeViewID, imageSrc, function (event) { @@ -1674,14 +1674,15 @@ Zotero.Utilities.Internal = { var collections; if (libraryOrCollection.objectType == 'collection') { collections = Zotero.Collections.getByParent(libraryOrCollection.id); - } else { + } + else { collections = Zotero.Collections.getByLibrary(libraryOrCollection.id); } // If no subcollections, place menuitem for target directly in containing men if (collections.length == 0) { elem.appendChild(menuitem); - return menuitem + return menuitem; } // Otherwise create a submenu for the target's subcollections diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index e1ffe9cee7..05ba347db1 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -3323,6 +3323,7 @@ var ZoteroPane = new function() // when things are visible and when they're visible but disabled var show = [], disable = []; + let useHideOrDelete = "delete"; if (collectionTreeRow.isCollection()) { show = [ 'newSubcollection', @@ -3418,6 +3419,7 @@ var ZoteroPane = new function() show = ['deleteCollection']; m.deleteCollection.setAttribute('label', Zotero.getString('general.hide')); + useHideOrDelete = "hide"; } else if (collectionTreeRow.isHeader()) { } @@ -3472,6 +3474,15 @@ var ZoteroPane = new function() show.push('removeLibrary'); } } + + if (useHideOrDelete === 'delete') { + m.deleteCollection.classList.add('zotero-menuitem-delete-collection'); + m.deleteCollection.classList.remove('zotero-menuitem-hide-collection'); + } + else { + m.deleteCollection.classList.add('zotero-menuitem-hide-collection'); + m.deleteCollection.classList.remove('zotero-menuitem-delete-collection'); + } // Disable some actions if user doesn't have write access // @@ -3822,8 +3833,17 @@ var ZoteroPane = new function() } else if (!collectionTreeRow.isPublications()) { if (item.itemType == 'book' || item.itemType == 'bookSection') { - menu.childNodes[m.duplicateAndConvert].setAttribute('label', Zotero.getString('pane.items.menu.duplicateAndConvert.' + let toBookMenuItem = menu.childNodes[m.duplicateAndConvert]; + toBookMenuItem.setAttribute('label', Zotero.getString('pane.items.menu.duplicateAndConvert.' + (item.itemType == 'book' ? 'toBookSection' : 'toBook'))); + if (item.itemType === 'book') { + toBookMenuItem.classList.add('zotero-menuitem-convert-to-book-section'); + toBookMenuItem.classList.remove('zotero-menuitem-convert-to-book'); + } + else { + toBookMenuItem.classList.add('zotero-menuitem-convert-to-book'); + toBookMenuItem.classList.remove('zotero-menuitem-convert-to-book-section'); + } show.add(m.duplicateAndConvert); } diff --git a/chrome/content/zotero/zoteroPane.xhtml b/chrome/content/zotero/zoteroPane.xhtml index e8384244f2..22d6f2bee8 100644 --- a/chrome/content/zotero/zoteroPane.xhtml +++ b/chrome/content/zotero/zoteroPane.xhtml @@ -918,7 +918,7 @@ - + diff --git a/chrome/locale/en-US/zotero/zotero.ftl b/chrome/locale/en-US/zotero/zotero.ftl index dc93261945..caccd0d5bf 100644 --- a/chrome/locale/en-US/zotero/zotero.ftl +++ b/chrome/locale/en-US/zotero/zotero.ftl @@ -3,6 +3,20 @@ zotero-toolbar-new-attachment = zotero-toolbar-opened-tabs-menu = .tooltiptext = List all tabs +item-menu-viewAttachment = + .label = Open { + $attachmentType -> + [pdf] PDF + [epub] EPUB + [snapshot] Snapshot + *[multiple] Attachments + } in { + $openIn -> + [tab] New Tab + [window] New Window + *[other] Reader + } + import-window = .title = Import @@ -242,4 +256,4 @@ abstract-field = .label = Add abstract… tagselector-search = - .placeholder = Filter Tags \ No newline at end of file + .placeholder = Filter Tags diff --git a/chrome/skin/default/zotero/16/dark/note-annotation.svg b/chrome/skin/default/zotero/16/dark/note-annotation.svg new file mode 100644 index 0000000000..e5161298fb --- /dev/null +++ b/chrome/skin/default/zotero/16/dark/note-annotation.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/light/note-annotation.svg b/chrome/skin/default/zotero/16/light/note-annotation.svg new file mode 100644 index 0000000000..06325d27c1 --- /dev/null +++ b/chrome/skin/default/zotero/16/light/note-annotation.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/abstract.svg b/chrome/skin/default/zotero/16/universal/abstract.svg new file mode 100644 index 0000000000..c5dba16542 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/abstract.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-area.svg b/chrome/skin/default/zotero/16/universal/annotate-area.svg new file mode 100644 index 0000000000..3fee1a1d25 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-area.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-eraser.svg b/chrome/skin/default/zotero/16/universal/annotate-eraser.svg new file mode 100644 index 0000000000..d1bf34cac7 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-eraser.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-highlight.svg b/chrome/skin/default/zotero/16/universal/annotate-highlight.svg new file mode 100644 index 0000000000..6e2d0e08d0 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-highlight.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-ink.svg b/chrome/skin/default/zotero/16/universal/annotate-ink.svg new file mode 100644 index 0000000000..0436dde2a2 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-ink.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-note.svg b/chrome/skin/default/zotero/16/universal/annotate-note.svg new file mode 100644 index 0000000000..678c098015 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-note.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-text.svg b/chrome/skin/default/zotero/16/universal/annotate-text.svg new file mode 100644 index 0000000000..25d908fb4a --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-text.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/annotate-underline.svg b/chrome/skin/default/zotero/16/universal/annotate-underline.svg new file mode 100644 index 0000000000..d2b31f4c7b --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotate-underline.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/annotation.svg b/chrome/skin/default/zotero/16/universal/annotation.svg new file mode 100644 index 0000000000..a0ec6e4451 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/annotation.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/attachment-info.svg b/chrome/skin/default/zotero/16/universal/attachment-info.svg new file mode 100644 index 0000000000..0dfa969905 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/attachment-info.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/attachment.svg b/chrome/skin/default/zotero/16/universal/attachment.svg new file mode 100644 index 0000000000..979913d291 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/attachment.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/book.svg b/chrome/skin/default/zotero/16/universal/book.svg new file mode 100644 index 0000000000..23725c8b61 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/book.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/chevron-12-left.svg b/chrome/skin/default/zotero/16/universal/chevron-12-left.svg new file mode 100644 index 0000000000..a5551d1603 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/chevron-12-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/chevron-12-up.svg b/chrome/skin/default/zotero/16/universal/chevron-12-up.svg new file mode 100644 index 0000000000..89f43748b2 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/chevron-12-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/chevron-12.svg b/chrome/skin/default/zotero/16/universal/chevron-12.svg new file mode 100644 index 0000000000..9ff5d360cb --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/chevron-12.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/circle-8.svg b/chrome/skin/default/zotero/16/universal/circle-8.svg new file mode 100644 index 0000000000..b71ba59216 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/circle-8.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/cite.svg b/chrome/skin/default/zotero/16/universal/cite.svg new file mode 100644 index 0000000000..a0c02a383e --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/cite.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/color.svg b/chrome/skin/default/zotero/16/universal/color.svg new file mode 100644 index 0000000000..241e093298 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/chrome/skin/default/zotero/16/universal/crossref.svg b/chrome/skin/default/zotero/16/universal/crossref.svg new file mode 100644 index 0000000000..00d7426dde --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/crossref.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/delete-collection.svg b/chrome/skin/default/zotero/16/universal/delete-collection.svg new file mode 100644 index 0000000000..50bad81a81 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/delete-collection.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/duplicate-item.svg b/chrome/skin/default/zotero/16/universal/duplicate-item.svg new file mode 100644 index 0000000000..9cc0668654 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/duplicate-item.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/duplicate.svg b/chrome/skin/default/zotero/16/universal/duplicate.svg new file mode 100644 index 0000000000..d9294f099e --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/duplicate.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/edit.svg b/chrome/skin/default/zotero/16/universal/edit.svg new file mode 100644 index 0000000000..6f47aab220 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/edit.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/empty-trash.svg b/chrome/skin/default/zotero/16/universal/empty-trash.svg new file mode 100644 index 0000000000..09ee1cca6e --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/empty-trash.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/export.svg b/chrome/skin/default/zotero/16/universal/export.svg new file mode 100644 index 0000000000..fe0acf0091 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/export.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/feed-error.svg b/chrome/skin/default/zotero/16/universal/feed-error.svg new file mode 100644 index 0000000000..3e5ea34769 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/feed-error.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/feed-library.svg b/chrome/skin/default/zotero/16/universal/feed-library.svg new file mode 100644 index 0000000000..14069ef5c1 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/feed-library.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/feed-unsubscribe.svg b/chrome/skin/default/zotero/16/universal/feed-unsubscribe.svg new file mode 100644 index 0000000000..0b7deba2d0 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/feed-unsubscribe.svg @@ -0,0 +1,4 @@ + + + + diff --git a/chrome/skin/default/zotero/16/universal/feed-updating.svg b/chrome/skin/default/zotero/16/universal/feed-updating.svg new file mode 100644 index 0000000000..d00e2257df --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/feed-updating.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/feed.svg b/chrome/skin/default/zotero/16/universal/feed.svg new file mode 100644 index 0000000000..237921065c --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/feed.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/filter.svg b/chrome/skin/default/zotero/16/universal/filter.svg new file mode 100644 index 0000000000..20e47f7461 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/filter.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/folder-open.svg b/chrome/skin/default/zotero/16/universal/folder-open.svg new file mode 100644 index 0000000000..f836cc340b --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/folder-open.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/folder.svg b/chrome/skin/default/zotero/16/universal/folder.svg new file mode 100644 index 0000000000..20d59c6936 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/globe.svg b/chrome/skin/default/zotero/16/universal/globe.svg new file mode 100644 index 0000000000..7ef436d829 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/globe.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/google-scholar.svg b/chrome/skin/default/zotero/16/universal/google-scholar.svg new file mode 100644 index 0000000000..90d147b8eb --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/google-scholar.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/grip.svg b/chrome/skin/default/zotero/16/universal/grip.svg new file mode 100644 index 0000000000..951c49e870 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/grip.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/group.svg b/chrome/skin/default/zotero/16/universal/group.svg new file mode 100644 index 0000000000..4683c20835 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/group.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/hide.svg b/chrome/skin/default/zotero/16/universal/hide.svg new file mode 100644 index 0000000000..5c86bb7be7 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/hide.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/info.svg b/chrome/skin/default/zotero/16/universal/info.svg new file mode 100644 index 0000000000..bdeb1807f7 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/info.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/input-dual.svg b/chrome/skin/default/zotero/16/universal/input-dual.svg new file mode 100644 index 0000000000..43c004f33f --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/input-dual.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/input-single.svg b/chrome/skin/default/zotero/16/universal/input-single.svg new file mode 100644 index 0000000000..8d265d00a8 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/input-single.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/institution.svg b/chrome/skin/default/zotero/16/universal/institution.svg new file mode 100644 index 0000000000..b6e7e3ef4b --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/institution.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/library-collection.svg b/chrome/skin/default/zotero/16/universal/library-collection.svg new file mode 100644 index 0000000000..51b24e9656 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/library-collection.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/library-lookup.svg b/chrome/skin/default/zotero/16/universal/library-lookup.svg new file mode 100644 index 0000000000..62397b12ab --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/library-lookup.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/library.svg b/chrome/skin/default/zotero/16/universal/library.svg new file mode 100644 index 0000000000..2a257bde28 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/library.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/link.svg b/chrome/skin/default/zotero/16/universal/link.svg new file mode 100644 index 0000000000..3920d8e86d --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/list-number.svg b/chrome/skin/default/zotero/16/universal/list-number.svg new file mode 100644 index 0000000000..c1472ea48e --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/list-number.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/location.svg b/chrome/skin/default/zotero/16/universal/location.svg new file mode 100644 index 0000000000..d4dc2def85 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/location.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/magnifier.svg b/chrome/skin/default/zotero/16/universal/magnifier.svg new file mode 100644 index 0000000000..cc86098475 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/magnifier.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/merge.svg b/chrome/skin/default/zotero/16/universal/merge.svg new file mode 100644 index 0000000000..359026ac0c --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/merge.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/minus-circle.svg b/chrome/skin/default/zotero/16/universal/minus-circle.svg new file mode 100644 index 0000000000..d767bf6f23 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/minus-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/minus.svg b/chrome/skin/default/zotero/16/universal/minus.svg new file mode 100644 index 0000000000..ebfee28878 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/minus.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/new-collection.svg b/chrome/skin/default/zotero/16/universal/new-collection.svg new file mode 100644 index 0000000000..dca92f85e9 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/new-collection.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/new-tab.svg b/chrome/skin/default/zotero/16/universal/new-tab.svg new file mode 100644 index 0000000000..bd2140bfe0 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/new-tab.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/new-window.svg b/chrome/skin/default/zotero/16/universal/new-window.svg new file mode 100644 index 0000000000..0936811508 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/new-window.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/note.svg b/chrome/skin/default/zotero/16/universal/note.svg new file mode 100644 index 0000000000..f49432bc23 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/note.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/open-link.svg b/chrome/skin/default/zotero/16/universal/open-link.svg new file mode 100644 index 0000000000..b9cefea1a1 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/open-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/options.svg b/chrome/skin/default/zotero/16/universal/options.svg new file mode 100644 index 0000000000..9887df159b --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/options.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/chrome/skin/default/zotero/16/universal/page.svg b/chrome/skin/default/zotero/16/universal/page.svg new file mode 100644 index 0000000000..b2087a3605 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/page.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/plus-circle.svg b/chrome/skin/default/zotero/16/universal/plus-circle.svg new file mode 100644 index 0000000000..e54339a000 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/plus-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/plus.svg b/chrome/skin/default/zotero/16/universal/plus.svg new file mode 100644 index 0000000000..3212f2fec0 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/plus.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/reindex.svg b/chrome/skin/default/zotero/16/universal/reindex.svg new file mode 100644 index 0000000000..ab8bc3f78f --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/reindex.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/rename.svg b/chrome/skin/default/zotero/16/universal/rename.svg new file mode 100644 index 0000000000..fa8557b34e --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/rename.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/report.svg b/chrome/skin/default/zotero/16/universal/report.svg new file mode 100644 index 0000000000..6528b1f826 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/report.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/restore.svg b/chrome/skin/default/zotero/16/universal/restore.svg new file mode 100644 index 0000000000..cb386cd78e --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/restore.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/retracted.svg b/chrome/skin/default/zotero/16/universal/retracted.svg new file mode 100644 index 0000000000..36bf1989a6 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/retracted.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/retrieve-metadata.svg b/chrome/skin/default/zotero/16/universal/retrieve-metadata.svg new file mode 100644 index 0000000000..26133b47f6 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/retrieve-metadata.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/saved-search.svg b/chrome/skin/default/zotero/16/universal/saved-search.svg new file mode 100644 index 0000000000..b8b6c84211 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/saved-search.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/show-item.svg b/chrome/skin/default/zotero/16/universal/show-item.svg new file mode 100644 index 0000000000..8d4d5d4ccc --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/show-item.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/sync.svg b/chrome/skin/default/zotero/16/universal/sync.svg new file mode 100644 index 0000000000..34888222f4 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/sync.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/tag.svg b/chrome/skin/default/zotero/16/universal/tag.svg new file mode 100644 index 0000000000..481ba1f306 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/tag.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/trash-empty.svg b/chrome/skin/default/zotero/16/universal/trash-empty.svg new file mode 100644 index 0000000000..2150fc0333 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/trash-empty.svg @@ -0,0 +1,4 @@ + + + + diff --git a/chrome/skin/default/zotero/16/universal/trash.svg b/chrome/skin/default/zotero/16/universal/trash.svg new file mode 100644 index 0000000000..7ecc50ce38 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/trash.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/unfiled.svg b/chrome/skin/default/zotero/16/universal/unfiled.svg new file mode 100644 index 0000000000..8802e10ba0 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/unfiled.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/unlink.svg b/chrome/skin/default/zotero/16/universal/unlink.svg new file mode 100644 index 0000000000..c5f7f57dba --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/unlink.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/chrome/skin/default/zotero/16/universal/view.svg b/chrome/skin/default/zotero/16/universal/view.svg new file mode 100644 index 0000000000..d9c5318c74 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/view.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/16/universal/x-8.svg b/chrome/skin/default/zotero/16/universal/x-8.svg new file mode 100644 index 0000000000..de31a8cf74 --- /dev/null +++ b/chrome/skin/default/zotero/16/universal/x-8.svg @@ -0,0 +1,3 @@ + + + diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 81a776378b..7cf67ef952 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -263,10 +263,6 @@ list-style-image: url('chrome://zotero/skin/toolbar-collection-add.png'); } -.zotero-menuitem-new-feed -{ - list-style-image: url('chrome://zotero/skin/toolbar-feed-add.png'); -} #zotero-tb-library-add-menu { @@ -363,153 +359,6 @@ { list-style-image: url('chrome://zotero/skin/toolbar-note-add.png'); } - -#zotero-menuitem-note -{ - list-style-image: url('chrome://zotero/skin/treeitem-note.png'); -} - -.zotero-menuitem-new-saved-search -{ - list-style-image: url('chrome://zotero/skin/treesource-search.png'); -} - -.zotero-menuitem-show-duplicates -{ - list-style-image: url('chrome://zotero/skin/treesource-duplicates.png'); -} - -.zotero-menuitem-show-unfiled -{ - list-style-image: url('chrome://zotero/skin/treesource-unfiled.png'); -} - -.zotero-menuitem-show-retracted { - list-style-image: url('chrome://zotero/skin/cross.png'); -} - -.zotero-menuitem-sync { - list-style-image: url(chrome://zotero/skin/arrow_rotate_static.png); -} - -.zotero-menuitem-new-collection -{ - list-style-image: url('chrome://zotero/skin/toolbar-collection-add.png'); -} - -.zotero-menuitem-edit-collection -{ - list-style-image: url('chrome://zotero/skin/toolbar-collection-edit.png'); -} - -.zotero-menuitem-edit-feed -{ - list-style-image: url('chrome://zotero/skin/toolbar-feed-edit.png'); -} - -.zotero-menuitem-refresh-feed -{ - list-style-image: url('chrome://zotero/skin/arrow_refresh.png'); -} - -.zotero-menuitem-delete-collection, .zotero-menuitem-remove-items { - list-style-image: url('chrome://zotero/skin/toolbar-collection-delete.png'); -} - -.zotero-menuitem-show-in-library -{ - list-style-image: url('chrome://zotero/skin/treesource-library.png'); -} - -.zotero-menuitem-move-to-trash -{ - list-style-image: url('chrome://zotero/skin/treesource-trash-full.png'); -} - -.zotero-menuitem-delete-from-lib -{ - list-style-image: url('chrome://zotero/skin/cross-script.png'); -} - -.zotero-menuitem-attach-note -{ - list-style-image: url('chrome://zotero/skin/toolbar-note-add.png'); -} - -.zotero-menuitem-attach -{ - list-style-image: url('chrome://zotero/skin/attach.png'); -} - -.zotero-menuitem-attachments-file -{ - list-style-image: url('chrome://zotero/skin/treeitem.png'); -} - -.zotero-menuitem-attachments-link -{ - list-style-image: url('chrome://zotero/skin/treeitem-attachment-link.png'); -} - -.zotero-menuitem-attachments-web-link -{ - list-style-image: url('chrome://zotero/skin/treeitem-attachment-web-link.png'); -} - -.zotero-menuitem-find-pdf { - list-style-image: url('chrome://zotero/skin/treeitem-attachment-pdf.png'); -} - -.zotero-menuitem-duplicate-item -{ - list-style-image: url('chrome://zotero/skin/arrow-split-090.png'); -} - -.zotero-menuitem-merge-items -{ - list-style-image: url('chrome://zotero/skin/arrow-join-090.png'); -} - -.zotero-menuitem-export -{ - list-style-image: url('chrome://zotero/skin/arrow-curve-090-left.png'); -} - -.zotero-menuitem-restore-to-library -{ - list-style-image: url('chrome://zotero/skin/lifebuoy.png'); -} - -.zotero-menuitem-create-bibliography -{ - list-style-image: url('chrome://zotero/skin/edit-list-order.png'); -} - -.zotero-menuitem-create-report -{ - list-style-image: url('chrome://zotero/skin/treeitem-report.png'); -} - -.zotero-menuitem-retrieve-metadata -{ - list-style-image: url('chrome://zotero/skin/puzzle-arrow.png'); -} - -.zotero-menuitem-reindex -{ - list-style-image: url('chrome://zotero/skin/document-search-result.png'); -} - -.zotero-menuitem-create-parent -{ - list-style-image: url('chrome://zotero/skin/page_white_add.png'); -} - -.zotero-menuitem-rename-from-parent -{ - list-style-image: url('chrome://zotero/skin/bookmark-pencil.png'); -} - #zotero-tb-advanced-search { list-style-image: url('chrome://zotero/skin/toolbar-advanced-search.png'); @@ -783,32 +632,11 @@ @media (min-resolution: 1.25dppx) { .zotero-tb-button[type="menu"] > .toolbarbutton-menu-dropmarker { background-image: url("chrome://zotero/skin/searchbar-dropmarker@2x.png"); } #zotero-tb-collection-add { list-style-image: url('chrome://zotero/skin/toolbar-collection-add@2x.png'); } - .zotero-menuitem-new-feed { list-style-image: url('chrome://zotero/skin/toolbar-feed-add@2x.png'); } #zotero-tb-library-add-menu { list-style-image: url('chrome://zotero/skin/library_add@2x.png'); } #zotero-tb-add { list-style-image: url('chrome://zotero/skin/toolbar-item-add@2x.png'); } #zotero-tb-lookup { list-style-image: url('chrome://zotero/skin/toolbar-lookup@2x.png'); } #zotero-tb-attachment-add { list-style-image: url('chrome://zotero/skin/attach@2x.png'); } #zotero-tb-note-add { list-style-image: url('chrome://zotero/skin/toolbar-note-add@2x.png'); } - #zotero-menuitem-note { list-style-image: url('chrome://zotero/skin/treeitem-note@2x.png'); } - .zotero-menuitem-new-saved-search { list-style-image: url('chrome://zotero/skin/treesource-search@2x.png'); } - .zotero-menuitem-show-duplicates { list-style-image: url('chrome://zotero/skin/treesource-duplicates@2x.png'); } - .zotero-menuitem-show-unfiled { list-style-image: url('chrome://zotero/skin/treesource-unfiled@2x.png'); } - .zotero-menuitem-show-retracted { list-style-image: url('chrome://zotero/skin/cross@2x.png'); } - .zotero-menuitem-sync { list-style-image: url(chrome://zotero/skin/arrow_rotate_static@2x.png); } - .zotero-menuitem-new-collection { list-style-image: url('chrome://zotero/skin/toolbar-collection-add@2x.png'); } - .zotero-menuitem-edit-collection { list-style-image: url('chrome://zotero/skin/toolbar-collection-edit@2x.png'); } - .zotero-menuitem-edit-feed { list-style-image: url('chrome://zotero/skin/toolbar-feed-edit@2x.png'); } - .zotero-menuitem-refresh-feed { list-style-image: url('chrome://zotero/skin/arrow_refresh@2x.png'); } - .zotero-menuitem-delete-collection, .zotero-menuitem-remove-items { list-style-image: url('chrome://zotero/skin/toolbar-collection-delete@2x.png'); } - .zotero-menuitem-show-in-library { list-style-image: url('chrome://zotero/skin/treesource-library@2x.png'); } - .zotero-menuitem-move-to-trash { list-style-image: url('chrome://zotero/skin/treesource-trash-full@2x.png'); } - .zotero-menuitem-attach-note { list-style-image: url('chrome://zotero/skin/toolbar-note-add@2x.png'); } - .zotero-menuitem-attach { list-style-image: url('chrome://zotero/skin/attach@2x.png'); } - .zotero-menuitem-attachments-file { list-style-image: url('chrome://zotero/skin/treeitem@2x.png'); } - .zotero-menuitem-attachments-link { list-style-image: url('chrome://zotero/skin/treeitem-attachment-link@2x.png'); } - .zotero-menuitem-attachments-web-link { list-style-image: url('chrome://zotero/skin/treeitem-attachment-web-link@2x.png'); } - .zotero-menuitem-find-pdf { list-style-image: url('chrome://zotero/skin/treeitem-attachment-pdf@2x.png'); } - .zotero-menuitem-create-report { list-style-image: url('chrome://zotero/skin/treeitem-report@2x.png'); } #zotero-tb-advanced-search { list-style-image: url('chrome://zotero/skin/toolbar-advanced-search@2x.png'); } #zotero-tb-sync-stop { list-style-image: url(chrome://zotero/skin/control_stop_blue@2x.png); } #zotero-tb-pq-recognize { list-style-image: url(chrome://zotero/skin/pdf-search@2x.png); } diff --git a/scss/abstracts/_svgicon.scss b/scss/abstracts/_svgicon.scss index ea07f20964..464f28eb78 100644 --- a/scss/abstracts/_svgicon.scss +++ b/scss/abstracts/_svgicon.scss @@ -1,4 +1,4 @@ -@mixin svgicon($icon, $color, $size: "16", $prefix: false, $has2x: false) { +@mixin svgicon($icon, $color, $size: "16", $prefix: false, $has2x: false, $light-dark: false) { background: -make-icon-background($icon, $color, $size, $prefix, $has2x) no-repeat center/contain, @@ -6,10 +6,29 @@ -make-icon-background($icon, 'white', $size, $prefix, $has2x) center/0, -make-icon-background($icon, 'light', $size, $prefix, $has2x) center/0, -make-icon-background($icon, 'dark', $size, $prefix, $has2x) center/0; + @if ($color == 'universal') { + @if ($light-dark) { + @include light-dark(fill, nth($light-dark, 1), nth($light-dark, 2)); + } + @else { + fill: currentColor; + } + -moz-context-properties: fill, fill-opacity; + } } -@mixin svgicon-menu($icon, $color, $size: "16", $prefix: false, $has2x: false) { - list-style-image: -make-icon-background($icon, $color, $size, $prefix, $has2x), +@mixin svgicon-menu($icon, $color, $size: "16", $prefix: false, $has2x: false, $light-dark: false) { + // Disable 2x because list-style-image doesn't support image-set + list-style-image: -make-icon-background($icon, $color, $size, $prefix, false); + @if ($color == 'universal') { + @if ($light-dark) { + @include light-dark(fill, nth($light-dark, 1), nth($light-dark, 2)); + } + @else { + fill: currentColor; + } + -moz-context-properties: fill, fill-opacity; + } } @function -make-icon-background($icon, $color, $size, $prefix, $has2x) { diff --git a/scss/components/_menu.scss b/scss/components/_menu.scss index 31cb8fb687..9ee14361d7 100644 --- a/scss/components/_menu.scss +++ b/scss/components/_menu.scss @@ -1,13 +1,75 @@ -$icons: ( - attachments-web-link: "link", +$item-type-icons: ( attachments-file: "document", - attachments-link: "document-linked" + attachments-link: "attachment-link", + attachments-pdf: "attachment-pdf", + attachments-snapshot: "attachment-snapshot", + attachments-epub: "attachment-epub", + attach-note: "note", + find-pdf: "attachment-pdf", + convert-to-book-section: "book-section", + convert-to-book: "book", ); -@each $cls, $icon in $icons { +@each $cls, $icon in $item-type-icons { .zotero-menuitem-#{$cls} { @include focus-states using ($color) { @include svgicon-menu($icon, $color, "16", "item-type"); } } -} +}; + +$menu-icons: ( + attach: "attachment", + attachments-web-link: "link", + view-online: "globe", + view-file: "folder-open", + view-external: "page", + library-lookup: "saved-search", + new-feed: "feed", + note: "note", + new-saved-search: "saved-search", + show-duplicates: "duplicate", + show-unfiled: "unfiled", + show-retracted: "retracted", + sync: "sync", + new-collection: "new-collection", + edit-collection: "rename", + edit-feed: "edit", + refresh-feed: "sync", + delete-collection: "delete-collection", + hide-collection: "hide", + remove-items: "delete-collection", + show-in-library: "library", + move-to-trash: "trash", + delete-from-lib: "empty-trash", + duplicate-item: "duplicate-item", + merge-items: "merge", + export: "export", + restore-to-library: "restore", + create-bibliography: "list-number", + create-report: "report", + retrieve-metadata: "retrieve-metadata", + unrecognize: "restore", + reindex: "reindex", + create-parent: "page", + rename-from-parent: "rename", + create-note-from-annotations: "light-dark:note-annotation", + add-to-collection: "new-collection", + new-tab: "new-tab", + new-window: "new-window", + +); + +@each $cls, $icon in $menu-icons { + .zotero-menuitem-#{$cls} { + // If icon starts with "light-dark:", use light and dark icon + @if str-slice($icon, 0, 11) == "light-dark:" { + @include focus-states using ($color) { + @include svgicon-menu(str-slice($icon, 12), $color, "16"); + } + } + @else { + @include svgicon-menu($icon, "universal", "16", false, false, (var(--fill-secondary), var(--fill-secondary))); + } + } +};