zoteroPane.xul (36613B)
1 <?xml version="1.0"?> 2 <!-- 3 ***** BEGIN LICENSE BLOCK ***** 4 5 Copyright © 2009 Center for History and New Media 6 George Mason University, Fairfax, Virginia, USA 7 http://zotero.org 8 9 This file is part of Zotero. 10 11 Zotero is free software: you can redistribute it and/or modify 12 it under the terms of the GNU Affero General Public License as published by 13 the Free Software Foundation, either version 3 of the License, or 14 (at your option) any later version. 15 16 Zotero is distributed in the hope that it will be useful, 17 but WITHOUT ANY WARRANTY; without even the implied warranty of 18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 GNU Affero General Public License for more details. 20 21 You should have received a copy of the GNU Affero General Public License 22 along with Zotero. If not, see <http://www.gnu.org/licenses/>. 23 24 ***** END LICENSE BLOCK ***** 25 --> 26 27 28 <?xml-stylesheet href="chrome://zotero/skin/overlay.css" type="text/css"?> 29 <?xml-stylesheet href="chrome://zotero-platform/content/overlay.css" type="text/css"?> 30 31 <!DOCTYPE overlay [ 32 <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd"> %globalDTD; 33 <!ENTITY % zoteroDTD SYSTEM "chrome://zotero/locale/zotero.dtd"> %zoteroDTD; 34 <!ENTITY % dialogOverlayDTD SYSTEM "chrome://global/locale/dialogOverlay.dtd"> %dialogOverlayDTD; 35 ]> 36 37 <overlay id="zotero" 38 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 39 40 <script src="include.js"/> 41 <script src="zoteroPane.js" type="application/javascript;version=1.8"/> 42 <script src="fileInterface.js"/> 43 <script src="reportInterface.js"/> 44 <script src="timelineInterface.js"/> 45 <script src="recognizePDFDialog.js"/> 46 <script src="browser.js" type="application/javascript;version=1.8"/> 47 <script src="lookup.js"/> 48 <script src="locateMenu.js" type="application/javascript;version=1.8"/> 49 50 <commandset id="mainCommandSet"> 51 <command id="cmd_zotero_reportErrors" oncommand="ZoteroPane_Local.reportErrors();"/> 52 <command id="cmd_zotero_import" oncommand="Zotero_File_Interface.showImportWizard();"/> 53 <command id="cmd_zotero_importFromClipboard" oncommand="Zotero_File_Interface.importFromClipboard();"/> 54 <command id="cmd_zotero_exportLibrary" oncommand="Zotero_File_Interface.exportFile();"/> 55 <command id="cmd_zotero_advancedSearch" oncommand="ZoteroPane_Local.openAdvancedSearchWindow();"/> 56 <command id="cmd_zotero_copyCitation" 57 oncommand="ZoteroPane_Local.copySelectedItemsToClipboard(true);" 58 disabled="true"/> 59 <command id="cmd_zotero_copyBibliography" 60 oncommand="ZoteroPane_Local.copySelectedItemsToClipboard();" 61 disabled="true"/> 62 <command id="cmd_zotero_createTimeline" oncommand="Zotero_Timeline_Interface.loadTimeline();"/> 63 <command id="cmd_zotero_rtfScan" oncommand="window.openDialog('chrome://zotero/content/rtfScan.xul', 'rtfScan', 'chrome,centerscreen')"/> 64 <command id="cmd_zotero_newCollection" oncommand="ZoteroPane_Local.newCollection()"/> 65 <command id="cmd_zotero_newFeed_fromURL" oncommand="ZoteroPane_Local.newFeedFromURL()"/> 66 <command id="cmd_zotero_newSavedSearch" oncommand="ZoteroPane_Local.newSearch()"/> 67 <command id="cmd_zotero_newStandaloneNote" oncommand="ZoteroPane_Local.newNote(event.shiftKey);"/> 68 <command id="cmd_zotero_newChildNote" oncommand="ZoteroPane_Local.newChildNote(event.shiftKey);"/> 69 <!-- Keep in sync with browser.js::scrapeThisPage(), until that calls this directly --> 70 <command id="cmd_zotero_newItemFromCurrentPage" oncommand="ZoteroPane.addItemFromPage('temporaryPDFHack', event.shiftKey ? !Zotero.Prefs.get('automaticSnapshots') : null)"/> 71 </commandset> 72 73 <popup id="contentAreaContextMenu"> 74 <menu id="zotero-content-area-context-menu" label="Zotero"> 75 <menupopup> 76 <menuitem id="zotero-context-item-from-page" class="menu-iconic" 77 label="&zotero.toolbar.newItemFromPage.label;" 78 command="cmd_zotero_newItemFromCurrentPage"/> 79 <menuitem id="zotero-context-add-to-current-note" class="menu-iconic" 80 label="&zotero.contextMenu.addTextToCurrentNote;" hidden="true" 81 oncommand="ZoteroPane.addSelectedTextToCurrentNote()"/> 82 <menuitem id="zotero-context-add-to-new-note" class="menu-iconic" 83 label="&zotero.contextMenu.addTextToNewNote;" hidden="true" 84 oncommand="ZoteroPane.createItemAndNoteFromSelectedText()"/> 85 <menuitem id="zotero-context-save-link-as-item" class="menu-iconic" 86 label="&zotero.contextMenu.saveLinkAsItem;" hidden="true" 87 oncommand="ZoteroPane.addItemFromURL(window.gContextMenu.linkURL, 'temporaryPDFHack')"/> 88 <menuitem id="zotero-context-save-image-as-item" class="menu-iconic" 89 label="&zotero.contextMenu.saveImageAsItem;" hidden="true" 90 oncommand="ZoteroPane.addItemFromURL(window.gContextMenu.onImage ? (window.gContextMenu.mediaURL ? window.gContextMenu.mediaURL : window.gContextMenu.imageURL) : window.gContextMenu.bgImageURL, 'artwork')"/> 91 </menupopup> 92 </menu> 93 </popup> 94 95 <stack id="zotero-pane-stack"> 96 <!-- Barrier to prevent tabbing into Zotero pane when busy --> 97 <box id="zotero-pane-tab-catcher-top" hidden="true" align="center" pack="center" style="opacity: 0"> 98 <checkbox/> 99 </box> 100 101 <vbox id="zotero-pane" 102 onkeydown="ZoteroPane_Local.handleKeyDown(event, this.id)" 103 onkeyup="ZoteroPane_Local.handleKeyUp(event, this.id)" 104 onkeypress="ZoteroPane_Local.handleKeyPress(event)" 105 chromedir="&locale.dir;"> 106 107 <toolbar id="zotero-toolbar" class="toolbar toolbar-primary"> 108 <hbox id="zotero-collections-toolbar" align="center"> 109 <toolbarbutton id="zotero-tb-collection-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newCollection.label;" command="cmd_zotero_newCollection"/> 110 <toolbarbutton id="zotero-tb-library-add-menu" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newLibrary.label;" type="menu"> 111 <menupopup id="zotero-tb-library-add-popup"> 112 <menuitem id="zotero-tb-group-add" label="&zotero.toolbar.newGroup;" oncommand="ZoteroPane_Local.newGroup()"/> 113 <menu id="zotero-tb-feed-add-menu" label="&zotero.toolbar.feeds.new;"> 114 <menupopup> 115 <menuitem id="zotero-tb-feed-add-fromURL" label="&zotero.toolbar.feeds.new.fromURL;" 116 command="cmd_zotero_newFeed_fromURL"/> 117 <menuitem id="zotero-tb-feed-add-fromPage" label="&zotero.toolbar.feeds.new.fromPage;" 118 oncommand="ZoteroPane_Local.newFeedFromPage()" observes="singleFeedMenuitemState"/> 119 <menu id="zotero-tb-feed-add-fromPage-menu" label="&zotero.toolbar.feeds.new.fromPage;" 120 observes="multipleFeedsMenuState"> 121 <menupopup oncommand="ZoteroPane_Local.newFeedFromPage(event)" 122 onpopupshowing="FeedHandler.buildFeedList(event.target)"/> 123 </menu> 124 <menuitem id="zotero-tb-feed-add-fromOPML" label="&zotero.toolbar.feeds.new.fromOPML;" 125 oncommand="ZoteroPane_Local.importFeedsFromOPML()"/> 126 </menupopup> 127 </menu> 128 </menupopup> 129 </toolbarbutton> 130 <spacer id="zotero-tb-actions-menu-separator" flex="1" hidden="true"/> 131 <toolbarbutton id="zotero-tb-actions-menu" class="zotero-tb-button" tooltiptext="&zotero.toolbar.actions.label;" type="menu" hidden="true"> 132 <menupopup id="zotero-tb-actions-popup"> 133 <menuitem id="zotero-tb-actions-import" label="&zotero.toolbar.import.label;" command="cmd_zotero_import"/> 134 <menuitem id="zotero-tb-actions-import-clipboard" label="&zotero.toolbar.importFromClipboard;" command="cmd_zotero_importFromClipboard"/> 135 <menuitem id="zotero-tb-actions-export" label="&zotero.toolbar.export.label;" command="cmd_zotero_exportLibrary"/> 136 <menuitem id="zotero-tb-actions-rtfScan" label="&zotero.toolbar.rtfScan.label;" command="cmd_zotero_rtfScan"/> 137 <menuitem hidden="true" id="zotero-tb-actions-zeroconf-update" 138 label="Search for Shared Libraries" oncommand="Zotero.Zeroconf.findInstances()"/> 139 <menuseparator id="zotero-tb-actions-plugins-separator"/> 140 <menuitem id="zotero-tb-actions-timeline" label="&zotero.toolbar.timeline.label;" command="cmd_zotero_createTimeline"/> 141 <menuseparator id="zotero-tb-actions-separator"/> 142 <menuitem id="zotero-tb-actions-prefs" label="&zotero.toolbar.preferences.label;" 143 oncommand="ZoteroPane_Local.openPreferences()"/> 144 <menuitem id="zotero-tb-actions-reportErrors" command="cmd_zotero_reportErrors" disabled="true"/> 145 <menuitem id="zotero-tb-actions-support" label="&zotero.toolbar.supportAndDocumentation;" oncommand="ZoteroPane.loadURI('http://www.zotero.org/support/', {'metaKey':true, 'shiftKey':true})"/> 146 <menuitem id="zotero-tb-actions-about" label="&zotero.toolbar.about.label;" oncommand="ZoteroPane_Local.openAboutDialog()"/> 147 </menupopup> 148 </toolbarbutton> 149 </hbox> 150 151 <hbox id="zotero-items-toolbar" align="center"> 152 <toolbarbutton id="zotero-tb-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newItem.label;" type="menu"> 153 <menupopup onpopupshowing="ZoteroPane_Local.updateNewItemTypes()"> 154 <menuseparator/> 155 <menuitem label="&zotero.toolbar.attachment.linked;" oncommand="ZoteroPane_Local.addAttachmentFromDialog(true);" tooltiptext=""/> 156 <menuitem label="&zotero.toolbar.attachment.add;" oncommand="ZoteroPane_Local.addAttachmentFromDialog();" tooltiptext=""/> 157 <menuseparator/> 158 <menu label="&zotero.toolbar.moreItemTypes.label;" tooltiptext=""> 159 <menupopup id="zotero-tb-add-more" onpopupshowing="event.stopPropagation()"/> 160 </menu> 161 </menupopup> 162 </toolbarbutton> 163 164 <toolbarbutton id="zotero-tb-lookup" class="zotero-tb-button" tooltiptext="&zotero.toolbar.lookup.label;" type="panel" 165 onmousedown="Zotero_Lookup.showPanel(this)"/> 166 167 <panel id="zotero-lookup-panel" type="arrow" onpopupshown="Zotero_Lookup.onShowing(event)" 168 onpopuphidden="Zotero_Lookup.onHidden(event)"> 169 <vbox> 170 <description>&zotero.lookup.description;</description> 171 <vbox id="zotero-lookup-singleLine"> 172 <stack> 173 <progressmeter id="zotero-lookup-progress" mode="determined"/> 174 <textbox id="zotero-lookup-textbox" 175 onkeypress="return Zotero_Lookup.onKeyPress(event, this)" 176 oninput="Zotero_Lookup.onInput(event, this)" 177 flex="1" 178 newlines="pasteintact"/> 179 </stack> 180 </vbox> 181 <vbox id="zotero-lookup-multiline" collapsed="true"> 182 <textbox id="zotero-lookup-multiline-textbox" onkeypress="return Zotero_Lookup.onKeyPress(event, this)" multiline="true" rows="5" wrap="off" flex="1"/> 183 <hbox align="start" id="zotero-lookup-buttons" class="zotero-button-clear-image"> 184 <button label="&zotero.lookup.button.search;" align="start" oncommand="Zotero_Lookup.accept(document.getElementById('zotero-lookup-multiline-textbox'))"/> 185 <progressmeter id="zotero-lookup-multiline-progress" mode="determined" flex="1"/> 186 </hbox> 187 </vbox> 188 </vbox> 189 </panel> 190 191 <!--<toolbarbutton id="zotero-tb-note-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.note.standalone;" oncommand="ZoteroPane_Local.newNote(event.shiftKey);"/>--> 192 <toolbarbutton id="zotero-tb-note-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newNote;" type="menu"> 193 <menupopup onpopupshowing="ZoteroPane_Local.updateNoteButtonMenu()"> 194 <menuitem label="&zotero.toolbar.note.standalone;" command="cmd_zotero_newStandaloneNote"/> 195 <menuitem label="&zotero.toolbar.note.child;" command="cmd_zotero_newChildNote"/> 196 </menupopup> 197 </toolbarbutton> 198 <toolbarbutton id="zotero-tb-attachment-add" class="zotero-tb-button" tooltiptext="&zotero.items.menu.attach;" type="menu"> 199 <menupopup onpopupshowing="ZoteroPane_Local.updateAttachmentButtonMenu(this)"> 200 <menuitem class="menuitem-iconic zotero-menuitem-attachments-snapshot standalone-no-display" label="&zotero.items.menu.attach.snapshot;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromPage(false, itemID)"/> 201 <menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link standalone-no-display" label="&zotero.items.menu.attach.link;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromPage(true, itemID)"/> 202 <menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link.uri;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromURI(true, itemID);"/> 203 <menuitem class="menuitem-iconic zotero-menuitem-attachments-file" label="&zotero.items.menu.attach.file;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromDialog(false, itemID);"/> 204 <menuitem class="menuitem-iconic zotero-menuitem-attachments-link" label="&zotero.items.menu.attach.fileLink;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromDialog(true, itemID);" id="zotero-tb-attachment-add-file-link"/> 205 </menupopup> 206 </toolbarbutton> 207 <toolbarseparator/> 208 <toolbarbutton id="zotero-tb-advanced-search" class="zotero-tb-button" tooltiptext="&zotero.toolbar.advancedSearch;" command="cmd_zotero_advancedSearch"/> 209 <spacer flex="1"/> 210 <image id="zotero-tb-search-spinner" class="zotero-spinner-14" style="display: none"/> 211 <textbox id="zotero-tb-search" type="search" timeout="250" 212 onkeypress="ZoteroPane_Local.handleSearchKeypress(this, event)" 213 oninput="ZoteroPane_Local.handleSearchInput(this, event)" 214 oncommand="ZoteroPane_Local.search()"/> 215 </hbox> 216 217 <hbox id="zotero-item-toolbar" flex="1" align="center"> 218 <hbox align="center" pack="start" flex="1"> 219 <toolbarbutton id="zotero-tb-locate" class="zotero-tb-button" tooltiptext="&zotero.toolbar.openURL.label;" type="menu"> 220 <menupopup id="zotero-tb-locate-menu" onpopupshowing="Zotero_LocateMenu.buildLocateMenu()"/> 221 </toolbarbutton> 222 </hbox> 223 <hbox align="center" pack="end"> 224 <toolbarbutton id="zotero-tb-sync-stop" 225 tooltiptext="&zotero.sync.stop;" 226 oncommand="this.hidden = true; Zotero.Sync.Runner.stop()" 227 hidden="true"/> 228 <hbox id="zotero-tb-sync-progress-box" hidden="true" align="center"> 229 <!-- TODO: localize --> 230 <toolbarbutton id="zotero-tb-sync-storage-cancel" 231 tooltiptext="Stop sync" 232 oncommand="Zotero.Sync.Runner.stop()"/> 233 <progressmeter id="zotero-tb-sync-progress" mode="determined" 234 value="0" tooltip="zotero-tb-sync-progress-tooltip"> 235 </progressmeter> 236 <tooltip id="zotero-tb-sync-progress-tooltip" noautohide="true"> 237 <hbox id="zotero-tb-sync-progress-tooltip-progress"> 238 <label value="&zotero.sync.storage.progress;"/> 239 <label/> 240 </hbox> 241 <zoterofilesyncstatus id="zotero-tb-sync-progress-status"/> 242 </tooltip> 243 </hbox> 244 </hbox> 245 246 <toolbarbutton id="zotero-tb-recognize" hidden="true" 247 oncommand="Zotero_RecognizePDF_Dialog.open()"/> 248 249 <toolbarbutton id="zotero-tb-sync-error" hidden="true"/> 250 251 <!-- 252 We put this here, but it can be used wherever 253 Zotero.Sync.Runner.updateErrorPanel() puts it 254 --> 255 <panel id="zotero-sync-error-panel" type="arrow"/> 256 257 <toolbarbutton id="zotero-tb-sync" class="zotero-tb-button" tooltip="_child" 258 oncommand="Zotero.Sync.Server.canAutoResetClient = true; Zotero.Sync.Server.manualSyncRequired = false; Zotero.Sync.Runner.sync()"> 259 <tooltip 260 id="zotero-tb-sync-tooltip" 261 onpopupshowing="Zotero.Sync.Runner.registerSyncStatus(this)" 262 onpopuphiding="Zotero.Sync.Runner.registerSyncStatus()" 263 noautohide="true"> 264 <label id="zotero-tb-sync-label"/> 265 <label id="zotero-tb-sync-status" hidden="true"/> 266 <label id="zotero-tb-sync-last-sync"/> 267 </tooltip> 268 </toolbarbutton> 269 270 <toolbarbutton id="zotero-close-button" class="tabs-closebutton close-icon standalone-no-display" oncommand="ZoteroOverlay.toggleDisplay()"/> 271 </hbox> 272 </toolbar> 273 274 <popupset> 275 <menupopup id="zotero-collectionmenu" 276 oncommand="ZoteroPane.onCollectionContextMenuSelect(event)"> 277 <!-- Keep order in sync with buildCollectionContextMenu, which adds additional attributes --> 278 <menuitem class="zotero-menuitem-sync"/> 279 <menuseparator/> 280 <menuitem class="zotero-menuitem-new-collection" label="&zotero.toolbar.newCollection.label;"/> 281 <menuitem class="zotero-menuitem-new-saved-search" label="&zotero.toolbar.newSavedSearch.label;"/> 282 <menuitem class="zotero-menuitem-new-collection" label="&zotero.toolbar.newSubcollection.label;"/> 283 <menuitem class="zotero-menuitem-refresh-feed" label="&zotero.toolbar.feeds.refresh;"/> 284 <menuseparator/> 285 <menuitem class="zotero-menuitem-show-duplicates" label="&zotero.toolbar.duplicate.label;"/> 286 <menuitem class="zotero-menuitem-show-unfiled" label="&zotero.collections.showUnfiledItems;"/> 287 <menuitem class="zotero-menuitem-edit-collection"/> 288 <menuitem class="zotero-menuitem-mark-read-feed" label="&zotero.toolbar.markFeedRead.label;"/> 289 <menuitem class="zotero-menuitem-edit-feed" label="&zotero.toolbar.feeds.edit;"/> 290 <menuitem class="zotero-menuitem-delete-collection"/> 291 <menuitem class="zotero-menuitem-move-to-trash"/> 292 <menuseparator/> 293 <menuitem class="zotero-menuitem-export"/> 294 <menuitem class="zotero-menuitem-create-bibliography"/> 295 <menuitem class="zotero-menuitem-export" label="&zotero.toolbar.export.label;"/> 296 <menuitem class="zotero-menuitem-create-report"/> 297 <menuitem class="zotero-menuitem-delete-from-lib" label="&zotero.toolbar.emptyTrash.label;"/> 298 <menuitem class="zotero-menuitem-removeLibrary"/> 299 </menupopup> 300 <menupopup id="zotero-itemmenu"> 301 <!-- Keep order in sync with buildItemContextMenu --> 302 <menuitem class="menuitem-iconic zotero-menuitem-show-in-library" label="&zotero.items.menu.showInLibrary;" oncommand="ZoteroPane.selectItem(parseInt(this.parentNode.getAttribute('itemID')), true)"/> 303 <menuseparator/> 304 <!-- with icon: <menuitem class="menuitem-iconic" id="zotero-menuitem-note" label="&zotero.items.menu.attach.note;" oncommand="ZoteroPane_Local.newNote(false, this.parentNode.getAttribute('itemID'))"/>--> 305 <menuitem class="menuitem-iconic zotero-menuitem-attach-note" label="&zotero.items.menu.attach.note;" oncommand="ZoteroPane_Local.newNote(false, this.parentNode.getAttribute('itemKey'))"/> 306 <menu class="menu-iconic zotero-menuitem-attach" label="&zotero.items.menu.attach;"> 307 <menupopup id="zotero-add-attachment-popup"> 308 <menuitem class="menuitem-iconic zotero-menuitem-attachments-snapshot standalone-no-display" label="&zotero.items.menu.attach.snapshot;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromPage(false, itemID)"/> 309 <menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link standalone-no-display" label="&zotero.items.menu.attach.link;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromPage(true, itemID)"/> 310 <menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link.uri;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromURI(true, itemID);"/> 311 <menuitem class="menuitem-iconic zotero-menuitem-attachments-file" label="&zotero.items.menu.attach.file;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromDialog(false, itemID);"/> 312 <menuitem class="menuitem-iconic zotero-menuitem-attachments-link" label="&zotero.items.menu.attach.fileLink;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromDialog(true, itemID);"/> 313 </menupopup> 314 </menu> 315 <menuseparator/> 316 <menuitem class="menuitem-iconic zotero-menuitem-toggle-read-item" oncommand="ZoteroPane_Local.toggleSelectedItemsRead();"/> 317 <menuitem class="menuitem-iconic zotero-menuitem-duplicate-item" label="&zotero.items.menu.duplicateItem;" oncommand="ZoteroPane_Local.duplicateSelectedItem().done();"/> 318 <menuitem class="menuitem-iconic zotero-menuitem-remove-items" oncommand="ZoteroPane_Local.deleteSelectedItems();"/> 319 <menuitem class="menuitem-iconic zotero-menuitem-restore-to-library" label="&zotero.items.menu.restoreToLibrary;" oncommand="ZoteroPane_Local.restoreSelectedItems();"/> 320 <menuitem class="menuitem-iconic zotero-menuitem-move-to-trash" oncommand="ZoteroPane_Local.deleteSelectedItems(true, true);"/> 321 <menuitem class="menuitem-iconic zotero-menuitem-delete-from-lib" oncommand="ZoteroPane_Local.deleteSelectedItems(false, true)"/> 322 <menuitem class="menuitem-iconic zotero-menuitem-merge-items" label="&zotero.items.menu.mergeItems;" oncommand="ZoteroPane_Local.mergeSelectedItems();"/> 323 <menuseparator/> 324 <menuitem class="menuitem-iconic zotero-menuitem-export" oncommand="Zotero_File_Interface.exportItems();"/> 325 <menuitem class="menuitem-iconic zotero-menuitem-create-bibliography" oncommand="Zotero_File_Interface.bibliographyFromItems();"/> 326 <menuitem class="menuitem-iconic zotero-menuitem-create-report" oncommand="Zotero_Report_Interface.loadItemReport(event)"/> 327 <menuseparator/> 328 <menuitem class="menuitem-iconic zotero-menuitem-retrieve-metadata" oncommand="ZoteroPane.recognizeSelected();"/> 329 <menuitem class="menuitem-iconic zotero-menuitem-unrecognize" label="&zotero.items.menu.unrecognize;" oncommand="ZoteroPane.unrecognizeSelected()"/> 330 <menuitem class="menuitem-iconic zotero-menuitem-report-metadata" label="&zotero.items.menu.reportMetadata;" oncommand="ZoteroPane.reportMetadataForSelected()"/> 331 <menuitem class="menuitem-iconic zotero-menuitem-create-parent" oncommand="ZoteroPane_Local.createParentItemsFromSelected();"/> 332 <menuitem class="menuitem-iconic zotero-menuitem-rename-from-parent" oncommand="ZoteroPane_Local.renameSelectedAttachmentsFromParents()"/> 333 <menuitem class="menuitem-iconic zotero-menuitem-reindex" oncommand="ZoteroPane_Local.reindexItem();"/> 334 </menupopup> 335 </popupset> 336 337 338 <hbox id="zotero-trees" flex="1"> 339 <vbox id="zotero-collections-pane" zotero-persist="width"> 340 <!-- This is used for positioning the sync error icon panel 341 under specific tree cells, which don't exist as 342 elements on their own --> 343 <box id="zotero-collections-tree-shim"/> 344 <!-- This extra vbox prevents the toolbar from getting compressed when resizing 345 the tag selector to max height --> 346 <tree id="zotero-collections-tree" 347 hidecolumnpicker="true" 348 oncontextmenu="ZoteroPane.onCollectionsContextMenuOpen(event)" 349 onmouseover="ZoteroPane_Local.collectionsView.setHighlightedRows();" 350 onselect="ZoteroPane_Local.onCollectionSelected();" 351 seltype="cell" flex="1" editable="true"> 352 <treecols> 353 <treecol 354 id="zotero-collections-name-column" 355 flex="1" 356 primary="true" 357 hideheader="true"/> 358 </treecols> 359 <treechildren ondragstart="ZoteroPane_Local.collectionsView.onDragStart(event)" 360 ondragenter="return ZoteroPane_Local.collectionsView.onDragEnter(event)" 361 ondragover="return ZoteroPane_Local.collectionsView.onDragOver(event)" 362 ondrop="return ZoteroPane_Local.collectionsView.onDrop(event)"/> 363 </tree> 364 <splitter id="zotero-tags-splitter" onmouseup="ZoteroPane_Local.updateTagSelectorSize()" collapse="after" 365 zotero-persist="state"> 366 <grippy oncommand="ZoteroPane_Local.toggleTagSelector()"/> 367 </splitter> 368 <!-- 'collapsed' is no longer necessary here due to the persisted 'state' on 369 zotero-tags-splitter, but without this an old-style entry for 'collapsed' 370 in localstore.rdf can cause the pane to always be closed on Zotero open. 371 372 TODO: deal with this some other way? 373 --> 374 <zoterotagselector id="zotero-tag-selector" zotero-persist="height,collapsed,showAutomatic,filterToScope"/> 375 </vbox> 376 377 <splitter id="zotero-collections-splitter" resizebefore="closest" resizeafter="closest" collapse="before" 378 zotero-persist="state" 379 onmousemove="document.getElementById('zotero-items-toolbar').setAttribute('state', this.getAttribute('state'));ZoteroPane_Local.updateToolbarPosition();" 380 oncommand="ZoteroPane_Local.updateToolbarPosition()"> 381 <grippy id="zotero-collections-grippy"/> 382 </splitter> 383 384 <box id="zotero-layout-switcher" orient="horizontal" zotero-persist="orient" flex="1"> 385 <vbox id="zotero-items-pane" zotero-persist="width height" flex="1"> 386 <deck id="zotero-items-pane-content" selectedIndex="0" flex="1"> 387 <!-- Key navigation is handled by listener in itemTreeView.js --> 388 <tree 389 id="zotero-items-tree" 390 enableColumnDrag="true" 391 disableKeyNavigation="true" 392 onfocus="if (ZoteroPane_Local.itemsView.rowCount && !ZoteroPane_Local.itemsView.selection.count) { ZoteroPane_Local.itemsView.selection.select(0); }" 393 onkeydown="ZoteroPane_Local.handleKeyDown(event, this.id)" 394 onselect="ZoteroPane_Local.itemSelected(event)" 395 oncommand="ZoteroPane_Local.serializePersist()" 396 oncontextmenu="ZoteroPane.onItemsContextMenuOpen(event)" 397 flex="1" 398 hidden="true" 399 zotero-persist="current-view-group"> 400 <treecols id="zotero-items-columns-header"> 401 <treecol 402 id="zotero-items-column-title" primary="true" default-in="default feed" 403 label="&zotero.items.title_column;" ignoreincolumnpicker="true" 404 flex="4" zotero-persist="width ordinal hidden sortActive sortDirection"/> 405 <splitter class="tree-splitter"/> 406 <treecol 407 id="zotero-items-column-firstCreator" default-in="default feed" 408 label="&zotero.items.creator_column;" 409 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 410 <splitter class="tree-splitter"/> 411 <treecol 412 id="zotero-items-column-itemType" 413 label="&zotero.items.type_column;" 414 width="40" zotero-persist="width ordinal hidden sortActive sortDirection"/> 415 <splitter class="tree-splitter"/> 416 <treecol 417 id="zotero-items-column-date" default-in="feed" 418 label="&zotero.items.date_column;" 419 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 420 <splitter class="tree-splitter"/> 421 <treecol 422 id="zotero-items-column-year" disabled-in="feed" 423 label="&zotero.items.year_column;" 424 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 425 <splitter class="tree-splitter"/> 426 <treecol 427 id="zotero-items-column-publisher" 428 label="&zotero.items.publisher_column;" 429 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 430 <splitter class="tree-splitter"/> 431 <treecol 432 id="zotero-items-column-publicationTitle" disabled-in="feed" 433 label="&zotero.items.publication_column;" 434 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 435 <splitter class="tree-splitter"/> 436 <treecol 437 id="zotero-items-column-journalAbbreviation" disabled-in="feed" 438 submenu="true" 439 label="&zotero.items.journalAbbr_column;" 440 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 441 <splitter class="tree-splitter"/> 442 <treecol 443 id="zotero-items-column-language" 444 submenu="true" 445 label="&zotero.items.language_column;" 446 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 447 <splitter class="tree-splitter"/> 448 <treecol 449 id="zotero-items-column-accessDate" disabled-in="feed" 450 submenu="true" 451 label="&zotero.items.accessDate_column;" 452 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 453 <splitter class="tree-splitter"/> 454 <treecol 455 id="zotero-items-column-libraryCatalog" disabled-in="feed" 456 submenu="true" 457 label="&zotero.items.libraryCatalog_column;" 458 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 459 <splitter class="tree-splitter"/> 460 <treecol 461 id="zotero-items-column-callNumber" disabled-in="feed" 462 submenu="true" 463 label="&zotero.items.callNumber_column;" 464 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 465 <splitter class="tree-splitter"/> 466 <treecol 467 id="zotero-items-column-rights" 468 submenu="true" 469 label="&zotero.items.rights_column;" 470 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 471 <splitter class="tree-splitter"/> 472 <treecol 473 id="zotero-items-column-dateAdded" disabled-in="feed" 474 label="&zotero.items.dateAdded_column;" 475 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 476 <splitter class="tree-splitter"/> 477 <treecol 478 id="zotero-items-column-dateModified" disabled-in="feed" 479 label="&zotero.items.dateModified_column;" 480 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 481 <splitter class="tree-splitter"/> 482 <treecol 483 id="zotero-items-column-archive" disabled-in="feed" 484 submenu="true" 485 label="&zotero.items.archive_column;" 486 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 487 <splitter class="tree-splitter"/> 488 <treecol 489 id="zotero-items-column-archiveLocation" disabled-in="feed" 490 submenu="true" 491 label="&zotero.items.archiveLocation_column;" 492 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 493 <splitter class="tree-splitter"/> 494 <treecol 495 id="zotero-items-column-place" disabled-in="feed" 496 submenu="true" 497 label="&zotero.items.place_column;" 498 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 499 <splitter class="tree-splitter"/> 500 <treecol 501 id="zotero-items-column-volume" disabled-in="feed" 502 submenu="true" 503 label="&zotero.items.volume_column;" 504 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 505 <splitter class="tree-splitter"/> 506 <treecol 507 id="zotero-items-column-edition" disabled-in="feed" 508 submenu="true" 509 label="&zotero.items.edition_column;" 510 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 511 <splitter class="tree-splitter"/> 512 <treecol 513 id="zotero-items-column-pages" disabled-in="feed" 514 submenu="true" 515 label="&zotero.items.pages_column;" 516 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 517 <splitter class="tree-splitter"/> 518 <treecol 519 id="zotero-items-column-issue" disabled-in="feed" 520 submenu="true" 521 label="&zotero.items.issue_column;" 522 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 523 <splitter class="tree-splitter"/> 524 <treecol 525 id="zotero-items-column-series" disabled-in="feed" 526 submenu="true" 527 label="&zotero.items.series_column;" 528 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 529 <splitter class="tree-splitter"/> 530 <treecol 531 id="zotero-items-column-seriesTitle" disabled-in="feed" 532 submenu="true" 533 label="&zotero.items.seriesTitle_column;" 534 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 535 <splitter class="tree-splitter"/> 536 <treecol 537 id="zotero-items-column-court" disabled-in="feed" 538 submenu="true" 539 label="&zotero.items.court_column;" 540 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 541 <splitter class="tree-splitter"/> 542 <treecol 543 id="zotero-items-column-medium" disabled-in="feed" 544 submenu="true" 545 label="&zotero.items.medium_column;" 546 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 547 <splitter class="tree-splitter"/> 548 <treecol 549 id="zotero-items-column-genre" disabled-in="feed" 550 submenu="true" 551 label="&zotero.items.genre_column;" 552 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 553 <splitter class="tree-splitter"/> 554 <treecol 555 id="zotero-items-column-system" disabled-in="feed" 556 submenu="true" 557 label="&zotero.items.system_column;" 558 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 559 <splitter class="tree-splitter"/> 560 <treecol 561 id="zotero-items-column-extra" disabled-in="feed" 562 label="&zotero.items.extra_column;" 563 flex="1" zotero-persist="width ordinal hidden sortActive sortDirection"/> 564 <splitter class="tree-splitter"/> 565 <treecol 566 id="zotero-items-column-hasAttachment" default-in="default" disabled-in="feed" 567 class="treecol-image" 568 label="&zotero.tabs.attachments.label;" 569 fixed="true" 570 zotero-persist="ordinal hidden sortActive sortDirection"/> 571 <splitter class="tree-splitter"/> 572 <treecol 573 id="zotero-items-column-numNotes" disabled-in="feed" 574 class="treecol-image" 575 label="&zotero.tabs.notes.label;" 576 zotero-persist="width ordinal hidden sortActive sortDirection"/> 577 </treecols> 578 <treechildren ondragstart="ZoteroPane_Local.itemsView.onDragStart(event)" 579 ondragenter="return ZoteroPane_Local.itemsView.onDragEnter(event)" 580 ondragover="return ZoteroPane_Local.itemsView.onDragOver(event)" 581 ondrop="return ZoteroPane_Local.itemsView.onDrop(event)" 582 ondragend="ZoteroPane_Local.itemsView.onDragEnd(event)"/> 583 </tree> 584 585 <!-- Label for displaying messages when items pane is hidden 586 (e.g. "Advanced search mode — press Enter to search.")--> 587 <vbox id="zotero-items-pane-message-box" pack="center" align="center" 588 ondragenter="return ZoteroPane.itemsView.onDragEnter(event)" 589 ondragover="return ZoteroPane.itemsView.onDragOver(event)" 590 ondrop="ZoteroPane.itemsView.onDrop(event); ZoteroPane.itemsView.drop(-1, -1, event.dataTransfer)"/> 591 </deck> 592 </vbox> 593 594 <splitter id="zotero-items-splitter" resizebefore="closest" resizeafter="closest" collapse="after" orient="horizontal" zotero-persist="state orient" 595 onmousemove="ZoteroPane_Local.updateToolbarPosition()" 596 oncommand="ZoteroPane_Local.updateToolbarPosition()"> 597 <grippy id="zotero-items-grippy"/> 598 </splitter> 599 600 <!-- itemPane.xul --> 601 <vbox id="zotero-item-pane"/> 602 </box> 603 </hbox> 604 </vbox> 605 606 <!-- Barrier to prevent tabbing into Zotero pane when busy --> 607 <box id="zotero-pane-tab-catcher-bottom" hidden="true" align="center" pack="center" style="opacity: 0"> 608 <checkbox/> 609 </box> 610 611 <stack id="zotero-pane-overlay" flex="1" hidden="true"> 612 <box style="background: black; opacity: .3" flex="1"/> 613 614 <deck id="zotero-pane-overlay-deck" flex="1"> 615 <box id="zotero-pane-progress" flex="1" align="center" pack="center"> 616 <box style="background: white; border-radius: 1px; box-shadow: gray 4px 6px 4px;" width="300" height="30"> 617 <vbox id="zotero-pane-progressmeter-container" style="padding:10px" flex="1"> 618 <label id="zotero-pane-progress-label"/> 619 <!-- See note in Zotero.showZoteroPaneProgressMeter() 620 <progressmeter id="zotero-pane-progressmeter" mode="undetermined"/> --> 621 </vbox> 622 </box> 623 </box> 624 </deck> 625 </stack> 626 627 </stack> 628 </overlay>