Commit graph

9214 commits

Author SHA1 Message Date
Dan Stillman
4dbd52782c Better fixing of tab-title logic
Follow-up to 3eef4284d1, which wasn't totally correct, and adds the
attachment title before the parent metadata for secondary attachments.

https://forums.zotero.org/discussion/comment/441362/#Comment_441362
2023-08-19 04:51:04 -04:00
Dan Stillman
3eef4284d1 Fix "Filename" tab title option
https://forums.zotero.org/discussion/comment/441259/#Comment_441259
2023-08-19 04:00:49 -04:00
Martynas Bagdonas
b05ef8ed04 Properly focus reader iframe when opening a new reader instance 2023-08-18 18:33:52 +02:00
Abe Jellinek
17daf9fe8d Fix EPUB attachments with wrong MIME type on view
Fixes #3320
2023-08-15 17:54:37 -04:00
Abe Jellinek
7b26dab2f2 Show spread mode menu items in EPUB reader
Fixes #3318 (only odd spreads supported right now because of CSS grid
limitations)
2023-08-15 17:54:36 -04:00
Northword
dcca56d6c3
preferenceOptions.helpurl should be string instead string[] (#3310) 2023-08-11 07:13:58 -04:00
Dan Stillman
9dd182e9ca Collection tree selection fixes
Fixes various logic around what gets selected when collections and
searches are moved to or restored from the trash (which has never been
exposed) or when they're erased
2023-08-11 04:16:42 -04:00
Dan Stillman
c4eb9df716 Update utilities submodule 2023-08-09 18:09:03 -04:00
Dan Stillman
5e27a75010 Switch to better sentence-caser from zotero/utilities#26
Closes #293
2023-08-09 07:51:16 -04:00
Martynas Bagdonas
879109336a Rename pdf-reader paths to reader 2023-08-08 11:28:00 +03:00
Martynas Bagdonas
07e4d68760 Suppress noisy "dead object" error after each click inside reader tab 2023-08-07 16:07:56 -04:00
Dan Stillman
7e481e3e5f Move Language to the bottom of the General prefpane 2023-08-07 16:07:55 -04:00
Dan Stillman
38b9457ea9 Move new string to Fluent 2023-08-07 16:07:55 -04:00
Dan Stillman
caee5f29ca Update reader prefs
- Move open-in prefs into reader prefs
- Move reader prefs up below File Handling
- Move new strings to Fluent
- Fix clicking on labels to focus open-in drop-downs
- Tweak text
2023-08-07 16:07:55 -04:00
Abe Jellinek
deb6acaab1 Add preferences for ebook & snapshot file handling 2023-08-07 16:07:55 -04:00
Abe Jellinek
2ef560f7d8 Extract ISBNs and DOIs from EPUB content (#64)
And move EPUB functionality to class.
2023-08-07 16:07:55 -04:00
Abe Jellinek
cab0fa93e7 Extend Retrieve Metadata to support EPUBs (#57) 2023-08-07 16:07:55 -04:00
Martynas Bagdonas
80da0fbb56 Remove the unnecessary buf to Uint8Array conversion 2023-08-07 16:07:55 -04:00
Abe Jellinek
b0b11cfcf5 Use data option to initialize reader 2023-08-07 16:07:55 -04:00
Martynas Bagdonas
e031509966 Fix Reader 2.0 merge caused regressions 2023-08-07 16:07:55 -04:00
Martynas Bagdonas
c62ed29de9 Fix text annotation dragging error 2023-08-07 16:07:55 -04:00
Martynas Bagdonas
f18411c151 Properly trigger annotation position split if server says it's too long 2023-08-07 16:07:54 -04:00
Martynas Bagdonas
12fde2dd4a Fix reader error handling and properly display critical errors 2023-08-07 16:07:54 -04:00
Martynas Bagdonas
46d066394f Temporary fix for tab crashes caused by tab loading racing conditions 2023-08-07 16:07:54 -04:00
Martynas Bagdonas
7e28973f3a Fix reader focusing 2023-08-07 16:07:54 -04:00
Abe Jellinek
b408b43394 Support pre-SingleFile snapshots 2023-08-07 16:07:54 -04:00
Martynas Bagdonas
3c08604770 Fix PDF file printing 2023-08-07 16:07:54 -04:00
Martynas Bagdonas
17deb16779 Add partial underline annotation support for note-editor
(changes to note-editor have to be merged to have full support)
2023-08-07 16:07:54 -04:00
Abe Jellinek
e199f35006 Fix _getColorIcon(), update stroke color, use for selected menuitems
- Need to set width/height for macOS native menu
- CSS named grays are too light to show well on the background, so use #555
- type="checkbox" menuitems don't show their icons, so use the icon stroke
  instead
2023-08-07 16:07:54 -04:00
Abe Jellinek
3443d065a3 Use native context menus on macOS 2023-08-07 16:07:53 -04:00
Abe Jellinek
1740e5f1aa Call uninit() in close()
This properly unregisters pref observers and flushes the reader's state.
2023-08-07 16:07:53 -04:00
Abe Jellinek
0ee54b4a7e Use IOUtils instead of OS.File 2023-08-07 16:07:53 -04:00
Abe Jellinek
bdb444371f Debounce writing EPUB/snapshot state to disk 2023-08-07 16:07:53 -04:00
Abe Jellinek
6a4715c324 Enable "Add Note from Annotations" for EPUBs and snapshots 2023-08-07 16:07:53 -04:00
Abe Jellinek
db6ff88ad1 Add full-text indexer for EPUBs 2023-08-07 16:07:53 -04:00
Martynas Bagdonas
e8c5c22d05 Fix pdf-worker CMaps and standard fonts paths 2023-08-07 16:07:53 -04:00
Martynas Bagdonas
7fa05bc463 Properly handle reader window closing 2023-08-07 16:07:53 -04:00
Martynas Bagdonas
9d2d655039 Avoid memory leaks caused by never removed event listeners 2023-08-07 16:07:53 -04:00
Abe Jellinek
7791779289 Fix unloaded tab context menu actions
Show in Library and Move to New Window.

Will fix zotero/zotero#2685
2023-08-07 16:07:53 -04:00
Abe Jellinek
a729297f6b Add menu items to switch EPUB flow modes (paginated/scrolled) 2023-08-07 16:07:52 -04:00
Abe Jellinek
61f21f48e8 Fix browser-custom-element.js event handler error
Send real mouse/pointer events so that the CE can call, e.g.,
preventClickEvent().
2023-08-07 16:07:52 -04:00
Abe Jellinek
ba1b1b0639 Add EPUB format to Zotero.MIME 2023-08-07 16:07:52 -04:00
Abe Jellinek
1d89360765 Persist snapshot scroll position 2023-08-07 16:07:52 -04:00
Abe Jellinek
60f8d11c2d Persist EPUB CFI with setAttachmentLastPageIndex() 2023-08-07 16:07:52 -04:00
Martynas Bagdonas
3105bb9ff3 Fix add to note 2023-08-07 16:07:52 -04:00
Martynas Bagdonas
110f29b766 Save reader state into .zotero-reader-state file 2023-08-07 16:07:52 -04:00
Martynas Bagdonas
572cd3655e Fix reader context menu positioning in RTL mode 2023-08-07 16:07:51 -04:00
Abe Jellinek
f5381403c0 Add ebook font to preferences
Choose from a list of preset font stacks, or any font on your system.
2023-08-07 16:07:51 -04:00
Abe Jellinek
378277206a Add Reset Zoom to EPUB/snapshot reader View menu 2023-08-07 16:07:51 -04:00
Abe Jellinek
3be3d8ebef Zotero.Items: Support EPUB and snapshot annotations 2023-08-07 16:07:51 -04:00
Martynas Bagdonas
681cdd809f Reader 2.0 2023-08-07 16:07:51 -04:00
Tom Najdek
19382a061f
Remove unnecessary code in getFileBaseNameFromItem 2023-08-07 17:03:27 +02:00
Dan Stillman
4e3977e9ce Update file-renaming prefs (#3228)
- Move file-renaming prefs to separate prefs section
- Fix template preview not updating on paste
- Update documentation URL
- Tweak text, styling, and ids
- Change "Automatically rename attachment files using parent metadata"
  to "Automatically rename locally added files" to reflect that
  downloaded files are always renamed, and add an intro saying so
2023-08-06 17:50:13 -04:00
Tom Najdek
d32b061c95 Add UI for editing attachment rename format pref (#3228) 2023-08-06 17:48:56 -04:00
Dan Stillman
af91173734 Look up PubMed IDs in batches of 200
https://forums.zotero.org/discussion/comment/440245/#Comment_440245
2023-08-05 00:01:55 -04:00
Dan Stillman
fcc68d6d80 Serialize lookup requests
These were switched to parallel in 86b77cc45, resulting in blocks:

https://forums.zotero.org/discussion/106658/limited-amount-of-articles-that-can-be-added-through-pmid
2023-08-04 23:21:35 -04:00
Abe Jellinek
251da0a148 Add SCSS styles to note.xhtml
Fixes #3193
2023-08-04 10:08:30 -04:00
Dan Stillman
3a43a98f10 Add IOUtils and PathUtils to plugin sandbox 2023-08-04 06:18:52 -04:00
Dan Stillman
9b0ce9558c
attachmentRenameFormatStringattachmentRenameTemplate (#3249) 2023-08-04 05:58:15 -04:00
windingwind
e44e3edef9
Fix itemBox.js eslint errors (#3244) 2023-08-04 04:15:08 -04:00
Dan Stillman
07309d7c25
Add Zotero.getMainWindows() 2023-08-03 05:11:26 -04:00
windingwind
1ca34261d3 Update ItemTreeManager.unregisterColumns example 2023-08-03 11:08:55 +08:00
Dan Stillman
fb4f55e809 Restore Word → LibreOffice order in Cite prefpane 2023-08-02 06:36:38 -04:00
Adomas Venčkauskas
b261d10b89 Fix Return not accepting citation dialog after pasting. Closes #3240 2023-08-01 09:47:42 +03:00
Adomas Venčkauskas
4b16269b7f Prefs: Add an event on pane switch
Fixes an issue with incomplete Style Manager tree rendering when
switching panes. Closes #3239
2023-08-01 09:18:30 +03:00
windingwind
836c8718b0 Fix itemTreeManager typo 2023-07-31 21:48:20 +08:00
windingwind
76c1db33e9 Fix itemTreeManager typo 2023-07-31 21:47:38 +08:00
Abe Jellinek
345bbcf50c Scaffold: Prompt to save before resetting
Now that Scaffold remembers and automatically loads the last edited translator
(65048fd624), it needs to be easier to create a
new translator without saving (and bumping the lastModified date on) the
translator you had open.
2023-07-31 09:44:20 -04:00
windingwind
ef7916b320
Add main window hooks for plugins (#3238) 2023-07-31 05:09:33 -04:00
Abe Jellinek
6dcc70f531 Zotero.PreferencePanes.register: Set default values for scripts/stylesheets
Without this, the calls to .map() below throw when one or both of those options
aren't set.
2023-07-29 22:28:10 -04:00
Abe Jellinek
8a7f3645bc
Item box: Add DOI menu listeners once, disable when DOI is invalid (#3237)
Fixes #3221

Co-authored-by: Dan Stillman <dstillman@zotero.org>
2023-07-29 04:25:34 -04:00
Dan Stillman
02198b12fe Fix dragging to My Publications
Also:

  - Don't show file options if only linked files
  - Don't set Rights field to "All Rights Reserved" if no files
2023-07-29 02:22:20 -04:00
Abe Jellinek
cbece42fb9 Fix merge pane overflow behavior
The item box CE can't be the scroll container, so it needs a wrapper element.

Fixes #3233
2023-07-28 15:06:02 -04:00
Abe Jellinek
7036073ed1
Resolve plugin-provided URIs relative to rootURI (#3235) 2023-07-28 00:16:58 -04:00
Abe Jellinek
e271b4e494 copyToUnique: Fail if source contains destination
To prevent unbounded recursion as in 16547f64c2.
2023-07-27 12:24:51 -04:00
Abe Jellinek
16547f64c2 renameAttachmentFile: Check rename() return value
And actually return -1 if it returns false.

Before this fix, attempting to rename an attachment file to a name that already
exists on disk would never return -1 as the docs say it should. Instead:

1. rename() would fail and return false
2. newName would be set to false
3. renameAttachmentFile() would pass false as the second argument to
   OS.Path.join()
4. OS.Path.join() would ignore it because it was falsy and return the attachment
   directory path without any modification
5. relinkAttachmentFile() would be called with path set to the attachment
   directory
6. relinkAttachmentFile() would notice that path's dirname wasn't the attachment
   directory - it was the attachment directory's parent - and attempt to copy it
   and its contents, recursively, into itself, using copyToFollowingLinks()

...which created a directory structure on disk over 100 directories deep -
not deeper only because the OS started returning errors due to paths exceeding
32,767 characters (the limit on my filesystem).
2023-07-27 12:24:32 -04:00
Dan Stillman
00683732d8 Make XMLSerializer available in plugins
https://groups.google.com/g/zotero-dev/c/ZKoDSBniSXs/m/VDhPpjNqAAAJ
2023-07-26 23:01:23 -04:00
Dan Stillman
0d70925816 Fix error loading plugin scope after 6a2fcd6898
`AddonManager.getActiveAddons(["extension"])` doesn't return fully
loaded addon objects if `getAllAddons()` hasn't been called
2023-07-26 23:01:17 -04:00
Dan Stillman
6a2fcd6898 Remove loadExtensionDefaults() in prefs.js
We now handle this in prefs.js.
2023-07-26 07:25:21 -04:00
Dan Stillman
a1f49e11d5 Fix low-res webpage icon 2023-07-25 07:35:03 -04:00
Adomas Venčkauskas
d96afa4499 Fix split-menu-button dropmarker triggering the button click event
Regression in fa31956d
2023-07-25 14:23:34 +03:00
Dan Stillman
630c6d0d97 Fix tags not being saved in item tags box when pressing Enter
SyntaxError: Element.querySelector: '[ztabindex=1]' is not a valid selector

https://forums.zotero.org/discussion/106405/zotero-7-changes-to-item-tag-do-not-persist
2023-07-25 05:51:41 -04:00
Dan Stillman
fb59345637 Fix "Check for Update" buttons in error dialogs
Fixes #3213
2023-07-25 01:53:22 -04:00
Dan Stillman
ed2cae9236 Adjust attachment-title handling on Rename File from Parent Metadata
Don't change the attachment title on a manual rename from metadata if it
doesn't match the current filename, with or without the extension

Closes #3220
2023-07-25 01:48:23 -04:00
windingwind
c89590c7b7
Add ItemTree column API (#3186) 2023-07-25 00:47:12 -04:00
Abe Jellinek
676f820f87
Strip bidi control characters in filenames and elsewhere (#3208)
Passing unformatted = true to Item#getField() now returns a bidi control
character-less result, and we use that in Reader#updateTitle() and
getFileBaseNameFromItem() to prevent bidi control characters from showing up in
filenames and window titles (the former everywhere, the latter on Windows only).

We also strip bidi control characters in getValidFileName() to be extra safe.
2023-07-22 03:30:28 -04:00
Abe Jellinek
1217710234 PDFWorker manager: OS.File -> IOUtils 2023-07-21 18:36:38 +03:00
Abe Jellinek
5aaf368149 Use pdf-worker for hasEmbeddedAnnotations() 2023-07-21 18:36:38 +03:00
Dan Stillman
2fad3d89ff Use getDisplayTitle() for titles in timelines
https://forums.zotero.org/discussion/106290/zotero-timeline-does-not-display-email-subject
2023-07-21 06:23:02 -04:00
windingwind
97235d2dea
Fix selectitems.xhtml persist bug (#3219)
See https://groups.google.com/g/zotero-dev/c/OscDKuO9Rao
2023-07-21 04:43:52 -04:00
Tom Najdek
0ba766f2e0
Customizable renaming rules #1413 (#2297) 2023-07-20 06:50:34 -04:00
Dan Stillman
96e2510165 Fix missing return in previous commit 2023-07-20 06:42:32 -04:00
Dan Stillman
590460cea4 Add Zotero.Prefs.prefHasUserValue(pref, global) 2023-07-20 06:41:23 -04:00
Dan Stillman
51c70eb925 Use system temp directory by default
Might help for something like
https://forums.zotero.org/discussion/106337/zotero-7-sync-error
2023-07-20 05:43:39 -04:00
Adomas Venčkauskas
75c46e1e5c Enable FAYT in document preferences. Closes #3214 2023-07-20 11:10:14 +03:00
Adomas Venčkauskas
1b30c8b2b5 Add a comment for bib style caching. Closes #3211 2023-07-18 10:58:12 +03:00
Adomas Venčkauskas
f61826281b Revert "Merge pull request #3195 from CommonLoon102/cl102/fix-bib-indent"
This reverts commit aca86967bf, reversing
changes made to 1a850d58c4.
2023-07-18 10:55:14 +03:00
abaevbog
9599d1712c
disable file > close for library if 1+ tabs open (#3210)
When there are multiple tabs opened, menuitem File > Close is disabled for the library tab.

Fixes: #3198
2023-07-18 03:40:19 -04:00
Martynas Bagdonas
e37eaac8d1 Fix panes overflowing in stacked view mode
Fixes #3180
2023-07-17 17:07:38 +03:00
Dan Stillman
c425f71ac4 fx-compat: Fix error passing cookieSandbox to Zotero.HTTP.request()
https://groups.google.com/g/zotero-dev/c/UgP_kZvrEjA/m/KjimYREGAgAJ

getInterface() seems to exist on XHR and nsIWBP without QIing to
nsIInterfaceRequestor, and XHR no longer has QueryInterface().
2023-07-17 06:42:14 -04:00