Commit graph

106 commits

Author SHA1 Message Date
Dan Stillman
99dd1c0697 Merge branch '4.0'
Since modal windows (e.g., the Create Bib window and the Quick Copy site
editor window) can't use yield, style retrieval
(Zotero.Styles.getVisible()/getAll()) is now synchronous, depending on a
previous async Zotero.Styles.init(). The translator list is generated in
the prefs window and passed into the Quick Copy site editor, but it's
possible the translators API should be changed to make getTranslators()
synchronous with a prior init() as well.
2015-06-27 16:59:58 -04:00
Dan Stillman
80d5b74cf3 Merge 4.0 up to 28301ea45f
Conflicts:
	chrome/content/zotero/preferences/preferences_export.js
	chrome/content/zotero/xpcom/proxy.js
2015-05-26 17:48:22 -04:00
rmzelle
06e6168cb4 Implement locale drop-down menus 2015-05-26 00:12:04 -04:00
LinuxMercedes
34c0e746f5 Add an option to not show the proxy redirection notification 2015-05-25 17:38:24 -05:00
Dan Stillman
d9553b3cb2 Remove default for lastViewedFolder pref
The library row now has a different format, and My Library is selected by
default anyway.
2015-05-13 11:20:12 -04:00
Dan Stillman
bdd69d0a53 Merge branch '4.0' into api_syncing 2015-03-16 23:41:10 -04:00
Simon Kornblith
c2d32c2e27 Just give up on trying to automate the panel itself 2015-03-09 16:49:50 -04:00
Dan Stillman
424ee72f58 Additional icon changes
- Add high-res webpage icon
- Show webpage icon in grayscale when no translator (except on hover, for fun)
- Remove pre-Australis icons
- Switch to CustomizableUI API for toolbar icon
- Move icon generation code to separate file
- Add Zotero.hiRes flag for Retina/etc. displays (available only after a window
  has loaded)

Known issues:

- While the gray is mostly to be less distracting, the gray/color distinction
  will probably be lost on most people. A separate guidance panel for the gray
  icon might help.
- On pages with frames, the webpage icon appears first and then is replaced
  with a translator icon.
2015-02-18 17:10:19 -05:00
Frank Bennett
5cfe4db098 Use nav-bar as target ID for Zotero nav bar icon
The statusBarIcon pref is retained to maintain state across
starts.
2015-01-30 22:42:34 +09:00
Dan Stillman
db0fa3c33e Async DB megacommit
Promise-based rewrite of most of the codebase, with asynchronous database and file access -- see https://github.com/zotero/zotero/issues/518 for details.

WARNING: This includes backwards-incompatible schema changes.

An incomplete list of other changes:

- Schema overhaul
  - Replace main tables with new versions with updated schema
  - Enable real foreign key support and remove previous triggers
  - Don't use NULLs for local libraryID, which broke the UNIQUE index
    preventing object key duplication. All code (Zotero and third-party)
    using NULL for the local library will need to be updated to use 0
    instead (already done for Zotero code)
  - Add 'compatibility' DB version that can be incremented manually to break DB
    compatibility with previous versions. 'userdata' upgrades will no longer
    automatically break compatibility.
  - Demote creators and tags from first-class objects to item properties
- New API syncing properties
  - 'synced'/'version' properties to data objects
  - 'etag' to groups
  - 'version' to libraries
- Create Zotero.DataObject that other objects inherit from
- Consolidate data object loading into Zotero.DataObjects
- Change object reloading so that only the loaded and changed parts of objects are reloaded, instead of reloading all data from the database (with some exceptions, including item primary data)
- Items and collections now have .parentItem and .parentKey properties, replacing item.getSource() and item.getSourceKey()
- New function Zotero.serial(fn), to wrap an async function such that all calls are run serially
- New function Zotero.Utilities.Internal.forEachChunkAsync(arr, chunkSize, func)
- Add tag selector loading message
- Various API and name changes, since everything was breaking anyway

Known broken things:

- Syncing (will be completely rewritten for API syncing)
- Translation architecture (needs promise-based rewrite)
- Duplicates view
- DB integrity check (from schema changes)
- Dragging (may be difficult to fix)

Lots of other big and little things are certainly broken, particularly with the UI, which can be affected by async code in all sorts of subtle ways.
2014-08-06 22:59:37 -04:00
Dan Stillman
dd477e15b8 Configurable secondary sorting and other improvements
- Each column in the middle pane can now have its own persistent
  secondary sort column, configurable from a new submenu in the column
  picker menu (top right of items list). The settings are stored in
  extensions.zotero.secondarySort.[primaryField]. The submenu title
  includes the current primary field (e.g., "Secondary Sort (Creator)"),
  which is pretty weird, and I'm not sure I want to keep it, but it does
  convey that the setting is specific to the selected column.

- The fallback sort fields (firstCreator, date, title, dateAdded) are
  now configurable via the extensions.zotero.fallbackSort. Setting that
  pref to an empty string avoids all fallback sorts, which
  allows reverse-order clicking to set the order, as requested by
  @aurimasv in #275.

- The previous behavior of sorting based on the exact Creator string
  (rather than the actual creators) can now be restored with the
  extensions.zotero.sortCreatorAsString pref. (It simply circumvents all
  the newer code, so it's pretty safe.) This setting should result in
  faster sorting in large libraries that have many items with the same
  Creator string.

- Some of the lesser fields in the column picker menu are now in the
  More Columns submenu (which is now alphabetical)

- The "Type" column is now the less-ambiguous "Item Type".

- This uses a different method to modify the column picker menu that is
  simultaneously less and more hacky. (It no longer has to duplicate
  Mozilla code in a custom XBL binding that wouldn't reflect future
  upstream changes, and instead it bushwhacks its way through various
  boxObject properties to get to the underlying menupopup.)
2014-05-07 05:15:07 -04:00
aurimasv
298d4b6c0e Disable RIS note attachments by default 2014-04-28 14:16:37 -05:00
Dan Stillman
a3a7a1d0cf Add pref to disable full-text syncing, and prompt existing users on sync
FT sync is enabled by default for new users and configurable in the Sync
prefs.

Also disable downgrades once full-text sync is enabled, since otherwise
someone switching back and forth between old and new versions could miss
full-text content updates.
2013-11-05 05:04:51 -05:00
Dan Stillman
1089856622 Closes #397, Support authenticated PAC setups in Standalone
Trigger a proxy authentication prompt at startup if a PAC file is
installed and one of a few randomly chosen big sites requires a proxy.

This also improves general proxy detection by not making a request
to S3 unless it would actually be proxied.
2013-10-17 20:03:06 -04:00
Dan Stillman
dc8998c5bc Add Firefox-wide shortcut (Ctrl/Cmd-Shift-S) for "Save to Zotero"
Also: Don't show Firefox-specific shortcut keys in Standalone prefs
2013-07-31 23:19:19 -04:00
Simon Kornblith
f2e411e7d3 Merge pull request #316 from aurimasv/pref-defaults
Add default values for translator hidden prefs.
2013-05-01 22:39:28 -07:00
Dan Stillman
e09295ee76 Fix compatibility with authenticated proxies
It's not clear when this became an issue, but our usual background HTTP
requests (set that way to avoid triggering auth prompts when saving from
websites) weren't triggering proxy authentication dialogs, which was breaking
most network activity in Standalone. To fix this, we now make a foreground
request at startup to a file on S3 and resolve the Zotero.proxyAuthComplete
promise when we're done. Any network requests that want to wait for proxy
authentication can wait for that promise.

This behavior can be disabled via the triggerProxyAuthentication hidden pref.
2013-05-01 06:29:31 -04:00
Aurimas Vinckevicius
bd395df90a Add default values for translator hidden prefs. 2013-04-27 19:23:34 -05:00
Dan Stillman
414d55346c Default on-demand download to off for now 2013-03-28 00:44:53 -04:00
Simon Kornblith
6efe6c5bd6 Move "Automatically abbreviate journal titles" setting to document preferences
The setting is disabled by default for existing documents, but enabled by
default for new documents.
2013-03-27 23:53:38 -04:00
Simon Kornblith
4d2cee7824 Support journal abbreviations
Currently disabled by default
2013-02-24 05:57:28 -05:00
Will S
b224c5cf66 Relative path support for linked files 2013-02-21 06:24:46 -05:00
Simon Kornblith
1c3890e837 Merge branch '3.0' 2013-01-26 00:29:08 -05:00
Dan Stillman
5b34dce40f Remove "Try to override conflicting shortcuts" pref
I probably should have removed this years ago in 292c357e when I made
the shortcut keys only work within the Zotero pane.
2013-01-22 18:38:00 -05:00
Dan Stillman
596c6da3ee Remove Commons code, which contains E4X
Some items pane code is still in place, since it's a decent example of
dynamic items pane loading.
2013-01-15 03:23:37 -05:00
Simon Kornblith
b3237ae5e5 Merge branch '3.0'
Conflicts:
	chrome/content/zotero/xpcom/http.js
	chrome/content/zotero/xpcom/translation/translate_firefox.js
2012-11-06 00:50:11 -05:00
Dan Stillman
dfd0a7ad83 Add option to skip tags when copying items between libraries 2012-11-02 05:45:26 -04:00
Simon Kornblith
ab72119dd0 Merge branch 'no-new-collection-on-import' 2012-06-11 00:21:40 -04:00
Simon Kornblith
57fe0f65ee Kill extensions.zotero.import.createNewCollection.fromFile and extensions.zotero.import.createNewCollection.fromClipboard preferences.
Imports from file via cog menu now always create a new collection, as before. Imports from clipboard never create a new collection.
2012-06-11 00:20:24 -04:00
Simon Kornblith
ac19b0490a Merge branch 'no-new-collection-on-import' 2012-06-10 22:39:41 -04:00
Simon Kornblith
68365e2297 Allow user to control whether files are imported into a new collection.
Adds three new preferences controlling whether a new collection is created upon import:
- extensions.zotero.import.createNewCollection.fromFile
	Controls whether a new collection is created by import from cog menu
- extensions.zotero.import.createNewCollection.fromClipboard
	Controls whether a new collection is created by import from clipboard
- extensions.zotero.import.createNewCollection.fromFileOpenHandler
	Controls whether a new collection is created when import is initiated by
	double-clicking a file or by dragging it over Zotero. This preference applies only to
	Zotero Standalone, and is configurable in the dialog that appears asking the user
	to confirm the import.

Closes #19, [papercuts] (26) Clipboard import into an open collection
2012-06-10 11:05:39 -04:00
Dan Stillman
d456117ebe Merge branch '3.0' 2012-05-03 17:56:32 -04:00
Dan Stillman
6b7774e9ac Change max simultaneous uploads to 2 2012-04-19 14:36:04 -04:00
Simon Kornblith
7c297f73ee Merge branch '3.0' 2012-04-02 18:55:37 -04:00
Simon Kornblith
8f0296baf3 Fix newlines in preferences file 2012-04-02 18:54:58 -04:00
Simon Kornblith
5c565c457f Set capitalizeTitles to false by default 2012-03-23 00:31:43 -04:00
Dan Stillman
fe29fb7985 Fix newlines in preferences file 2012-02-10 00:49:03 -05:00
Dan Stillman
f4804b66b5 Merge branch '3.0' 2012-01-27 00:24:50 -05:00
Simon Kornblith
d3ddc03dc6 Remove dbLockExclusive hidden preference 2012-01-26 23:44:21 -05:00
Dan Stillman
79b1fe30dc Workaround for broken file/URL launching in Standalone on Linux
Falls back to /usr/bin/xdg-open by default, configurable via
extensions.zotero.fallbackLauncher.unix (or .windows, though that
should be much rarer). Also used for file revealing.

If xdg-open fails, files launch via the external helper app dialog and
URLs just don't work.
2012-01-20 15:23:06 -05:00
Dan Stillman
758216638f On-demand download support
Can choose to download files "at sync time" or "as needed"

On-demand defaults to on, but remains off for existing users

To-do:

- Handling of local and remote file changes on on-demand download
  (currently if a file exists it isn't downloaded, which means a
  remotely modified file won't be redownloaded in on-demand mode)
- Additional control over file downloading and retention

Other changes:

- Overhauled entire file syncing architecture
- Replaced numAttachments column with Note and Attachment columns with
  dynamic icons to indicate status
- Double-clicking a parent with a missing best attachment and on-demand
  downloading off no longer loads the parent URL
- Bugs
2011-11-26 03:45:55 -05:00
Dan Stillman
7338e5e40f Change default style to chicago-note-bibliography 2011-11-04 16:58:46 -04:00
Dan Stillman
fbb0511c53 Increase submitSize to 10 million characters 2011-09-04 14:52:04 +00:00
Dan Stillman
5d92a9c43d Change debug.store.submitLimit to debug.store.submitSize and have it be the number of characters in the output, defaulting to 1 million 2011-09-02 05:17:30 +00:00
Simon Kornblith
b7210ec235 Missing preference from r10354 2011-09-01 06:53:01 +00:00
Dan Stillman
3b1cc39f21 Add debug.store.submitLimit and debug.store.submitLineLength prefs to limit number and length of debug output lines submitted 2011-08-30 23:10:23 +00:00
Simon Kornblith
3c0e11121f Add preference to put stack traces in debug output 2011-08-29 23:11:19 +00:00
Simon Kornblith
421e570ada Fix a bug in QuickFormat years and enable QuickFormat by default 2011-08-09 03:49:06 +00:00
Simon Kornblith
a66555e45b Orbtastic streamlined add citation dialog
Does not currently support sorting or citation editor, and has not been tested on any platform but OS X, so off by default for now. Can be enabled with the hidden pref extensions.zotero.integration.quickFormat.
2011-07-29 05:35:54 +00:00
Simon Kornblith
b114266fb3 - Closes #1832, Connectors should be able to retrieve translator data and code from server in the absence of Zotero Standalone
- Closes #1831, Connectors should be able to save via API in the absence of Zotero Standalone
- Fixes Zotero.Utilities.deepCopy() for arrays
- Fixes some circumstances where an error would not be saved for future error reporting
- Fixes connector status checking
2011-06-30 01:08:30 +00:00