Commit graph

11518 commits

Author SHA1 Message Date
Abe Jellinek
2d32efbccd
Apply tag text color to ellipsis (#4536) 2024-08-08 22:54:10 -04:00
Dan Stillman
9dd3807683 Wider icon for creator-field-mode button (#4535) 2024-08-08 22:50:47 -04:00
Bogdan Abaev
7450622047 itembox: switch creator mode button (#4535)
- added button to switch mode to creator rows
- removed that option from options menu
- extra tweak to avoid cursor flickering during re-render after
clicking on the button
- increased itemPane min-width to 320px

Fixes: #3959
2024-08-08 22:50:26 -04:00
Tom Najdek
19dad92b92
No longer create <browser> instance for each AbstractBox. Fix #4530 (#4532) 2024-08-08 17:54:17 -04:00
abaevbog
4c32317ba4
Quick Format: Prevent CSS override of background color (#4525)
Followup to 55017926b5
2024-08-08 01:39:18 -04:00
abaevbog
35da1187b3
prefs: fix text-link not clicking on space/enter (#4522)
Fix regression after 117197e11d
where space or enter would not trigger a click on
link outside of the main window.

".keyboard-clickable" is handled by listener in ZoteroPane,
so links outside of it (e.g. preferences) are not affected by it.
For now, just explicitly handle "keypress" event by the
zotero-text-link component.

Also, added a focus-ring around the link so it is visible
when it is focused.

Fixes: #4521
2024-08-08 00:24:19 -04:00
Abe Jellinek
531f55120c
Feed settings: Make disclosure triangle focusable, extract SCSS (#4513)
- <hbox> -> <button>, <toolbarbutton> -> <dropmarker>
- Extract styles to SCSS and use focus-ring mixin

Fixes #4512
2024-08-08 00:22:09 -04:00
Dan Stillman
d869d7898e Update locales from Transifex 2024-08-07 03:38:14 -04:00
abaevbog
b72bcc3118
tagsbox: focus new tag row on shift-enter (#4514)
On shift-Enter from any tag, add a new empty tag at the
bottom and focus it. Alternative to tabbing to + button
and clicking it.

Fixes: #4394
2024-08-07 03:03:38 -04:00
Abe Jellinek
206496332d EPUB recognition: Fix DOI search results being thrown away
https://forums.zotero.org/discussion/116524/epub-articles-and-books-not-getting-metadata-like-pdfs
2024-08-06 11:07:29 -04:00
Abe Jellinek
c1f681a228 EPUB indexing: Skip if textMaxLength is 0
Like we do for PDFs already.
2024-08-06 11:07:27 -04:00
Dan Stillman
151218e4de Update locales from Transifex 2024-08-06 02:25:39 -04:00
Adomas Venčkauskas
46813ff9ed Fix citation upgrade code from Zotero 6.0
Report https://forums.zotero.org/discussion/116459/z-beta-the-zotero-field-code-corresponding-to-this-citation-has-been-corrupted
2024-08-06 08:48:46 +03:00
abaevbog
0352fa35b4
OpenURL resolver pref: Fix glitchy drop-down keyboard navigation (#4506)
- minor refactoring to avoid deleting the first ("Custom") menuitem
of the resolver menulist. It is the first item that is selected when
popup opens and deleting it confuses keyboard navigation, so that
arrowDown/Up won't navigate the menu (unless the menu is hovered
over with a mouse)
- explicitly re-select the first item when the menulist closes.
Otherwise, in case of having navigated the menus with arrows
without changing selection and closing the popup, next time
resolver selector appears, arrowUp/Down will not navigate the list.
Only occurs on Windows.
- clear the resolver menus (except for the 1st item) when the popup closes
so that arrowUp/Down on focused dropdown don't select invalid
top-level menus (e.g. "North America").
- make sure that if the URL has been edited, the resolver dropdown's
value will switch to "Custom" even if the resolvers were not loaded

fixes: #4491
2024-08-06 01:31:47 -04:00
Dan Stillman
802210a6bc Quick Format: Use 450px for max-width 2024-08-06 01:21:56 -04:00
Bogdan Abaev
d446fc3c6f Quick Format: wrap description text of citation properties
- set max-width on the actual citation properties popup
- refactor _buildItemDescription to construct item description
as an array of spans, instead of labels, so that the
text can properly wrap.
2024-08-06 01:21:52 -04:00
Abe Jellinek
36e499c259
ExternalLinkHandler actor: Open some links internally, incl. styles (#4505) 2024-08-06 01:12:41 -04:00
windingwind
129938c8fe
Fix quick search styling (#4501)
fix: #4497
fix: #4498
2024-08-05 05:01:59 -04:00
abaevbog
c5027106c2
fix keyboard focus not landing on feeds itemTree (#4495)
Do not use specific "#item-tree-main-default" selector to
find the itemTree node to focus since a different id
can be set for the table, e.g for the list of feeds.

Use a more general "zotero-items-tree .virtualized-table"
selector to focus the itemTree on tab from quickSearch
and on Escape keypress from an editable-text of itemPane.

Fixes: #4494
2024-08-05 00:39:39 -04:00
Dan Stillman
256efd3195 Update utilities submodule
For zotero/utilities#28
2024-08-05 00:28:42 -04:00
Dan Stillman
e307b5e4d8 Update English strings for Transifex 2024-08-04 08:35:26 -04:00
Dan Stillman
4e889934b9 Use 28px tree row height in Comfortable mode at default font size
In line with design
2024-08-04 08:34:39 -04:00
Dan Stillman
71d2cbd66a Clarify 32-bit upgrade message 2024-08-04 08:33:31 -04:00
Dan Stillman
17c0aa9ef3 Update locales from Transifex 2024-08-03 02:19:09 -04:00
Dan Stillman
833b85d33a Use 22px tree row height in Compact mode at default font size
In line with design

Tested on macOS and Windows
2024-08-03 02:08:17 -04:00
Abe Jellinek
30cb2e1721
Retrieve Metadata & Create Parent: Use autoRenameFiles.fileTypes (#4488) 2024-08-03 01:30:07 -04:00
Abe Jellinek
8209ee6279
File Renaming: Rearrange prefs (#4487) 2024-08-03 01:28:28 -04:00
Kassian Sun
aa19153ebc
Setting - Feeds fix misaligned unread/read cleanup option (#4489) 2024-08-03 00:27:30 -04:00
Abe Jellinek
11a5853657
Auto-rename file and set automatic title after Create Parent Item (#4474) 2024-08-02 02:44:41 -04:00
Abe Jellinek
e40cf686bc Remove duplicate CSS rule 2024-08-02 02:01:34 -04:00
Abe Jellinek
56bcd8e69c lookup.js: Code style fixes
Should look into updating our ESLint config so it doesn't yell so much
about multiline comments at the beginning of blocks.
2024-08-02 02:01:34 -04:00
Abe Jellinek
1ca243fa8c Add by Identifier: Fix popup positioning 2024-08-02 02:01:34 -04:00
Abe Jellinek
6cb6dd3bb5 File renaming: Fix empty value being added when all types are disabled
And filter out empty values in isRenameAllowedForType() in order to
handle bad pref values set before this commit.

Follow-up to aab90527ec
2024-08-01 10:30:21 -04:00
Abe Jellinek
aab90527ec isRenameAllowedForType(): Handle empty autoRenameFiles.fileTypes
Previously, an empty value for the pref would be treated as matching
*every* MIME type, because s.startsWith('') is true for any string. That
meant that unchecking all the file type checkboxes would actually enable
renaming for all files.
2024-08-01 10:21:18 -04:00
Martynas Bagdonas
61d6ef8d3d Fix context pane leak keeping reader and note-editor iframes in memory
Fixes #4447
2024-08-01 16:04:15 +03:00
windingwind
9a9f11c5e3
Fix attachment annotation box render on non-PDF items (#4478) 2024-08-01 01:45:03 -04:00
Tom Najdek
7c3d04e03a
Warn users running non-ARM version on ARM CPU (#4473) 2024-08-01 01:22:03 -04:00
Abe Jellinek
41fe1e4aea
Create Parent Item: Only call ReactDOM.createRoot() once (#4472)
Also applied to Zotero.AnnotationBox
2024-08-01 00:44:34 -04:00
Abe Jellinek
255de649ca
Autofocus input in Create Parent Item dialog (#4476) 2024-08-01 00:28:53 -04:00
Dan Stillman
93c4fd346f Update locales from Transifex
And fix some whitespace issues
2024-07-31 03:32:47 -04:00
windingwind
ed983484d1
Fix note editor tooltip (#4436) 2024-07-31 03:19:26 -04:00
Dan Stillman
072cf33de2 Update locales from Transifex 2024-07-31 03:18:45 -04:00
Dan Stillman
3d85eb663c Merge new English strings 2024-07-31 03:18:45 -04:00
Dan Stillman
fd232e8ac5 Update reader submodule and add new reader strings 2024-07-31 03:18:45 -04:00
Abe Jellinek
dd1601793c
Don't set default attachment title if not renaming file (#4459)
Except from Rename File from Parent Metadata.
2024-07-31 01:39:25 -04:00
windingwind
06f359df23 Fix merge window style (#4430) 2024-07-31 01:37:37 -04:00
windingwind
99a2b83cb6 Fix CR attachment box (#4430) 2024-07-31 01:37:31 -04:00
Abe Jellinek
fbcadd06ba Update progress queue dialog styles (#4464) 2024-07-31 01:35:43 -04:00
windingwind
c7757131a6
Fix Prefs window style on Windows (#4465) 2024-07-31 01:28:05 -04:00
windingwind
6530ccd101
Fix Zotero.Item.fileExists calling on unsaved item (#4468) 2024-07-31 01:19:31 -04:00
Tom Najdek
a538a5588e
Reset file renaming preference if input left empty (#4462) 2024-07-30 23:08:41 +02:00
Dan Stillman
80cc971251 Merge new English strings 2024-07-28 03:34:25 -04:00
Dan Stillman
ba7ab0c262 Update English strings for Transifex 2024-07-28 03:31:17 -04:00
Dan Stillman
8df6661f7e Tweak RTF Scan intro text 2024-07-28 03:30:23 -04:00
Abe Jellinek
9d8845b961 Locate manager: Fix button spacing (#3807) 2024-07-28 03:26:39 -04:00
Abe Jellinek
10c3459a70 Preferences: Make macOS help button smaller (#3807) 2024-07-28 03:26:31 -04:00
Abe Jellinek
3d0014f258 Preferences: Fix styling a bit (#3807)
- Don't import global Zotero SCSS
   - I think this was always a mistake - preferences have their own
     root SCSS file (preferences.scss) and don't need zotero.scss
- Don't add margins on radio or button labels
   - Like above - I don't think this was correct even before the latest
     button style tweaks!
- Don't add global margins
   - Otherwise we start an arms race with all the other elements in the
     pane - anything without a margin-inline-start will look like it's
     sticking out to the left. Apply specific margins instead.
2024-07-28 03:26:28 -04:00
Abe Jellinek
5f717d3bde Show first-run banner on upgrade (#3807) 2024-07-28 03:26:12 -04:00
abaevbog
1cdb364361
Fix first row of itemTree not getting announced (#4448)
Tweak to the conditional to check if something is focused
via selection.count (instead of selection.focused which
defaults to 0 and fails on the first focused item).

Post: 40fd5efe05.

Fixes: #4444
2024-07-28 02:59:01 -04:00
Tom Najdek
00ae8bb9b2 Add more features to the file renaming functionality (#4424)
* New `attachmentTitle` field, returns the title of the current attachment (or
  the future title of the attachment being created)
* New function `match` to enable testing values with a regex.
* New function `start` to enable truncating from the beginning.
* Ignore new line characters in the template for easier editing.
* Avoid repeated characters when changing case (snake/dash)
* Increase the size of the template input field.

Closes #3252
2024-07-28 02:57:14 -04:00
Grace Dinh
29f4aece24 Add regex replace feature for file renaming (#3562) 2024-07-28 02:56:19 -04:00
Abe Jellinek
4187819cd1
File renaming: Match content type prefixes, add UI (#4431) 2024-07-27 03:01:43 -04:00
Abe Jellinek
4653059536
Select Items dialog: Change accept button label to Select (#4441) 2024-07-27 02:49:22 -04:00
abaevbog
8b67fbcdce
Select Items Dialog: restore tab order (#4442)
After redesign, tab order became: quickSearch -> itemTree ->
cancel and accept buttons -> collectionTree.

This restores original tab sequence: quickSearch -> collectionTree ->
itemsTree -> cancel and accept buttons.
2024-07-27 02:16:38 -04:00
Abe Jellinek
6a99fb673a Remove now-unused string (#4397) 2024-07-27 02:11:58 -04:00
Abe Jellinek
629c5ecab2 Find Full Text: Support Atypon (#4397)
Don't remove all query strings when normalizing URLs - keep 'download'
so that Atypon PDFs/EPUBs resolve correctly.
2024-07-27 02:11:58 -04:00
Abe Jellinek
7020d60351 Generalize Find Available PDF -> Find Full Text (#4397) 2024-07-27 02:11:22 -04:00
Dan Stillman
99df46cbbb Better architecture reporting in error reports 2024-07-27 02:10:19 -04:00
Dan Stillman
a92521bd30 Identify Windows 11 as Windows 11 2024-07-27 02:10:19 -04:00
windingwind
8c5d4c7cd5
Add plugin blocking list (#4438) 2024-07-27 00:23:31 -04:00
Abe Jellinek
b71547469f Select Items dialog: Use drawintitlebar, not chromemargin
Fixes missing window border/shadow and makes it possible to drag the
dialog on Windows.

Closes #4440
2024-07-26 11:44:28 -04:00
Abe Jellinek
7c7d8c1433
Implement Select Items dialog redesign (#4406) 2024-07-26 02:55:43 -04:00
Abe Jellinek
1463b58b5b Preferences: Make _syncToPrefOnModify work like _syncFromPref 2024-07-25 12:57:43 -04:00
Abe Jellinek
dbc8b9bfed Select Items dialog: Double-click to accept
Closes #4428
2024-07-25 10:13:21 -04:00
Dan Stillman
8076c97900 Merge new English strings 2024-07-25 03:00:09 -04:00
Abe Jellinek
9a43e8f057 Related box: Filter out missing items
Fixes #4427
2024-07-24 16:58:31 -04:00
Martynas Bagdonas
10adea71fc Add "Citation" string for note editor 2024-07-24 17:36:28 +03:00
Abe Jellinek
0944f3bdc6 Item pane header: Show default context menu for attachment titles
Closes #4415
2024-07-22 12:45:18 -04:00
Martynas Bagdonas
c2575d2a14 Gray out "Import Annotations…" in reader window when no annotations
Fixes #4416
2024-07-22 14:42:14 +03:00
abaevbog
c5c613c82c
vpat 80: focus first field in search window/dialog (#4402)
Instead of focusing the first condition, which ends up placing
focus in the middle of the new window or modal. It is best
to focus the first node, which is the general convention,
per https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/, and
what many screen reader users expect. When we focus a field in
the middle of the window/dialog, it makes it seem for some users
that this is the first node, which will make them miss all the
fields above it.

Also, linked search name input to its label in searchDialog.xhtml.
2024-07-21 06:02:50 -04:00
Dan Stillman
846279da01 Use include.js in customElements.js 2024-07-21 06:01:43 -04:00
Dan Stillman
8a075dce9e Fix error generating header in updates window 2024-07-21 06:01:26 -04:00
Dan Stillman
1d0cdf4df0 Fix "Check for Updates" button in startup error dialog 2024-07-21 05:59:25 -04:00
Dan Stillman
3b1cb2b9c2 Avoid error if item is modified before collections pane is loaded
E.g., during Extra field migration at startup
2024-07-21 05:57:17 -04:00
Dan Stillman
9446f7f583 Fix Collection [n] not yet loaded startup error
Can happen during Extra field migration at startup due to
Item::getCollections() change in 2d3375e9f6 that requires collections
to be loaded

https://forums.zotero.org/discussion/115993/collection-not-yet-loaded-error-on-startup
https://forums.zotero.org/discussion/116137/zotero-cannot-be-used-after-updating-to-the-latest-version
2024-07-21 05:57:04 -04:00
Dan Stillman
7e01a7d0ec Merge new English strings and fix some backslash errors 2024-07-20 02:35:03 -04:00
Martynas Bagdonas
d16ea8fe15
Enable type change between highlight and underline (#4411) 2024-07-20 02:27:11 -04:00
Martynas Bagdonas
532ae729c0 Implement highlight ↔ underline annotation conversion (delete, recreate)
#3744
2024-07-19 14:31:46 +03:00
Martynas Bagdonas
10fecce381 Add missing File → Import Annotations option to reader window
Fixes #3864
2024-07-19 12:20:22 +03:00
Dan Stillman
691d26886f Update locales from Transifex 2024-07-19 04:27:15 -04:00
windingwind
b04f2c8ccb
Fix context notes pane not load (#4289)
fix: #4284
introduce a new notifier type "load", "tab", a follow up fix to #4174

---------

Co-authored-by: Bogdan Abaev <bogdan@zotero.org>
2024-07-19 02:41:45 -04:00
abaevbog
53fed83e05
do not save edits on Escape in reader tags popup (#4399)
<panel> takes over Escape handling by just closing the popup via
what looks like a capturing listener on document, since Escape
keydown events never even reach the popup itself. When the popup
is just closed like that, tagsBox is blurred so all unwanted edits get saved.

To properly handle Escape, attach our own capturing listener that will
reset all edits before the popup is closed.

Fixes: #4398
2024-07-19 02:34:28 -04:00
Abe Jellinek
38391f356c
Restore autoscroll support in reader (#4405)
- Mozilla's ActorManagerParent was only being imported when devtools
  were initialized (either by opening the Error Console or by connecting
  via remote debugging). Import it in our ActorManager so Mozilla
  actors, including AutoScroll, are always registered.
   - This may have other effects! I'm assuming most of us test with
     the error console visible, though, so we would've had Mozilla
     actors, while users running without devtools wouldn't have. We
     definitely want those actors. (Most of them, at least.)
- Don't override autoscroller styles with our panel customizations.
2024-07-19 01:57:45 -04:00
abaevbog
e6b5ba60dd
fix tab not scrolling into view (#4404)
After react 18 update, the tab node may not yet be rendered
by tabBar.jsx when we try to scroll it into view in Zotero_Tabs.select.

- To make sure scrolling happens when rendering is done, move scroll-related
logic into a useEffect of tabBar.jxs. It also makes sure that we'll scroll to
a selected tab if it is moved via context menu to the very beginning or the end.

- Added a small scroll-padding to tabs container to make sure the border
does not get cutoff after the tab is scrolled into view instead of
JS code accounting for the border.

- Fixed a glitch where the pinned library tab would not get selected
on shift-tab from opened tabs menu.

Fixes: #4382
2024-07-18 02:19:07 -04:00
abaevbog
40fd5efe05
vpat 48: announce selection for default virtualized table (#4391)
* vpat 48: announce selection for default virt table

For simpler virtualized tables
(e.g. style manager in Zotero_Preferences.Cite), the table
does not get re-rendered when selection changes, so
aria-activedescendant does not get updated in render().

- a single function to update aria-activedescendant of the table
- call it in _updateTree of the tree selection because _onSelection
is not called the very first time a table is rendered. In that case, after
restart, collectionTree would have a selected row but no aria-activedescendant
- remove this.forceUpdate() from selection handlers of itemTree and
collectionTree because judging by the coment it's main purpose was to set
aria-activedescendant through render()
- set aria-activedescendant in _onSelection handler
of virtualized table. 
- construct and set aria-label for rows build via
makeRowRenderer of VirtualizedTable so that is is
announced when the row is selected.
2024-07-17 10:34:16 +03:00
Martynas Bagdonas
a46f1bcbbb Fix reader popups being covered by contextPane in Stacked View mode
Fixes #3542
2024-07-16 15:12:26 +03:00
Bogdan Abaev
ed1f3853b4 fix shift-Enter tagsbox inconsistent glitches (#4231)
- remove earlier shift-Enter behavior that makes tag's
input multiline.
- shift-Enter will function just as Enter by saving the
tag and allowing focus to return to reader or itemTree.
- except after pasting multiple tags which will still turn
the tags input into a multiline field. Then, shift-enter
will add a new line, just as with any other multiline
editable-text.
2024-07-16 02:36:10 -04:00
Bogdan Abaev
16a5b5b6bc add aria-label to tag edit fields (#4231) 2024-07-16 02:36:02 -04:00
Bogdan Abaev
a73035c848 vpat 66-68: fix focus within tagsBox popup (#4231)
- focus will always enter the tagsBox popup opened from the reader
- escape from within the popup with tagsBox will close the popup (vpat
  67)
- one should not be able to collapse the tagsBox. Added `collapsible`
  getter and setters to the collapsible panel to prevent the section
  from changing its open status. This may be also used in other cases,
  such as to prevent itemBox from being collapsed in duplicates mode.
- patched a glitch where tab from the last empty tab input would loose
  focus.
- changed the `menupopup` for `panel` to display the `tagsbox` because
  `menupopup` has implicit `role="menu"` which is not meant to contain
  inputs, so voiceover completely looses cursor when inputs are focused
  inside of the popup. Also, tweaked spacing a bit to avoid the
  focus-ring getting cutoff.

Addresses: #4222
Fixes: #4230
Fixes: #4226
Addresses: #4388
2024-07-16 02:35:53 -04:00
Tom Najdek
f227aeb6e0
File renaming: suppress duplicate suffixes #3317 (#4389) 2024-07-16 01:59:07 -04:00