Commit graph

8969 commits

Author SHA1 Message Date
Tom Najdek
c9400c565c Mendeley import: detect win close, better feedback
* Detect wizard cancel/close and interrupt import. This will still
  have to wait for current fetch (file or metadata) to complete but will
  then advance to the cleanup stage
* Advance progress bar during metadata fetch
* Add some extra logging
2022-08-11 02:46:31 -04:00
Tom Najdek
4b86c2a3fd Don't try to remove temporary dir after import
Previously we had a structure that also created folders in temp dir,
that has since changed but code in cleanup phase to remove containing
dir has been accidentally left unremoved.
2022-08-11 02:46:26 -04:00
Martynas Bagdonas
5f6d6da154 Fix disabled "Add to Note" when a child note is open
Fixes #2687
2022-08-11 02:46:17 -04:00
Dan Stillman
01dc397afd Update global schema and utilities for CSL 1.0.2 2022-08-11 02:43:53 -04:00
Martynas Bagdonas
ca3e048b78 Adjust page rotation labels in PDF reader
Fixes #2669
2022-08-11 02:43:47 -04:00
Martynas Bagdonas
b9f4a7835a Show parent item title for child notes in context pane
Fixes #2681
2022-08-11 02:43:32 -04:00
Martynas Bagdonas
b5bdae3d6d Implement smart notes switching in contextPane (#2671)
Fixes #2650
2022-08-11 02:38:55 -04:00
Dan Stillman
5920c5d3e5 Update utilities submodule and date-parsing tests
Includes strToDate() fixes
2022-08-11 02:36:04 -04:00
Adomas Venčkauskas
3ff650f046 Limit the force-click during drag fix to macOS (4fb0661b) 2022-08-11 02:34:29 -04:00
Adomas Venčkauskas
9feb2fc6cf Fix alt-arrow not working on macOS when editing collection names.
Fixes #2651
2022-08-11 02:34:24 -04:00
Adomas Venčkauskas
1937220099 Fix force-click during drag sometimes causing collections to switch
Closes #2652
2022-08-11 02:34:17 -04:00
Abe Jellinek
48ad6dcb99 Fix error if New Collection prompt is canceled 2022-08-11 02:34:12 -04:00
Dan Stillman
3fb9e2162e Use String.fromCharCode() to load Chinese characters in strToDate() test
Follow-up to dc045250a6
2022-08-11 02:34:06 -04:00
Dan Stillman
56151a4198 Fix parsing of Chinese and other non-ASCII month names
https://forums.zotero.org/discussion/97683/bug-locale-issues-concerning-zotero-and-zotero-connector
2022-08-11 02:33:58 -04:00
Dan Stillman
c8cc97dd97 Properly strip ZWJ in isOnlyEmoji() 2022-08-11 02:33:54 -04:00
Dan Stillman
011b60af61 Fix Emoji detection
And move to Zotero.Utilities.Internal.isOnlyEmoji()

Fixes #2643
2022-08-11 02:33:41 -04:00
Abe Jellinek
3481def4f6 Fix sorting by attachment (#2586) 2022-08-11 02:33:03 -04:00
Dan Stillman
6828e24481 citeproc-js: Add space after left margin in plain-text mode
This adds a space after the the number in some numeric styles ("[1]" in
IEEE style, "1." in Nature) when pasting bibliography entries into a
plain-text editor.

Some styles (ACS, AMA, Vancouver) will need to be updated to remove
their hard-coded spaces to avoid double spaces after this change.

Patch from @zepinglee

Fixes #2633
2022-08-11 02:32:39 -04:00
Martynas Bagdonas
bfc61a69ba Add support for PDF page deletion and rotation (#2595)
* Add support for PDF page deletion and rotation
Fixes #2561
2022-08-11 02:32:30 -04:00
Adomas Venčkauskas
44e8a372e5 Fix a MIMETypeHandler.removeHandler() bug 2022-08-11 02:31:33 -04:00
Adomas Venčkauskas
1687d4caad Improve downloadPDFViaBrowser handlers and logging 2022-08-11 02:31:28 -04:00
Adomas Venčkauskas
f88cc8b988 Fix cookieSandbox not overriding user agent if no cookies for domain.
Potential fix for #2635
2022-08-11 02:31:23 -04:00
Martynas Bagdonas
266ea99a77 Fix library tab tooltip always staying on top 2022-08-11 02:31:15 -04:00
Dan Stillman
b1c2b9e005 Fix detection of some emoji set as colored tags
Emoji such as ️ that began as text-based Unicode characters and depend
on Variation Selector-16 to display the emoji presentation weren't being
properly detected.
2022-08-11 02:31:01 -04:00
Dan Stillman
5eecc3fc54 Add prefs for timeouts for downloading PDF via browser
1 second isn't enough for some users, so try 1.5, and allow for easier
debugging via a pref.

https://forums.zotero.org/discussion/96431/i-have-access-to-pdf-but-zotero-cannot-automatically-add-it
https://forums.zotero.org/discussion/97277/unable-to-download-papers-using-zotero-chrome-extension
2022-08-11 02:28:16 -04:00
Dan Stillman
cb2594f53f Feed import: Don't fail on OPML entry with no title or text
https://forums.zotero.org/discussion/96841/impossible-dimporter-ompl-rss
2022-08-11 02:28:03 -04:00
Martynas Bagdonas
b98a5e0545 Avoid error interrupting annotation extraction from multiple items 2022-08-11 02:25:43 -04:00
Dan Stillman
82eb701ea7 Try to open external PDF reader to page number for "Show on Page"
PDF-handling code from `ZoteroPane.viewAttachment()` predates
`Zotero.OpenPDF` and didn't handle page numbers for external PDF
readers, so when called from "Show on Page" in a note (via
`ZoteroPane.viewPDF()`) it just launched the file itself in the
specified handler or via the OS.

For now, change to use `Zotero.OpenPDF.openToPage()` when there's a page
number. Later we should use `Zotero.OpenPDF` for everything, but that
code is more complicated than just using `launchFile()`, so we'll need
to do some testing (particularly on Linux) to see what's best.

(Note that "Show on Page" with an external reader doesn't make a ton of
sense, since you can't actually see the annotation, but opening the
right page is better than nothing.)

Fixes #2612
2022-08-11 02:25:43 -04:00
Abe Jellinek
139d92054f Scaffold templates: Pull URL from doc
Link URLs could lead to redirects.
2022-08-11 02:25:43 -04:00
Abe Jellinek
7d3e95e050 Fix Scaffold load error when fontSize pref is set 2022-08-11 02:25:43 -04:00
Abe Jellinek
8d75f37548
fx-compat: Add preferences with full-text/keyword search (#2659) 2022-08-10 18:26:23 -04:00
Abe Jellinek
db600cb5b9 fx-compat: Item box: Don't set flex attribute on HTML elements 2022-08-08 14:52:17 -04:00
Dan Stillman
78b0055206 Change app id to zotero@zotero.org
And remove all references to old id

We can do this because plugins will use new mechanisms for install and
update manifests that don't use the id (which also means it's now only
used internally).
2022-08-08 05:11:21 -04:00
Dan Stillman
ef33731490 fx-compat: Add message to Add-ons pane when no plugins installed
We'll want to update the rest of the instances of "extensions" or
"add-ons" to say "plugins" (unless we think we might support themes, in
which case we can keep "add-ons").
2022-08-06 03:49:40 -04:00
Abe Jellinek
cd296b1f37 fx-compat: Item box: Fix _*FieldValue(), more focus issues
_getFieldValue() and _setFieldValue() were using `.value` instead of
`.textContent`, so the few places that use it were getting/setting ignored
fields on divs.

fbc25834 messed up the tab index logic, shifting the responsibility for
preserving _lastTabIndex across refreshes: originally, the default was to throw
it away, and the caller was responsible for saving and restoring it if the
refresh was caused by tabbing between fields. The bad commit reversed the
situation and made the item box *remember* the _lastTabIndex by default,
meaning that a refresh caused by the notifier, for example, would focus the
last focused field even if it had been closed by the user in the meantime.

That bad change was a misguided attempt to fix the Tab key cycling infinitely
between Item Type, Title, and creators and never reaching further fields. The
actual fix was just to add `, textarea` to the query on line 1459.
2022-08-05 16:12:28 -04:00
Abe Jellinek
1ecc0b113b fx-compat: Item box: Fix auto-scroll functions 2022-08-05 12:32:03 -04:00
Abe Jellinek
cb14564174 fx-compat: Item box: Prevent editor from reopening after close
We did need to reset _lastTabIndex as the line removed in fbc25834 did, but
only immediately surrounding the saveTx() call.
2022-08-05 12:10:16 -04:00
Abe Jellinek
57abea5416 fx-compat: Item box: Remove some dead code
All already being handled by CSS (besides the exact character length limits, but
it's not clear that we really need those - we just ellipsize if it visually
overflows now, which seems fine).
2022-08-05 11:57:54 -04:00
Abe Jellinek
4e6fe4d119 fx-compat: Remove temp item type menulist logging 2022-08-05 11:49:14 -04:00
Abe Jellinek
1c36406b1e fx-compat: Item box: Fix removing creator while editing it 2022-08-05 11:45:58 -04:00
Abe Jellinek
361a83c378 fx-compat: Item box: Restore batch paste behavior
Since <input>s are single-line, we do the split operation on paste instead of on
blur.
2022-08-05 11:45:58 -04:00
Dan Stillman
53a09bb912 Add reason parameter for plugin bootstrap methods
As documented on https://wiki.mozilla.org/Extension_Manager:Bootstrapped_Extensions

And fix method names for `install()` and `uninstall()`
2022-08-05 04:51:07 -04:00
Dan Stillman
51f9150410 fx-compat: Initial plugin support
Plugins are ZIPs containing at least these two files:

- manifest.json: A WebExtension MV2 manifest with basic metadata
  properties and `applications.gecko` with `id` and `update_url`
- bootstrap.js: A bootstrap file, similar to old bootstrapped extensions,
  with `installed()`, `startup()`, `shutdown()`, and `uninstalled()`
2022-08-05 01:08:51 -04:00
Dan Stillman
e82e808f2b Update definition style of Zotero.log() and Zotero.logError() 2022-08-05 01:08:51 -04:00
Dan Stillman
e6256d60ec fx-compat: Fix logging to the browser console 2022-08-05 01:08:51 -04:00
Abe Jellinek
080ada78ee fx-compat: Item box: Prevent tabbing to hidden firstName 2022-08-04 17:20:01 -04:00
Abe Jellinek
fbc2583433 fx-compat: Item box: Fix tabbing 2022-08-04 17:02:41 -04:00
Abe Jellinek
7a22458ed4 fx-compat: Item box: Fix fieldMode resetting on blur
The fieldMode attribute of the input was being set by the call to
switchCreatorMode(), but it didn't carry over to the label that replaces it on
line 1997.

Also removed a debug line and cleaned up a bit.
2022-08-04 16:50:48 -04:00
Abe Jellinek
581f4bdf7b fx-compat: Fix parameter name typo 2022-08-04 15:10:32 -04:00
Abe Jellinek
617ede481a fx-compat: Add roles to banners
Fixes #2655 (with 0983ff)
2022-08-04 14:52:16 -04:00
Abe Jellinek
c7fc98dff6 fx-compat: editContextMenu -> editMenuOverlay
To reflect that it now handles the menu bar Edit menu as well.
2022-08-02 15:50:44 -04:00
Abe Jellinek
64155bf58f fx-compat: Fix edit context menu
The menupopup needs to be in a popupset to show correctly.
2022-08-02 15:49:06 -04:00
Abe Jellinek
27841acb83 fx-compat: Select items dialog: Fix search and make functional 2022-08-01 15:39:57 -04:00
Abe Jellinek
f8ac57bdb1 fx-compat: Don't focus dropdown in quick search textbox
To match old behavior and fix autofocus.
2022-08-01 15:22:25 -04:00
Abe Jellinek
d018133e9b fx-compat: Use html-tooltip everywhere
And convert tooltiptext attributes on item box HTML elements to titles.
2022-08-01 15:02:42 -04:00
Abe Jellinek
812511e31b fx-compat: Open DOI popup as native menu, too 2022-08-01 14:29:35 -04:00
Abe Jellinek
bcf62e688f fx-compat: Item box: Use addEventListener() 2022-08-01 14:27:46 -04:00
Adomas Venčkauskas
41907975b0 Adjust integration function comments and test dummy signature 2022-07-26 10:53:05 +03:00
Abe Jellinek
808375d5e3 fx-compat: Item box: Fix creator name field sizing
Not the exact same sizing as Fx60, because that relied on some quirks
of the Mozilla box model that I can't reproduce with flexbox, but still
works about as well.
2022-07-21 16:12:28 -04:00
Abe Jellinek
26a2398399 fx-compat: Restore guidance panels as CE
Fixes #2711.
2022-07-20 11:12:52 -04:00
Dan Stillman
7b10182e4a Disable obsolete "Open in External Viewer" menu option
Hasn't done anything since in-browser viewing of certain file types in
Zotero 4 for Firefox. Perhaps we'd bring it back at some point, but
disable for now.
2022-07-19 22:38:01 -04:00
Dan Stillman
744837cce7 fx-compat: Remove Zotero.MIME.hasInternalHandler()
Hasn't been relevant since the Firefox NPAPI days, but was returning
true for `application/pdf` (possibly due to the bundled pdf.js in
Firefox still being included in our builds, which we should remove if
so), which was causing "Open in External Viewer" to appear, even though
it just opened the internal reader.
2022-07-19 22:38:01 -04:00
Abe Jellinek
5e6dc290b6 fx-compat: Scaffold: Read ESLint output from stdin
Need to update your zotero/translators clone to get linting working again.
2022-07-19 16:26:17 -04:00
Abe Jellinek
14f79018ad fx-compat: Scaffold: Fix "undefined" attributes 2022-07-19 14:44:28 -04:00
Abe Jellinek
8ff75607a5 fx-compat: Item box: Disable guidancepanel trigger + cleanup 2022-07-19 14:44:28 -04:00
Abe Jellinek
083e3c7a36 fx-compat: Search: Clear join mode condition
Fixes an error that prevents changing the join mode from having an effect
after clearing the search when a join mode was already set. Bug also
present on master, not introduced with fx102.
2022-07-12 22:01:20 -04:00
Abe Jellinek
5f8a5056f1 fx-compat: Remove unused progress display 2022-07-12 14:50:53 -04:00
Abe Jellinek
5c6837c1fc fx-compat: Add copyright to CE base 2022-07-12 14:47:24 -04:00
Abe Jellinek
916627b590 fx-compat: Scaffold: Fix indentation using spaces 2022-07-11 13:03:48 -04:00
Abe Jellinek
dc96c1a175 fx-compat: Fix ZP progress queue button creation 2022-07-11 13:02:51 -04:00
Abe Jellinek
ab6b683d90
fx-compat: More progress on platform menus (#2675)
Not able to test on non-Mac yet, but this behavior should be right.
Removes all the #ifdefs and moves the behavior into platformKeys.js.
2022-07-07 00:04:13 -04:00
Abe Jellinek
9a8e78aaf4
fx-compat: Restore quick search menu and update styles (#2684) 2022-07-06 23:42:23 -04:00
Abe Jellinek
bc41c3b7b0 fx-compat: Make changelog link in About work 2022-07-06 15:24:31 -04:00
Abe Jellinek
abe19b9435 fx-compat: Fix error when v-t tooltip shows 2022-07-06 11:12:44 -04:00
Abe Jellinek
0983ffbef2 fx-compat: Make sync / retraction links tabbable
Addresses #2655. Still need to add roles.
2022-07-06 10:53:08 -04:00
Abe Jellinek
8face792c0
fx-compat: Fix search dialogs (#2631) 2022-07-04 01:48:52 -04:00
Abe Jellinek
b78b9cad1f fx-compat: Duplicates: UI fixes
- Scroll vertically
- Restore margins between groupboxes
- Restore field version dropmarker
2022-06-30 12:32:11 -04:00
Abe Jellinek
97786bfa77 fx-compat: Fix multiline Add Item by Identifier
Now just one textarea instead of an input and a textarea.

Fixes #2677
2022-06-30 11:48:15 -04:00
Abe Jellinek
f81b4b071f fx-compat: Correct create[XUL]Element[NS]() calls
This fixes the dictionary manager and various other places where a XUL
element was being created with createElement(), and also simplifies a lot
of createElementNS(HTML_NS, ...) calls.

This might cause some minor regressions but everything tested has
worked. Not touching preferences (#2659) or bindings.
2022-06-29 11:14:40 -04:00
Abe Jellinek
8b7d959781 fx-compat: Fix column picker context menu 2022-06-29 09:27:11 -04:00
Dan Stillman
4fcde6c8c5 fx-compat: hiddenWindow.xul → hiddenWindow.xhtml 2022-06-29 06:17:21 -04:00
Dan Stillman
41f54624b1 fx-compat: Fix "Hide {-brand-shorter-name}" in Mac application menu 2022-06-29 03:38:16 -04:00
Abe Jellinek
1eb9718b6b Style editor: Light theme, leave selection if unchanged
Since onStyleModified() is called when a style is loaded.
2022-06-28 15:12:57 -04:00
Abe Jellinek
9c837b3361 Improve Monaco integration and use in csledit
And remove timedtextarea.xml. Fixes #2665.
2022-06-28 15:05:16 -04:00
Abe Jellinek
8681e8ffe9 fx-compat: Make macOS application menu shortcuts work
e.g. Cmd-H flashed the menu but didn't actually hide.
2022-06-28 12:15:11 -04:00
Abe Jellinek
00e46443a6 Add XULElementBase class for custom elements
https://github.com/zotero/zotero/pull/2631#discussion_r906723540
2022-06-28 11:52:11 -04:00
Abe Jellinek
6295050fa6
Restore platform edit menu behavior without #ifdef (#2674) 2022-06-27 23:06:01 -04:00
Abe Jellinek
f0aef79c7a fx-compat: Use permalink in comment 2022-06-27 14:26:00 -04:00
Abe Jellinek
a654ad291f fx-compat: Add comment explaining menubar change 2022-06-27 14:22:02 -04:00
Abe Jellinek
a8c4e0637b fx-compat: Restore Mac application menu
The stuff in hiddenWindow.xul doesn't seem to have been doing anything
in Fx102 anyway.
2022-06-27 14:15:11 -04:00
Abe Jellinek
89587e6b76 fx-compat: native="true" on more checkboxes/menulists 2022-06-24 09:11:38 -04:00
Dan Stillman
3805f901cf fx-compat: Fix centering of library pane progress bar 2022-06-23 04:17:08 -04:00
Dan Stillman
f827b9ef50 fx-compat: initKeyEvent()new KeyboardEvent()
Quick Format change is untested
2022-06-21 03:31:58 -04:00
Dan Stillman
587ae6ba7e fx-compat: Fix blurring of textarea fields in item box
And fix tests
2022-06-21 03:03:37 -04:00
Dan Stillman
3743c179e1 Add missing commonDialog.js from dictionary manager
Currently provides close-on-Esc functionality
2022-06-21 01:39:07 -04:00
Dan Stillman
20945f60c9 fx-compat: Remove nsIURI.clone() usage 2022-06-21 01:39:07 -04:00
Dan Stillman
6297d0862f fx-compat: Replace last use of getURLSpecFromFile()
Follow-up to 8f7a160ba1

Untested, since it's in the prefs -- we'll have to see if this works
after #2659
2022-06-21 01:39:00 -04:00
Dan Stillman
789a8a5fe9 fx-compat: Use new mozILocaleService API
Replace functions with arrays, as in https://phabricator.services.mozilla.com/D6339
2022-06-20 23:09:46 -04:00
Dan Stillman
96f6b871ce fx-compat: Fix sync error panel 2022-06-20 18:43:09 -04:00
Martynas Bagdonas
5b879f75c5 fx-compat: Avoid dead object errors in note-editor
Fixes #2663
2022-06-20 11:33:10 +03:00
Dan Stillman
b3077182d2 fx-compat: Fix Zotero.MIME.getMIMETypeFromURL()
Replace

```
Components.classes["@mozilla.org/network/standard-url;1"]
	.createInstance(Components.interfaces.nsIURL)
```

with

```
Services.io.newURI(url).QueryInterface(Ci.nsIURL);
```
2022-06-20 01:12:57 -04:00
Dan Stillman
30f636274b Update Notifier ids for itemBox/notesEditor custom elements 2022-06-20 00:47:50 -04:00
Dan Stillman
be3b245dbe Don't index PDF if fulltext.textMaxLength is 0
Follow-up to 13adfd131c
2022-06-19 19:03:41 -04:00
Dan Stillman
dfff86df72 fx-compat: Fix Zotero.File.download() 2022-06-19 18:58:25 -04:00
Dan Stillman
8f7a160ba1 fx-compat: getURLSpecFromFile()Zotero.File.pathToFileURI()
One remaining instance in the prefs that will need to be fixed
2022-06-19 15:20:54 -04:00
Abe Jellinek
9c69f73de5 Manually remove handler instead of using once
Since we only want to remove if the target matches.
2022-06-18 03:45:32 -04:00
Abe Jellinek
a48ebe2dd7 Show native menus from toolbar 2022-06-18 03:45:32 -04:00
Abe Jellinek
a60e46dd5c fx-compat: Fix toolbar 2022-06-18 03:45:32 -04:00
Abe Jellinek
dd3385ec67 Revert "fx-compat: Remove Mac toolbarbutton images"
This reverts commit 280a1265c8.
2022-06-18 03:45:32 -04:00
Dan Stillman
d90334e883 fx-compat: Initial nsIWebBrowserPersist.saveURI() fixes
Will need additional fixes for cookie handling, etc., but this at least
fixes the signature
2022-06-17 20:29:01 -04:00
Dan Stillman
2b41b0127c Get binary contents in Zotero.File.getSample()
And fix magic numbers for content-type sniffing, which wrongly used the
Unicode replacement character (which likely just meant we were falling
back to file-extension-based detection)
2022-06-17 20:29:01 -04:00
Dan Stillman
13adfd131c fx-compat: Update full-text indexing
Use the new PageData mechanism for character set detection, don't try to
index HTML files directly without properly detecting the charset, and
generally simplify the indexing code.

HTML files are now considered cached files that require indexing and
won't be indexed automatically in Zotero.FullText.findTextInItems(),
which breaks certain expectations, including in some tests. This will
need to be addressed.
2022-06-17 20:29:01 -04:00
Dan Stillman
1dd24f7082 Remove Zotero.File.getCharsetFromFile()/addCharsetListener()
Unused in over a decade, and now replaced by the PageData actor
2022-06-17 20:29:01 -04:00
Dan Stillman
6a2949be8a fx-compat: Add HiddenBrowser.jsm
Remove Zotero.Browser and add HiddenBrowser.jsm. Post-Fission, web/file
content loads in a separate process, so it's not possible (as best as I
can tell) to directly access the contents of a hidden browser -- it just
appears as about:blank in the parent process. We now use Mozilla's
JSWindowActor mechanism [1] to get page data, including character set
and body text for full-text indexing. We'll have to evaluate other uses
of hidden browsers to see how to handle them.

This also adds include.jsm for loading the Zotero object into a JSM.

[1] https://firefox-source-docs.mozilla.org/dom/ipc/jsactors.html
2022-06-17 20:28:58 -04:00
Dan Stillman
7f748b2620 Take path or nsIFile in Zotero.File.pathToFileURI() 2022-06-17 20:24:43 -04:00
Dan Stillman
730e86d661 fx-compat: Restore tests and test using actual Zotero executable
The test runner now uses the Zotero executable from
`zotero-standalone-build/staging` rather than the Firefox from
`zotero-standalone-build/xulrunner`. Along with testing the actual
program, this restores visible UI updates during tests, which should
make debugging various things easier. We can also now remove anything
related to Zotero being an extension.

Many tests are still broken, but this at least lets us start running
them.
2022-06-17 20:24:43 -04:00
Dan Stillman
3c9dcea46b Add comment explaining CSS rule to hide menuitem icons on macOS 2022-06-17 20:24:43 -04:00
Abe Jellinek
0e1a16b96b fx-compat: Show native field/creator transform popups
No longer anchored to the element, but instead to the cursor.
2022-06-17 18:49:07 -05:00
Abe Jellinek
c31df4ae6b fx-compat: Display item box using CSS grid
- Widths are now correct
- Rows are a little too tall
- Field value vertical alignment is off
- Platform styling isn't done and some styles might be redundant
- Still can't scroll vertically
- Creator name inputs still displayed wrong
2022-06-16 16:27:16 -05:00
Tom Najdek
cb3d4b1800
Fix tag selector menus not appearing on fx102 (#2654)
Also tweaked offset where a context menu appears to 1px from cursor
(was 2px) to match other context menus.
2022-06-14 18:28:02 -04:00
Abe Jellinek
cd17c90f2e fx-compat: Don't show hidden types in Item Type menu 2022-06-10 14:03:53 -05:00
Abe Jellinek
ac9e882bda fx-compat: Item box: Fix URL opening and field blurring 2022-06-10 13:59:01 -05:00
Martynas Bagdonas
097d423275 fx-compat: Fix spellchecker and dictionary manager 2022-06-10 12:57:27 +03:00
Martynas Bagdonas
5924753fd1 fx-compat: Fix unloaded tab loading 2022-06-09 16:30:34 +03:00
Martynas Bagdonas
64c652ea06 fx-compat: Replace eval with wrappedJSObject in PDF reader 2022-06-09 13:13:08 +03:00
Abe Jellinek
9a2e98360a fx-compat: Scaffold: Update Monaco
Now that we can. Quite a bit faster and more customizable.
2022-06-08 17:38:59 -05:00
Abe Jellinek
e537018e71 fx-compat: Initial fix for Scaffold
Not working:
- Web tests (hidden browser is broken)
- Test Updated status text
- Various platform menu things (code copied from ZP and will use whichever
  approach we settle on there)
2022-06-08 17:16:50 -05:00
Martynas Bagdonas
1b324f9bd1 fx-compat: Fix color rendering in annotation popup, use checkbox 2022-06-08 21:22:37 +03:00
Martynas Bagdonas
1e25e2ac4c fx-compat: Fix invisible caret issue in linksBox tags popup 2022-06-08 21:22:37 +03:00
Martynas Bagdonas
a7bc25b553 fx-compat: Fix PDF reader window 2022-06-08 18:57:26 +03:00
Martynas Bagdonas
08089d6120 fx-compat: Fix tooltip node to work in PDF reader tab 2022-06-08 18:57:26 +03:00
Martynas Bagdonas
2e5388af5b fx-compat: Implement tagsBox element 2022-06-07 17:13:48 +03:00
Abe Jellinek
7e55ea59bb fx-compat: Item box: Change creator type label correctly 2022-05-31 16:31:20 -07:00
Abe Jellinek
b9f3bea8c3 fx-compat: Attachment box: Only add listener once 2022-05-31 16:30:55 -07:00
Abe Jellinek
1b74befd64 fx-compat: Fix Item Type menu regression 2022-05-31 15:04:14 -07:00
Abe Jellinek
d3555228b2 fx-compat: Fix Duplicate Items merge view 2022-05-31 14:57:47 -07:00
Abe Jellinek
59d5013952 fx-compat: Item box: Fix menu actions, plus/minus buttons 2022-05-31 11:23:19 -07:00
Abe Jellinek
496f34117c fx-compat: Fix attachment rename, remove <links-box> observer
<links-box> doesn't actually have a notify() method, so an error was
being thrown on each notification.
2022-05-27 13:28:07 -06:00
Abe Jellinek
1ef40d9423 fx-compat: Fix attachment box 2022-05-27 12:56:13 -06:00
Martynas Bagdonas
307701788f fx-compat: Fix and extract notesBox into a separate element 2022-05-27 13:21:18 +03:00
Abe Jellinek
f05d6fe0e0 fx-compat: Fix basicViewer for http(s):// URLs
maychangeremoteness="true" is required to successfully load pages from
the web even though we never actually change remoteness.

https://searchfox.org/comm-central/rev/2cf3a09a0127fe73e932c5ee793986f3bed2ccd2/mail/base/content/aboutMessage.xhtml#118
2022-05-26 10:45:57 -06:00
Abe Jellinek
e26fd18450 fx-compat: Change autocomplete-input load method 2022-05-26 09:39:30 -06:00
Martynas Bagdonas
0079fbdb08 fx-compat: Fix relatedBox 'Add' button visibility 2022-05-26 18:31:07 +03:00
Martynas Bagdonas
db0ac723fa fx-compat: Note editor and links box fixes:
- Add links-box component (inside noteEditor.js).
- Add related-box component and fix related pane.
- Use tagsBox.jsx instead of tagsbox.xml in note editor links box popup.
- Remove CSS styles and bindings for noteeditor, relatedbox and tagsbox.
2022-05-26 18:23:31 +03:00
Martynas Bagdonas
4a1812e5ba fx-compat: Fix selectItemsDialog 2022-05-26 18:23:31 +03:00
Abe Jellinek
4a856b94cc fx-compat: Item box: Fix abstract expander 2022-05-25 13:22:52 -06:00
Abe Jellinek
3566d1fc1f fx-compat: Item box: Fix item type menulist
- Use IDs as list item values
- Use addEventListener() so events are actually received
- Put menulist inside <td>
    * This causes a small appearance regression at the moment because
      <td> margins/padding are a bit off, but that issue is visible on
      all other fields already.
2022-05-25 12:51:15 -06:00
Abe Jellinek
c2ce5c7596 fx-compat: Remove duplicate menulistItemTypes.js 2022-05-24 15:56:09 -06:00
Abe Jellinek
5d96f9960a fx-compat: Item box: Fix unstyled menulists 2022-05-24 15:48:10 -06:00
Abe Jellinek
fdd73d4ada fx-compat: Item box: Fix multiline fields & autocomplete 2022-05-24 15:42:54 -06:00
Abe Jellinek
02bcb1712c fx-compat: Fix content shrinking to half of window height
On my system, this would always happen after adding a new attachment.
2022-05-24 13:59:12 -06:00
Abe Jellinek
29b270e761 fx-compat: Fix progress queue / Find Available PDFs 2022-05-24 13:52:52 -06:00
Abe Jellinek
195dd379d9 fx-compat: Fix context menu icons showing on Mac
Why does :is match when a regular selector doesn't? I have absolutely no
idea, but it's more concise anyway.

Fixes #2620
2022-05-24 13:37:20 -06:00
Abe Jellinek
87decd0f8d fx-compat: Fix _getExtensionFromURL() 2022-05-24 12:07:30 -06:00
Abe Jellinek
300af4477f fx-compat: Fix Attach Link dialog 2022-05-24 12:02:37 -06:00
Abe Jellinek
a2215cb8f6 fx-compat: Fix hard confirmation dialog
ID changed to commonDialog so we get commonDialog.css styling for free.
2022-05-24 11:43:45 -06:00
Dan Stillman
1a1a5924da fx-compat: Simplify Zotero.File.download()
`NetUtil.newChannel()` can take a string spec, so don't bother parsing
to an nsIURI first

Follow-up to 7adb8fd150
2022-05-24 03:03:36 -04:00
Abe Jellinek
7adb8fd150 fx-compat: Fix Zotero.File.download() 2022-05-24 00:47:22 -06:00
Abe Jellinek
eae9a4447d fx-compat: Mostly fix locateManager
Still many selectors to update in preferences.css, but how we do that
depends on what our <prefwindow>/<prefpane> replacement looks like.
2022-05-24 00:46:39 -06:00
Martynas Bagdonas
7b4c4e528c fx-compat: Fix context pane:
- Stacked view.
- Item pane tabs.
- Note list search box.
2022-05-19 14:10:51 +03:00
Martynas Bagdonas
e99a0d4515 fx-compat: Partial fixes for note editor 2022-05-19 14:10:51 +03:00
Dan Stillman
29bc36c02a fx-compat: Tweak styling of Create Bibligraphy window
And generalize CSS rules for richlistitem and groupbox headers (using
HTML H2s for the latter, as Mozilla does)

Follow-up to 547311ff26
2022-05-19 02:06:42 -04:00
Dan Stillman
9bf61f9914 fx-compat: Update CSL Edit window 2022-05-18 23:45:51 -04:00
Dan Stillman
d6e0c90baa Revert "fx-compat: Fix item box CSS link casing"
This reverts commit 4c21a42b53.

itemBox.css is correct
2022-05-18 23:45:51 -04:00
Abe Jellinek
948b09a27f fx-compat: Remove uses of defunct DOM constructors
This fixes feed translation. Getting a lot of '[object Object]' fields
from that, but I don't think it's related to these changes.
2022-05-18 20:03:37 -07:00
Abe Jellinek
09ec5b1fde fx-compat: Fix ProgressWindow
popup -> alwaysontop because popup removes the background.
2022-05-18 19:52:59 -07:00
Abe Jellinek
547311ff26 Fix Create Bibliography
listbox is gone, but richlistbox is still here as a custom element and
works fine for cases where we don't need virtualization.

groupbox label and richlistitem styles should probably be copied to
somewhere global once tuned a bit.
2022-05-18 19:32:39 -07:00
Abe Jellinek
4c21a42b53 fx-compat: Fix item box CSS link casing 2022-05-17 10:03:29 -07:00
Abe Jellinek
5f24b2dc98 Fix Create Parent dialog 2022-05-17 09:47:19 -07:00
Abe Jellinek
49a9c2dba9 fx-compat: Fix Export dialog
RDF isn't working yet, but CSV works well.
2022-05-16 14:27:23 -07:00
Abe Jellinek
60606a8528 fx-compat: Fix Add to Collection menu
Document.createXULElement is handy.
2022-05-16 13:18:16 -07:00
Martynas Bagdonas
9e93007355 fx-compat: Initial fixes for PDF reader, tabs and contextPane 2022-05-13 18:50:19 +03:00
Dan Stillman
4eb405d405 Update utilities submodule 2022-05-13 04:28:57 -04:00
Dan Stillman
da9154d811 fx-compat: Get basicViewer working for debug output
Doesn't work with, e.g., zotero://timeline/library
2022-05-13 04:28:57 -04:00
Dan Stillman
d6875e1182 fx-compat: Switch to Mozilla's method of loading window scripts 2022-05-13 04:28:57 -04:00
Dan Stillman
9b3d7a32e3 Include error message in startup error dialog 2022-05-13 04:28:57 -04:00
Dan Stillman
7c458b9bd3 fx-compat: Fix positioning of some context menus 2022-05-13 04:28:57 -04:00
Dan Stillman
bc68b6e9fe fx-compat: Start to fix tag color chooser dialog
Among other things, need to recreate XBL <customcolorpicker> as a Custom
Element and need to change `ondialogaccept`/etc. to event listeners:

https://searchfox.org/mozilla-central/rev/b72e9d7d63bf499d1d8168291b93d4ec7fde236e/browser/components/places/content/bookmarkProperties.js#232-237
2022-05-13 04:28:57 -04:00
Dan Stillman
63634eed02 fx-compat: Fix clicking URL label
Now that it's a div rather than a label, have to use `textContent`
instead `nodeValue`
2022-05-13 04:28:57 -04:00
Dan Stillman
516c76a4ab fx-compat: Start to update feed settings dialog 2022-05-13 04:28:57 -04:00
Dan Stillman
909d68eac3 fx-compat: Fix New Item menu 2022-05-13 04:28:57 -04:00
Dan Stillman
2e26703b50 fx-compat: goQuitApplication() now takes an event argument 2022-05-13 04:28:57 -04:00
Dan Stillman
172c2da2cc fx-compat: Add dropmarkers to toolbarbuttons 2022-05-13 04:28:57 -04:00
Dan Stillman
758c3187fc fx-compat: Update Edit menu (WIP) 2022-05-13 04:28:57 -04:00
Dan Stillman
280a1265c8 fx-compat: Remove Mac toolbarbutton images
Need to replace with proper styling, but the former approach doesn't
work with the new toolbarbutton component.
2022-05-13 04:28:57 -04:00
Dan Stillman
77015336a4 WIP: Localization 2022-05-13 04:28:56 -04:00
Dan Stillman
c82af749ac Don't force Lucida Grande in various components on macOS 2022-05-13 04:28:56 -04:00
Dan Stillman
4f5b7bbccb Remove old commented-out lines in include.js 2022-05-13 04:28:56 -04:00
Dan Stillman
002132bc4b fx-compat: Populate Window menu on macOS 2022-05-13 04:28:56 -04:00
Dan Stillman
ebc511f418 coroutine()async for Zotero.init() 2022-05-13 04:28:56 -04:00
Dan Stillman
f8e10f80cc fx-compat: __defineGetter__()defineProperty() 2022-05-13 04:28:56 -04:00
Dan Stillman
13b9837524 fx-compat: Fix New Item menu and serializePersist()
`document.getElementsByAttribute` → `document.querySelectorAll`
2022-05-13 04:28:56 -04:00
Dan Stillman
9222b939ab fx-compat: Fix error viewing items
`Components.classes["@mozilla.org/network/standard-url;1"]` no longer
exists
2022-05-13 04:28:56 -04:00
Dan Stillman
31677dd296 fx-compat: Fix error generating item context menus with locate options 2022-05-13 04:28:56 -04:00
Dan Stillman
f91bf49aae fx-compat: nsIIdleServicensIUserIdleService 2022-05-13 04:28:56 -04:00
Dan Stillman
1714351cc9 fx-compat: Fix position of collection and item context menus 2022-05-13 04:28:56 -04:00
Dan Stillman
b49b8ad140 fx-compat: Mostly fix About pane
Example of converting top-level XUL `<dialog/>` to
`<window><dialog/></window>`, which uses a Mozilla-provided `<dialog>`
Custom Element
2022-05-13 04:28:56 -04:00
Dan Stillman
f4675c02df fx-compat: Update nsILoginManager::findLogins() calls 2022-05-13 04:28:56 -04:00
Dan Stillman
c7c61f72c9 fx-compat: Stop trying to load overlay.js, which was removed 2022-05-13 04:28:56 -04:00
Dan Stillman
7ee40c4682 fx-compat: Fix Add Item by Identifier window
Still a little buggy
2022-05-13 04:28:56 -04:00
Dan Stillman
753824a7e2 fx-compat: Temporarily disable quick search bar mode menu 2022-05-13 04:28:56 -04:00
Dan Stillman
a54da965a7 fx-compat: Use search-textbox custom element for quick search bar 2022-05-13 04:28:56 -04:00
Dan Stillman
26c4bea4fd fx-compat: .boxObject was removed in Fx69
https://bugzilla.mozilla.org/show_bug.cgi?id=1519948
2022-05-13 04:28:56 -04:00
Dan Stillman
0717612b4b fx-compat: Remove contentAreaContextMenu menupopup
No longer necessary
2022-05-13 04:28:56 -04:00
Dan Stillman
260c110d05 fx-compat: Convert itembox XBL to custom element
Still lots of things to fix, particularly with styling, but the basic
functionality is there.
2022-05-13 04:28:56 -04:00
Dan Stillman
87f2716da8 fx-compat: zoteroPane.xul → zoteroPane.xhtml 2022-05-12 05:18:47 -04:00
Dan Stillman
abfa09df51 fx-compat: loadURI() signature change in HTTP.loadDocuments() 2022-05-12 05:18:47 -04:00
Dan Stillman
59fd8247b4 fx-compat: Remove overlay.js, since overlays no longer exist 2022-05-12 05:18:47 -04:00
Dan Stillman
d635fdda41 fx-compat: AddonManager.getAllAddons() now returns a promise 2022-05-12 05:18:47 -04:00
Dan Stillman
94c7e0674d fx-compat: Remove 'context' from onStartRequest()/onStopRequest()/etc. 2022-05-12 05:18:47 -04:00
Dan Stillman
3a77abc8d2 fx-compat: Zotero files are now packaged in app/omni.ja, not zotero.jar 2022-05-12 05:18:47 -04:00
Dan Stillman
004d5db2c3 fx-compat: Services.console.getMessageArray() returns an actual array 2022-05-12 05:18:47 -04:00
Dan Stillman
fb8984c947 fx-compat: XULDocument → XMLDocument 2022-05-12 05:18:47 -04:00
Dan Stillman
46a52b3e3e fx-compat: Update locales code 2022-05-12 05:18:47 -04:00
Dan Stillman
6d5b2c3d12 Fx-compat: nsIUTF8ConverterServicensIScriptableUnicodeConverter
It's not totally clear what this does or if it's necessary (see #1540),
but this is a replacement that Thunderbird used.
2022-05-12 05:18:47 -04:00
Dan Stillman
bbecb4d0bd fx-compat: Add appcontent container to zoteroPane.xul
Part of inlining XUL

(View with -w for real diff)
2022-05-12 05:18:47 -04:00
Dan Stillman
1bb99a6bc8 fx-compat: nsIWebNavigation::loadURI() signature change 2022-05-12 05:18:47 -04:00
Dan Stillman
b6f5d7183f fx-compat: Remove use of tree.treeBoxObject and change getCellAt() signature
Properties and methods are now available on the tree itself, and
getCellAt() now returns an object instead of using in-out variables.
2022-05-12 05:18:47 -04:00
Dan Stillman
ee78dd308b fx-compat: Remove XBL stylesheets (WIP) 2022-05-12 05:18:47 -04:00
Dan Stillman
3f64310d45 fx-compat: Inline all XUL overlays 2022-05-12 05:18:47 -04:00
Dan Stillman
dd2ff63019 fx-compat: Replace nsIDOMParser with new DOMParser() 2022-05-12 02:38:59 -04:00
Dan Stillman
993320655e fx-compat: Throw error if generator is passed to DB.executeTransaction() 2022-05-12 02:38:59 -04:00
Dan Stillman
03242e8984 fx-compat: DB.executeTransaction() no longer takes generator functions 2022-05-12 02:38:59 -04:00
Dan Stillman
ccbc785499 fx-compat: XPCOMUtils.generateQI() → ChromeUtils.generateQI() 2022-05-12 02:38:59 -04:00
Adomas Venčkauskas
4d35cdf095 Remove unneeded constant in virtualized table 2022-05-10 17:03:34 +03:00
Adomas Venčkauskas
eb6b14a218 Fix item tree column resizing issues
Report https://forums.zotero.org/discussion/97077/problem-with-column-width-adjustment
2022-05-10 17:02:36 +03:00
Adomas Venčkauskas
a406e62fd3 Item Tree: Fix column dividers not aligned for second-level items
Closes #2605
2022-05-10 13:52:32 +03:00
Adomas Venčkauskas
aa483f579f HTML tree: Find-as-you-type remains on matching string.
Closes #2607
2022-05-10 13:35:31 +03:00
Abe Jellinek
db5b535ea6 Update translate submodule 2022-05-07 20:34:37 -07:00
Adomas Ven
c49a05d486
Improve column resizing robustness (#2588)
Also:

* Add staticWidth and minWidth column properties
2022-05-03 03:00:23 -04:00
Martynas Bagdonas
01645c5e51
Pin library tab (#2589)
Fixes #2575
2022-05-03 01:21:59 -04:00
Abe Jellinek
097308c5c6 Update utilities submodule 2022-05-02 17:12:39 -07:00
Dan Stillman
b6fdeeca13 Fix deadlock in integrity check before DB schema upgrade
One of the repair steps uses a transaction, which is reasonable, so
don't run integrity check within transaction at startup.
2022-05-01 02:14:45 -04:00
Dan Stillman
d201fdc119 Fix target is undefined error during upgrade from Zotero 4
https://forums.zotero.org/discussion/96811/database-upgrade-error-when-migrating-from-version-4-0-to-6-0-directly-skipping-zotero-5

Regression from 078e3bb07, probably
2022-05-01 02:14:36 -04:00
Dan Stillman
5e0674b842 Add logging for PDF exports 2022-04-30 05:17:41 -04:00
Abe Jellinek
9829ea7009
Update utilities, move tests, add to CI (#2584) 2022-04-30 04:55:11 -04:00
Adomas Venčkauskas
ff920de130 Fix integration transaction getting stuck when google docs tab is closed
Closes #2583
2022-04-29 15:19:20 +03:00
Adomas Venčkauskas
fca16d2ad5 Fix find-as-you-type not matching beyond first letter
Closes #2581
2022-04-29 15:19:20 +03:00
Martynas Bagdonas
70c9bef320 Switch tabs with Cmd-Option-←/→
Fixes #2475
2022-04-29 12:56:04 +03:00
Abe Jellinek
3bfc6740c4
Add tests for improved compareCallNumbers (#2579) 2022-04-28 04:43:30 -04:00
Abe Jellinek
5196ba379b
Update typeSchemaData and builder script (#2576) 2022-04-28 02:12:29 -04:00
Martynas Bagdonas
fe14ee79a3 Show a few missing options in Tools menu when PDF reader tab is open
Fixes #2502
2022-04-27 18:20:41 +03:00
Martynas Bagdonas
41bdd36068 Add an option to disable smart quotes
Fixes #2524
2022-04-27 10:23:10 +03:00
Dan Stillman
a4cdaf0407 Show "Add Note from Annotations" in attachment context menu 2022-04-27 02:34:42 -04:00
Dan Stillman
c405fa76a1 Add sortNotesChronologically.reader pref for PDF reader notes list
And default to true. I forgot we were sorting reverse chronologically by
default in order to make it easy to open recent notes.

Follow-up to https://github.com/zotero/zotero/issues/2526 for
https://forums.zotero.org/discussion/96743/pdf-reader-two-feature-requests
2022-04-26 17:59:45 -04:00
Martynas Bagdonas
10c8fc4c74 Implement tab duplication
Fixes #2566
2022-04-26 19:41:51 +03:00
Abe Jellinek
89aaa10504
Sort LC call numbers better, sort integers as integers (#2569)
* Update utilities submodule after https://github.com/zotero/utilities/pull/8
* Extract and add tests
2022-04-26 04:11:29 -04:00
Martynas Bagdonas
7a06671ecb Fix undefined variable issue in annotation templates 2022-04-26 08:29:42 +02:00
Adomas Venčkauskas
d96ebad82a Allow adding multiple sources at once in classic citation dialog.
Closes #2568
2022-04-25 13:28:00 +03:00
Adomas Venčkauskas
1be2d69f1e Log integration invocations before other integration actions 2022-04-25 12:43:48 +03:00
Martynas Bagdonas
b8d427790c Fix error when using a note template and checking if array is not empty 2022-04-23 14:52:24 +07:00
Adomas Venčkauskas
d9463daa66 HTML Tree: Search by typing loops instead of starting from beginning
Closes #2559
2022-04-22 10:58:25 +03:00
Martynas Bagdonas
c1fde1d3d9 Improve tab title visibility and adjust scroll arrow scroll step
Fixes #2554
Fixes #2553
2022-04-22 13:07:18 +07:00
Dan Stillman
031ff1824b Fix middle click to close tabs (#1993) 2022-04-21 12:23:14 -04:00
Martynas Bagdonas
a8cb9bfddd Restore custom note styling
Fixes #2560
2022-04-21 13:17:04 +07:00
Abe Jellinek
f91ca9c18a Don't merge with a deleted master attachment 2022-04-20 11:04:24 -07:00
Martynas Bagdonas
142e3b09f8
Unload tabs (#2500)
- Keep all tabs unloaded on Zotero opening.
- Keep loaded only the last five selected tabs.
- Keep loaded only in the last 24h selected tabs.

Fixes #2383
2022-04-20 03:14:50 -04:00
Dan Stillman
578986ab1e Fix item types not appearing in New Item submenu
https://forums.zotero.org/discussion/96530/a-issue-about-new-item-drop-down-menu

After a type from the submenu was selected and added to the MRU, the
submenu wouldn't be updated. Not sure how long this has been going on.

Fixes #2534
2022-04-19 23:04:18 -04:00
Martynas Bagdonas
5d442b706e
Make tab bar scrollable (#2506)
Fixes #2232
2022-04-19 18:51:32 -04:00
Adomas Ven
7b0d6951d2
Update csl validator for CSL 1.0.2 (#2493) 2022-04-19 18:42:48 -04:00
Dan Stillman
3f10e4c064 Bad JSON in sync cache shouldn't break syncing
https://forums.zotero.org/discussion/95926/zotero-not-syncing-report-id-1924846177
2022-04-19 17:49:13 -04:00
Adomas Venčkauskas
5ca8486047 Adjust conditional clause for Windows from 76276a3 2022-04-15 11:21:07 +03:00
Adomas Venčkauskas
76276a39ce HTML Tree: adjust row padding per OS 2022-04-15 11:15:40 +03:00
Abe Jellinek
e8ad2fab95
getSortTitle: Only strip initial punctuation clusters (#2537)
Specifically exclude @, #, and *
2022-04-15 02:08:14 -04:00
Dan Stillman
498e38730b Update translate submodule 2022-04-14 18:06:32 -04:00
Abe Jellinek
d842e7a9bc Fix save() without transaction when saving search 2022-04-14 14:39:34 -07:00
Adomas Venčkauskas
01506b27e9 Allow moving cursor by clicking on collection name while editing
Closes #2513
2022-04-14 17:03:54 +03:00
Adomas Venčkauskas
599c6821b7 Ensure columns don't resize when switching tabs 2022-04-14 16:51:13 +03:00
Abe Jellinek
1538a836b9
Show label of translator that causes import error (#2539) 2022-04-14 07:01:43 -04:00
Dan Stillman
08d3880d88 Don't remove relations in annotation item JSON
This was causing UUIDs for annotations from Mendeley imports to be
removed after a sync, resulting in annotations being duplicated on a
reimport.
2022-04-14 06:37:30 -04:00
Abe Jellinek
3792c89fbd Allow >4 numbers after the decimal point in Dewey
https://github.com/zotero/zotero/pull/2538#issuecomment-1097292396
2022-04-12 15:45:50 -07:00
Abe Jellinek
ce39185fa7
Sort call numbers alphabetically, handle Dewey specially (#2538) 2022-04-12 17:40:25 -04:00
Abe Jellinek
e03c1603ca Fix "%S" in displayed startup error message 2022-04-11 19:03:29 -07:00
Abe Jellinek
38f5551ee5
Add "Open PDF in New Window" to context menu (#2490)
Also:

* Remove Locate tooltips
2022-04-11 17:53:40 -04:00
Abe Jellinek
a5fc8b859c Context Pane: Use getNoteTitle()
ad36c9fb2a (r71022779)
2022-04-11 13:36:03 -07:00
Abe Jellinek
b8b1f8be55
Disable Import actions in uneditable libraries (#2471) 2022-04-11 16:12:43 -04:00
Abe Jellinek
ad36c9fb2a Context Pane: Sort notes in item tree order
Fixes #2526.
2022-04-11 10:13:50 -07:00
Abe Jellinek
892c1169c8 Attachment merge: Compare link mode type
Actually fixes #2527.
2022-04-11 09:30:16 -07:00
Adomas Venčkauskas
237bd8f0ce Fix Restore Column Order in Item Tree not always working
Closes #2521
2022-04-11 13:55:30 +03:00
Adomas Ven
4c445554a3
Item Tree: Attempt to fix OS font scaling (#2488) 2022-04-11 05:16:59 -04:00
Martynas Bagdonas
2af7275968 Fix template condition evaluating to true for empty string from function
Fixes #2529
2022-04-11 12:22:20 +07:00
Abe Jellinek
be0b0a7151
Always autocomplete creators in hideEditor (#2516) 2022-04-11 00:21:14 -04:00
Abe Jellinek
47a2f3cad9 Attachment merge: Compare linkModes, improve logging
Using keys instead of IDs should make logs more useful.
Fixes #2527.
2022-04-09 20:39:37 -07:00
Dan Stillman
0df8b7670d Fix broken tag selector with colored tags that differ with normalization
https://forums.zotero.org/discussion/96138/lost-content-in-tag-selector

An entered character from the CJK_COMPATIBILITY_IDEOGRAPHS block (char
code 63834, or similar) was normalized to the CJK_UNIFIED_IDEOGRAPHS
block (char code 35712), which then caused an expected key not to exist.

To fix, normalize colored tag values coming from the DB.
2022-04-09 06:24:17 -04:00
Martynas Bagdonas
2112aa7271 Don't jump back to library tab when PDF recognition finishes 2022-04-08 15:31:28 +07:00
Adomas Venčkauskas
b850d16c89 Fix integration error handling code when citeproc-rs disabled.
Closes #2508
2022-04-08 10:41:35 +03:00
Martynas Bagdonas
bdbde99fa7 Remove alpha channel from highlight color when inserting a note
Fixes #2499
2022-04-08 13:00:33 +07:00
Abe Jellinek
dea9fc5e88 Scaffold: setInterval -> activate listener 2022-04-07 19:50:13 -07:00
Abe Jellinek
a40ab83b71
Fix double separator in Edit menu on Win/Linux (#2507) 2022-04-06 23:42:13 -04:00
Abe Jellinek
fbaa1c6e61 Fix huge Scaffold toolbar icons on Win/Linux 2022-04-05 14:50:05 -07:00
Adomas Venčkauskas
c510d91461 Fix an error that causes test failures (regression 9a5657b) 2022-04-05 10:08:10 +03:00
Adomas Venčkauskas
5b9ac2ca53 Fix a non-terminal startup error introduced in d7b1a53 2022-04-05 10:08:10 +03:00
Adomas Venčkauskas
9a5657bf79 Item Tree: Fix fixed-width columns sometimes changing width 2022-04-04 16:06:51 +03:00
Martynas Bagdonas
f877476c1a Partially disable buggy ff <64 table resizing handles in note-editor
Unfortunately the first opened note will still have the handles.
2022-04-01 17:09:08 +07:00
Martynas Bagdonas
3f4030ff80 Allow copying image annotations to external text fields
Fixes #2447
2022-04-01 17:09:08 +07:00
Abe Jellinek
a5b3d6440b
Fix next duplicates set selection after merge (#2448) 2022-03-31 17:46:30 -07:00
Martynas Bagdonas
3356557493 Add 'Zoom to Page Height' PDF reader option
Fixes #2255
2022-03-31 15:52:00 +07:00
Martynas Bagdonas
8e54f1649b Add annotation to note at cursor position
Fixes #2487
2022-03-31 12:14:11 +07:00
Abe Jellinek
e922ae711a Fix ProgressQueue titles for cases, letters, etc.
Handles items with an alternate field that maps to title (like cases)
and items for which the title is usually filled in by updateDisplayTitle()
(like letters).
2022-03-30 16:30:07 -07:00
Abe Jellinek
2a1ce292d2 Remove Note Font Size -> Reset restart prompt
+ replace empty menuitem with a divider as in the Font Size menu.
2022-03-30 14:55:48 -07:00
Abe Jellinek
27c9086222 Scaffold: Show "defer" value in test list 2022-03-30 14:49:42 -07:00
Abe Jellinek
745069c070 Don't strip punctuation before numbers
Fixes #2496
2022-03-30 11:58:55 -07:00
Dan Stillman
f2209974b2 Don't show "Export PDF" in reader
Save As already exists
2022-03-30 14:13:24 -04:00
Dan Stillman
e0097df068
Remove "Store Annotations in File" option (#2498)
This is a confusing, bad option, which was already disabled in groups,
and this removes it from personal libraries as well. People seem to be
using it mainly because they think annotations are locked into Zotero if
they don't, which is causing them to ask for this to be done
automatically on every edit, which we don't do because it would result
in constant file syncing and file conflicts [1].

We provide multiple export options for exporting PDFs with annotations,
and people can use those when sharing a file with people who don't use
Zotero. Otherwise, if storing annotations in the file is a priority,
they can use an external reader that's not designed to be tightly
integrated into Zotero.

(As a rare hack, it's of course also possible to export the PDF with
annotations, replace the original file, and import the annotations.)

[1] https://www.zotero.org/support/kb/annotations_in_database
2022-03-30 13:58:59 -04:00
Tom Najdek
56321a7a6d
Fix regression: download() fails for non-http URLs (#2497)
This fixes compatiblity with some addons that use Zotero.File.download
to extract files from their XPI bundle.
2022-03-30 12:15:40 -04:00
Tom Najdek
776769f480
Citavi import: Tweak how page label is determined (#2494)
Instead of attempting to extract `PageRange` value we now let pdf worker
always determine page label.

Also improved citavi tests and fixtures.
2022-03-30 09:34:07 -04:00
Abe Jellinek
a9d7a08a05 Fix merge interface doubling rows in master selector
Master choices would occasionally be doubled in the listbox. Clearing
the innerHTML instead of using removeItemAt() fixes the issue.
2022-03-28 13:24:59 -07:00
Adomas Venčkauskas
d7b1a53248 HTML Tree: Improve item tree column header alignment.
Addresses #2153
2022-03-28 13:32:17 +03:00
Dan Stillman
17d9f06b65 Update more try-wrapped calls to getString 2022-03-27 02:37:49 -04:00
Abe Jellinek
470d9cd7c2 Update more try-wrapped calls to getString 2022-03-25 16:49:52 -07:00
Abe Jellinek
82228a1072 Search: Use item field localization if string == key
91faa73b19 made getString return the key
instead of throwing on non-en-US locales, so we check if the getString
result is equal to the key even if it doesn't throw.

Fixes #2472.
2022-03-25 16:35:01 -07:00
Abe Jellinek
a3322a9afb
Merge pull request #2397 from AbeJellinek/scaffold-sanitize-for-display 2022-03-25 11:59:05 -07:00
Martynas Bagdonas
4dcb3e7a53 Fix deletion confirmation and copying in standalone PDF reader window
Fixes #2462
2022-03-25 15:53:49 +02:00
Martynas Bagdonas
2f5974e1ab Reduce probability of annotation comment/text being cleared while typing
Fixes #2361
2022-03-24 13:40:43 +02:00
Dan Stillman
91faa73b19 Don't throw from getString() for missing strings in non-English locales
Just show the key

We still merge strings before pushing betas, but this means it won't
crash for source builds, or if we forget. Not sure why we didn't do this
15 years ago.
2022-03-24 07:06:53 -04:00
Dan Stillman
1d1adbca70 Fix error merging items with missing attachment files
Fixes #2453
2022-03-24 06:39:47 -04:00
Adomas Venčkauskas
f7e49630c8 Fix some more column picker brokenness 2022-03-24 11:00:16 +02:00
Adomas Venčkauskas
c87b40e5ca Fix secondary sort submenu breakage in 8e31bf5b 2022-03-24 10:33:58 +02:00
Adomas Venčkauskas
8e31bf5b6d Possible fix for missing More Columns submenu. Addresses #2443 2022-03-24 10:28:37 +02:00
Martynas Bagdonas
62f07a7356 Upgrade note-editor schema to v8:
- Allow highlight and citation nodes in headers

Fixes #2467
Related #2390
2022-03-24 10:21:04 +02:00
Adomas Venčkauskas
229f42bed2 HTML Tree: Change Cu.reportError() to Zotero.logError() 2022-03-23 13:28:46 +02:00
Martynas Bagdonas
23a4a14b44 Upgrade note-editor schema to v7:
- Allow ul/ol nodes to have `dir` attribute
2022-03-23 12:35:08 +02:00
Adomas Venčkauskas
c083c69be1 Fix note insertion dialog not appearing when classic mode is enabled.
Closes #2463
2022-03-23 11:58:06 +02:00
Dan Stillman
fcb16f628b Fix "path.startsWith is not a function" sync error on Windows
`OS.Path.join()` on Windows throws if an integer is passed. Seems like
this would happen on another computer whenever an image annotation is
deleted in a group?
2022-03-23 00:01:00 -04:00
Dan Stillman
37c48dc3ee Remove Zotero.Items.moveChildItems() transaction requirement exception
Follow-up to 734057ff9b

This was supposed to allow ZotFile to continue to work but 1) it
contained a bug and 2) another transaction messed things up for ZotFile
anyway, so we'll just fix this in jlegewie/zotfile#593.
2022-03-22 18:07:40 -04:00
Abe Jellinek
95d8b37f0a Potentially fix ProgressWindow crash
The call to _window.addEventListener() might have been causing an error
when _window was null or undefined (no main Zotero window could be
found), which would prevent _windowLoading from being set to true and
the window from being added to the ProgressWindowSet, which might have
caused unpredictable behavior when positioning windows later on.

I could only briefly reproduce the issue, so this is just one idea. The
call to addEventListener on a potentially null _window was definitely a
bug but I don't know if it caused the crash.
2022-03-22 12:55:47 -07:00
Adomas Venčkauskas
227b6354de Item Tree: Reset scrollbar to top on collection change 2022-03-22 13:58:02 +02:00
Adomas Venčkauskas
25230b0fca HTML Tree: Fix focused row losing focus sometimes not being redrawn 2022-03-22 13:58:02 +02:00
Dan Stillman
5df1017689 Correction to Scite access date fix in dc886d3cec 2022-03-22 06:01:30 -04:00
Dan Stillman
dc886d3cec Remove access dates broken by Scite
A non-date value ('INVALID_SCITE_VALUE') apparently gets output as
`false` in toJSON(), which results in a sync error.
2022-03-22 05:53:24 -04:00
Dan Stillman
d14a8b1d92 Put Scite cleanup code in a try/catch
Just to be safe
2022-03-22 05:01:50 -04:00
Dan Stillman
f8e9aa147b Add temporary code to fix invalid values from Scite at startup
https://github.com/scitedotai/scite-zotero-plugin/issues/38
2022-03-22 05:00:28 -04:00
Dan Stillman
f95bf41d13 Revert "Fix "cleanDOI: argument must be a string" startup error"
This reverts commit 8763190328.

This is caused by the Scite plugin, and it's better to block startup
until this is fixed, since it's wrecking other fields too.
2022-03-21 23:49:33 -04:00
Dan Stillman
174f1aadde Fix error adding group item before syncing in Zotero 6
Fixes #2440
2022-03-21 22:50:43 -04:00
Dan Stillman
8763190328 Fix "cleanDOI: argument must be a string" startup error
Due to 0 integer value for DOI from somewhere (a plugin?)

https://forums.zotero.org/discussion/comment/402388/#Comment_402388
https://forums.zotero.org/discussion/comment/402391/#Comment_402391
2022-03-21 22:02:54 -04:00
Abe Jellinek
bca76319ce
getSortTitle: Strip less punctuation, trim (#2442)
Now it:

1. Strips punctuation at the beginning, no matter what it is.
2. Strips non-dash punctuation in other positions.
3. Trims the result.

This should better prevent numerical ranges from being joined into a
single number that ends up incorrectly being sorted to the very bottom.
2022-03-21 20:06:27 -04:00
Martynas Bagdonas
388d18d017 Terminate PDF worker after processing PDFs queue
Fixes #2421
2022-03-17 14:26:07 +02:00
Martynas Bagdonas
edf0c31bdb Remove old note editor binding 2022-03-17 11:18:17 +02:00
Abe Jellinek
b1d11bf7dc Really fix lastSync log spam
6b6c27029b didn't do the trick because
library.lastSync can be false and the ?. operator doesn't catch that.
2022-03-15 10:43:17 -07:00
Abe Jellinek
8a235c07f1 Fix et al. regex for sorting by creator
\. -> \\. and apply the same escaping to general.and.
2022-03-15 10:05:09 -07:00
Martynas Bagdonas
26e4de500e Fix overflowing itemPane and hidden contextPane for new profiles, in stacked view
Fixes #2305
2022-03-15 18:27:18 +02:00
Martynas Bagdonas
982b41359b Fix oversized tagBox icons in standalone PDF reader window
Fixes #2143
2022-03-15 18:27:18 +02:00
Martynas Bagdonas
d02eb145d5 Fix copying over PDF reader context pane
Fixes #2408
2022-03-15 18:27:18 +02:00
Martynas Bagdonas
d4339f20bd Don't try to modify non-editable annotation item when saving image 2022-03-15 11:04:02 +02:00
Martynas Bagdonas
769bfbc892 Fix PDF reader up/down keyboard navigation regression in RTL mode 2022-03-15 09:53:11 +02:00
Martynas Bagdonas
59caaf56ea Fix PDF reader keyboard navigation in RTL mode 2022-03-14 17:25:28 +02:00
Adomas Venčkauskas
12cd201b48 HTML Tree: Multi-selection fixes
- Clarification between focused row and pivot:
  - Pivot is only the row from which shift-selection pivots
  - Focused row is the one with the border around it
- Fixed an issue where clicking the focused row didn't select it.
  Closes #2402
- Allows to create a non-contiguous range-selection with ctrl/cmd+shift.
  Closes #2403
2022-03-14 14:57:59 +02:00
Dan Stillman
3ec883a7f6 Get attachment text on-demand if not cached in Item::attachmentText
Follow-up to 58f515058 with a better approach: if no full-text cache
file, just get text directly without indexing. In the one existing use
of `attachmentText`, attachment merging, this is better anyway, because
we might be deleting the file, so there's no point wasting time
inserting words into the database.
2022-03-12 20:22:29 -05:00
Dan Stillman
58f5150583 Don't automatically index full-text content in Item::attachmentText
Indexing starts a transaction, which will cause `.attachmentText` to
hang if accessed within another transaction. If a caller wants to make
sure it has attachment text, it should index items first outside a
transaction.
2022-03-12 19:11:02 -05:00
Dan Stillman
6aa401bceb Don't show annotation-only tags in tag selector 2022-03-12 03:00:40 -05:00
Martynas Bagdonas
c7972b3d38
Improve keyboard navigation in PDF reader tab (#2395) 2022-03-12 02:22:13 -05:00
Abe Jellinek
6b6c27029b
Fix log spam when library hasn't been synced (#2409)
This happens a lot during tests - library.lastSync is null, so
showAutoSyncReminder() throws. It doesn't fail tests but it does spam
the log.
2022-03-11 20:19:02 -05:00
Abe Jellinek
80bb40b153 Fix error when menus haven't been created 2022-03-11 14:02:07 -08:00
Abe Jellinek
52bc93adc9 Always select new items, disable File -> New Item appropriately
Fixes #2405. This also fixes an issue where Cmd/Ctrl-Shift-N in a
collection like Duplicate Items would open the item type menu on top of
a blank white item pane (since the new item didn't get selected first).
2022-03-11 13:42:15 -08:00
Abe Jellinek
c9ccd758bc Fix undefined error when new collection title is empty 2022-03-11 13:08:33 -08:00
Martynas Bagdonas
78e1e8593a Fix note template condition evaluating to true on empty array
Fixes #2386
2022-03-11 17:04:47 +02:00
Abe Jellinek
ef82becf00
Merge attachments and update notes (#2336)
We follow a different merge procedure for each attachment type:

- For PDF attachments, compare by MD5. If no match, get the top 50 words
  in the attachment's text and hash those, then check again for a match.
  Update references to item keys in notes and annotations.
- For web (snapshot / link) attachments, compare by title and URL.
  Prefer a title + URL match but accept a title-only match.
- For other attachment types, keep all attachments from all items being
  merged.

Also:

- Move most merge tests from Duplicates to Items#merge(). It just doesn't
  make sense to worry about the UI in these.
2022-03-09 17:26:26 -05:00
Abe Jellinek
ed31a11fce Scaffold: Sanitize items for display more accurately 2022-03-09 11:42:16 -08:00
Tom Najdek
1ad2056674
Add support for importing Citavi annotatons (#2351) 2022-03-09 04:06:44 -05:00
Dan Stillman
c7ece79f79 Fix missing creators not being removed in item.fromJSON()
Apparently there's been a bug for years where removing a creator
remotely hasn't caused it to be removed locally via sync...

https://forums.zotero.org/discussion/94910/desktop-app-not-correctly-syncing
2022-03-09 02:43:22 -05:00
Abe Jellinek
cc47359080 Update translate submodule 2022-03-07 13:46:07 -08:00
Abe Jellinek
6ad829a7e5 Set sync reminder lastDisplayed when dismissed by sync 2022-03-07 09:39:40 -08:00
Dan Stillman
e5558b6f3e Remove note backup functionality
Closes #2191
2022-03-05 06:12:29 -05:00
Dan Stillman
053d6a0116 Add Preprint item type
See zotero/zotero-bits#88
2022-03-05 02:03:29 -05:00
Dan Stillman
d750da089f Show clearer error for SSL certificate error
For both startup proxy auth requests and subsequent requests to
zotero.org domains

Closes #2337
2022-03-05 02:03:29 -05:00
Dan Stillman
f6bd7269ae Fix changing locale via keyboard on Windows
(And maybe Linux)

https://forums.zotero.org/discussion/94866/beta-6-0-no-shortcut-key-could-be-applied-in-language-of-advanced-setting
2022-03-05 00:48:44 -05:00
Martynas Bagdonas
3c42103848
Allow to Quick Copy annotations (#2377) 2022-03-04 03:52:23 -05:00
Dan Stillman
6da38c292e Scaffold: Tweak tooltip text for Run and Update button 2022-03-02 22:36:44 -05:00
Abe Jellinek
5409ae3313 Overhaul Scaffold (#2293) 2022-03-02 22:36:04 -05:00
Abe Jellinek
d82981d601
Fix item tree jumping to top on focus without selection (#2347) 2022-03-02 14:55:01 -05:00
Adomas Ven
b38d7107d8
HTML Tree: Add a dotted border to pivot rows (#2375) 2022-03-02 05:41:59 -05:00
Dan Stillman
c0ab16e79d Merge pull request #2354
Add sync reminders
2022-03-02 05:25:38 -05:00
Dan Stillman
706233c974 Sync reminders changes (#2354)
- Adjust text
- Add "Learn More" button with link to sync documentation for
  set-up-sync notification
- Show "Don't Show Again" for set-up-sync even on first display
- Don't perform any action when clicking unlinked text
- Use yellow/orange background instead of blue for notification bar
- Prevent text from wrapping out of the bar at narrow window widths
- Use local variable for observer id
2022-03-02 05:20:34 -05:00
Abe Jellinek
b0f09b3a86 Sync reminders changes (#2354)
- Always wait seven days, standardize casing
- Enable auto-sync without opening preferences
- Implement suggestions
2022-03-02 05:20:22 -05:00
Fletcher Hazlehurst
1a3f6301b7 Add syncing reminders (#2354)
There are two:
- Sync never set up (no username in DB) / set up, but unlinked
- Sync set up but auto-sync disabled and sync not completed in 30 days

Checks are trigged on item adds.
2022-03-02 05:19:10 -05:00
Abe Jellinek
939ee6159d Use XRegExp in getSortTitle()
Fixes #2372
2022-03-01 16:37:13 -08:00
Dan Stillman
1cc03492c4 Split annotations on sync error
Follow-up to b7f26c47c1
2022-03-01 05:09:15 -05:00
Dan Stillman
a10fcfd58e Speed up comparison of items with huge numbers of tags
Can cause a freeze while syncing items with 1000s of tags
2022-03-01 02:45:07 -05:00
Martynas Bagdonas
b7f26c47c1 Split annotation if position data exceeds the limit 2022-02-28 20:10:20 +02:00
Abe Jellinek
b54466f089 Fix error restoring top-level notes & attachments
Fixes #2369
2022-02-28 08:18:59 -07:00
Martynas Bagdonas
003b3db281
Implement custom keyboard navigation (#2317) 2022-02-23 13:00:57 -05:00
Dan Stillman
1743360de7
Merge pull request #2366 from AbeJellinek/short-title-column
Add Short Title item tree column
2022-02-22 15:40:45 -05:00
Abe Jellinek
2e74bdd2ad De-duplicate column strings and use getString() 2022-02-22 10:59:07 -08:00
Dan Stillman
8d81705831 Move Duplicate Item in items list context menu
Move below Add to Collection and Remove from Collection
2022-02-21 23:16:49 -05:00
Abe Jellinek
f333585d98
Add items to collection via context menu (#2360) 2022-02-21 19:36:37 -05:00
Abe Jellinek
198ae65b4a Fix Import placing items in feeds/uneditable libraries 2022-02-21 15:40:19 -08:00
Abe Jellinek
fb98fe5d2c Add Short Title item tree column 2022-02-21 14:50:43 -08:00
Dan Stillman
ca3fd80825 Remove use of Promise.tap() from Bluebird and our own Promise.check() 2022-02-21 15:46:23 -05:00
Dan Stillman
4d79e162c9 Remove DB diagnostics for missing schema updates problem 2022-02-21 15:13:43 -05:00
Dan Stillman
7700cd776a Repeat itemAnnotations schema update step after 078e3bb079 2022-02-21 15:13:38 -05:00
Dan Stillman
078e3bb079 Switch from Bluebird coroutine to async/await for DB/schema
We've been seeing some behavior in `Schema::_migrateUserDataSchema()`
that should be impossible, with conditional blocks totally skipped. I
can't see how this is anything other than either a JS engine bug with
generators or some sort of bug in our version of Bluebird, but with any
luck it will go away by switching everything to async/await.
2022-02-21 15:13:05 -05:00
Dan Stillman
9a2aec970d Load styles list in preferences even if custom style has an invalid date
A bundled style will get replaced from the repo if it has an invalid
date, but a custom style would result in an empty list.

https://forums.zotero.org/discussion/comment/399774/#Comment_399774
2022-02-21 15:12:46 -05:00
Adomas Ven
191e43dcfa
Delay querying attachment state from DB on tree scroll (#2357)
This improves item tree fast-scrolling performance when attachment
column is enabled, but adds a noticable attachment state pop-in
2022-02-21 13:28:15 -05:00
Martynas Bagdonas
b71367760d Don't jump to library tab when closing tab after startup
Fixes #2362
2022-02-21 18:43:04 +02:00
Martynas Bagdonas
822f821718 Set the current author name when creating an annotation in a group
Fixes #2322
2022-02-21 18:11:56 +02:00
Martynas Bagdonas
04fa89ffc8 Don't copy/import/delete note images if library files aren't editable
#2364
2022-02-21 18:11:56 +02:00
Adomas Venčkauskas
000599bfff Do not load citeproc-rs on Style.init() unless it's enabled
Closes #2363
2022-02-21 13:50:08 +02:00
Abe Jellinek
48a3235a2e
Disable Delete/Restore menu items appropriately (#2340) 2022-02-20 11:45:53 -05:00
Abe Jellinek
13f48ec5c7
Render markup in item tree, strip when sorting (#2355) 2022-02-19 15:49:35 -05:00
Dan Stillman
a45da8df17 Add Greek locale 2022-02-19 14:18:50 -05:00