Commit Graph

175 Commits

Author SHA1 Message Date
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
Dan Stillman
3d9853acaa Redo instead of toggling Z pane in text fields (except search bar) on OS X
Previously Cmd-Shift-Z worked for redo in text areas (Abstract, Extra)
but would toggle the Zotero pane in regular text fields. This change
allows Redo to work as expected.

The search bar gets focus when you first open the Zotero pane, though,
so we don't redo there, since it would be annoying if you couldn't close
the pane immediately with the same shortcut.
2014-04-30 14:29:59 -04:00
Simon Kornblith
26ea06524e Merge pull request #328 from aurimasv/pdfdrop
Add callback to importFromURL for drag-dropped PDFs instead of setTimeout
2014-04-27 21:32:27 -04:00
Dan Stillman
fe1bedcb8d Fix hang navigating by keyboard in Add Citation after switching views
https://forums.zotero.org/discussion/35658/
2014-03-24 16:31:53 -04:00
Simon Kornblith
6fa04103c2 Fix a bug where the Zotero pane would not close when opening Standalone
If Zotero Standalone was opened before Firefox, closed, and opened
again, the user would see a message stating Zotero Standalone was open,
but the pane would not have closed. This was purely cosmetic.
2013-12-14 02:07:36 -05:00
Dan Stillman
1e0674cf7c Fix some bugs adding items to various views
- Refresh Unfiled Items view when items are added
- Fix brief freeze ("too much recursion") adding an item to a search
  where the new item doesn't appear. Now, select the library root
  instead if a manually added item doesn't appear in the current view.
- Fix immediate closing of title field when adding an item to a
  collection rather than the library root
2013-11-21 19:52:13 -05:00
Simon Kornblith
0b92ad0037 Modify behavior on Zotero Standalone launch to account for failure
- Close Zotero pane before database is closed prior to reload, instead
  of waiting until reload is complete
- Show an error message if Zotero Standalone is not accessible when it
  should be
2013-11-05 15:52:40 -05:00
Dan Stillman
8bdac7015b Focus title on shortcut key new item even if item type isn't changed 2013-08-07 20:28:17 -04:00
Dan Stillman
39e92bacb3 Focus title field when creating new item via menu or shortcut key 2013-08-07 13:17:25 -04:00
Dan Stillman
84d9963e14 File sync optimizations 2013-08-02 01:13:27 -04:00
Dan Stillman
e177e3e718 Optimize local file modification checks during file syncs
- On manual sync or the first auto-sync of a session, check all files
- During other auto-syncs, check only files previously modified or
  opened externally via Zotero (including Show File) within the last 3
  hours
- Every 3 hours, do a full check of all files even if it's an auto-sync
- Spin event loop during synchronous file checks to avoid hanging the UI
- Zotero.Sync.Runner.sync() now takes an options object (e.g.,
  options.background)

Todo:

- Provide feedback on last full check in sync icon tooltip?
- Auto-sync on app focus, if this speeds up syncs enough?
2013-08-02 00:45:26 -04:00
Dan Stillman
2736e7e6d1 Use Ctrl-Shift for all shortcuts on Windows/Linux instead of Ctrl-Alt
https://forums.zotero.org/discussion/25927/#Item_5
2013-07-28 20:18:24 -04:00
Dan Stillman
375f0774c0 Merge pull request #327 from aurimasv/dup-right-click
Allow right-click on multiple items in duplicate view. Closes #53
2013-07-16 00:32:15 -07:00
Dan Stillman
8e8bc15071 Closes #291, Default to last-used item type when creating item via
keyboard
2013-07-02 16:48:53 -04:00
Dan Stillman
30a0bbcca2 Fix conflict with Cmd-Shift-A, and probably other third-party shortcuts
The Zotero shortcut keys, and their event.preventDefault(), were bound
to keydown, so shortcuts bound to keypress were still be called. This
moves most of the shortcut handling code into the keypress handler.

Fixes #344
2013-07-02 02:43:53 -04:00
Aurimas Vinckevicius
cf5d3a08bf Add callback to importFromURL for drag-dropped PDFs instead of setTimeout 2013-05-21 21:55:49 -05:00
aurimasv
fdb35e2e92 Allow right-click on multiple items in duplicate view. Closes #53 2013-05-20 04:39:19 -05:00
Dan Stillman
311e6f2fa7 Merge pull request #326 from aurimasv/dup-click
Tweak duplicate view click behavior
2013-05-19 20:21:49 -07:00
Aurimas Vinckevicius
4546089672 Tweak duplicate view click behavior
Allow ctrl/alt/shift click actions in duplicate view. (closes #324)
Allow right-click behavior on single item/attachment selection. (closes #325)
2013-05-19 22:20:28 -05:00
Dan Stillman
d3ec8fcdcf Ignore standalone-no-display class when building attachment button menu 2013-05-19 00:14:13 -04: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
Simon Kornblith
ce2828773b Fix saving PDFs open in pdf.js 2013-04-20 21:48:53 -04:00
Dan Stillman
41c9a4a433 Fix relative path support to sync properly
Dual boot and VM setups worked, but only absolute paths were synced,
because syncing uses attachmentPath, which was resolving relative paths
itself (#51). attachmentPath now returns what's in the database (as it
did originally), and getFile() does the resolving instead.

This means that anything relying on attachmentPath directly needs to be
aware that it might get a placeholder-prefixed relative path.
2013-04-19 01:33:23 -04:00
Aurimas Vinckevicius
33fedc306c Add icons to context menus 2013-04-13 01:53:02 -05:00
Dan Stillman
2236bab130 Better handle some file sync file access errors
- Catch additional errors on Windows (too-long paths, maybe aliases)
- Fix "Show File" button (which didn't show in some cases, at least on
  Windows)
- Clarify error message
2013-04-11 04:28:38 -04:00
Dan Stillman
e85790541b Remove per-library sync error indicators, at least for now
The hidden column caused collection names to be cut off unnecessarily,
and the extra icons were overly distracting. For now, just show the
first error that comes in in the main sync error panel, along with the
library name.
2013-03-20 22:41:15 -04:00
Dan Stillman
1647f28135 Fix error selecting separator above Group Libraries
This is super annoying, but I can't seem to stop the separator row from
being selected in seltype="single" mode (where isSelectable() isn't
called). Until we have a better solution, at least clear the items list
and avoid an error.
2013-03-19 06:53:48 -04:00
Dan Stillman
5a863d97c8 Context-menu string cleanup
- Remove all "Selected" from "Selected Item", because that's how a context menu works
- Change "Remove Selected Item" to "Remove Item from Collection" (fixes #122)
- Change "Delete Selected Item from Library" to "Move Item to Trash")
- Change "Remove" on Duplicate/Unfiled Items to "Hide" (fixes #122)
- Change "Create Parent Item from Selected Item" to "Create Parent Item"
2013-03-17 01:22:47 -04:00
Dan Stillman
022ee4481b Add "Delete Collection and Items..." context-menu option
Also update collection/search deletion dialogs with better button text and no more "[JavaScript Application]"
2013-03-16 22:55:50 -04:00
Dan Stillman
d5bfed1c96 Missed changed from 0cd3a34e14 2013-03-12 21:10:11 -04:00
Dan Stillman
8333c68f77 Fix trailing whitespace from #264 2013-03-05 03:43:50 -05:00
Dan Stillman
30f5679ec8 Merge remote-tracking branch 'gracile/3.1-l10n' into 3.1-l10n 2013-03-05 03:06:43 -05:00
Dan Stillman
4b46f252fd Fix error on column header click 2013-03-04 18:25:44 -05:00
gracile-fr
eb7b301073 Localizes most of the strings marked "todo: localize" 2013-03-04 03:44:37 +01:00
Dan Stillman
937c0a3a3a Fix error in in Error Conosle when clicking on some items 2013-02-22 18:41:49 -05:00
Dan Stillman
27a2a9c1f7 More relative path changes
- If attachment exists at same relative path in new base directory,
  leave it alone so that it continues to work.
- If attachment doesn't exist in new base directory, revert it to an
  absolute path.
- If new base directory is an ancestor or descendant of the previous
  base directory, adjust relative paths below the new directory so that
  they keep working.
- More dialog changes
- Select current base directory in file picker when changing directory
- Always use .persistentDescriptor instead of initWithPath(), though it
  probably doesn't matter, and wrap in try/catch in case the old setting
  is broken in some way.
- New function Zotero.File.directoryContains(dir, file), since
  nsIFile.contains() isn't recursive
- Don't use a private Zotero.Item property from outside to force path changes.
2013-02-21 06:24:46 -05:00
Dan Stillman
d4771c5f0d Focus preferences window if already showing
Previously, if the prefwindow was behind another window, nothing would
happen when opening the preferences.
2013-02-19 16:27:16 -05:00
Simon Kornblith
6b2bbf80e1 Fix things so that they (hopefully) don't break under latest Q 2013-02-18 16:06:31 -05:00
Dan Stillman
0061ff3ca5 Merge branch '3.0'
Conflicts:
	chrome/content/zotero/preferences/preferences.xul
	chrome/content/zotero/xpcom/data/item.js
	chrome/content/zotero/xpcom/utilities_translate.js
2013-02-04 07:02:38 -05:00
Dan Stillman
13a2bb99e1 Tweak patch from 41de387 to keep file style consistent 2013-01-31 17:45:55 -05:00
Aurimas Vinckevicius
41de3876d8 Fall back to link attachments for opening item 2013-01-31 16:17:53 -06:00
Simon Kornblith
6de5cb4ab1 Merge branch '3.0'
Conflicts:
	chrome/content/zotero/recognizePDF.js
	chrome/content/zotero/zoteroPane.js
2013-01-31 01:51:54 -05:00
Dan Stillman
56bb5b17ad Better MIME type detection of Office files
For at least one Windows user, a .docx file was being interpreted as
text/plain. Instead of relying entirely on the system, hard-code some
extensions we know. (More can be added.)

Also:

- Determine MIME type when opening files instead of using stored type,
  since we might have gotten smarter
2013-01-28 22:44:02 -05:00
Simon Kornblith
39e8b226cb Revert "Don't refresh item list upon tag selector actions unless the action changes the item list."
This reverts commit 7f732f56df.
2013-01-22 17:25:50 -05:00
Simon Kornblith
91c3374d6b Merge branch '3.0' and modify recognizePDF.js to use promises
Conflicts:
	chrome/content/zotero/recognizePDF.js
	install.rdf
	update.rdf
2013-01-21 01:04:05 -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
Dan Stillman
7a8e06cac2 Context-menu item delete from library root didn't show a prompt 2013-01-05 16:35:33 -05:00
Dan Stillman
bb93f019dc File sync overhaul
- New promise-based architecture
- Library-specific file sync queues, allowing other libraries to
  continue if there's an error in one library
- Library-specific sync errors, with error icons next to each library
- Changed file uploading in on-demand download mode, which had been missing
- On-demand download progress indicator in middle pane
- More accurate progress indicator
- Various tweaks and bug fixes
- Various future tweaks and bug fixes
2012-12-11 15:16:40 -05:00
Dan Stillman
4caae896cf Merge branch '3.0'
Conflicts:
	chrome/content/zotero/xpcom/attachments.js
	chrome/content/zotero/xpcom/translation/translate_item.js
	install.rdf
	update.rdf
2012-11-23 01:49:32 -05:00
Dan Stillman
1208aea99b Fix double-click on attachments/notes when viewOnDoubleClick is false 2012-11-20 05:34:38 -05:00