Commit graph

297 commits

Author SHA1 Message Date
Dan Stillman
98f62c6d3f Switch notes column back to counts, and hide by default
While the attachment icon helps with on-demand download, a count is
probably more useful for notes, and between tag colors and the two
dot columns things were getting a little Dance Dance Revolution.
2013-03-03 06:23:43 -05:00
Dan Stillman
d2f028d797 Tag colors, synced settings, and (stopgap) silent DB upgrades
- New tag colors support, with the ability to assign colors to up to 6
  tags per library. Tags with colors assigned will show up at the top of
  the tag selector and can be added to (and removed from) selected items
  by pressing the 1-6 keys on the keyboard. The tags will show up as
  color swatches before an item's title in the items list.
- Synced settings, with Notifier triggers when they change and
  accessible via the API (currently restricted on the server to
  'tagColors', but available for other things upon request)
- Silent DB upgrades for backwards-compatible changes. We'll do
  something fancier with async DB queries in 4.0, but this will work for
  changes that can be made without breaking compatibility with older
  clients, like the creation of new tables. The 'userdata' value is
  capped at 76, while further increments go to 'userdata2'.

TODO:

- Try to avoid jitter when redrawing swatches
- Optimize tag color images for retina displays
- Redo attachment dots in flat style?
- Clear all colors from an item with 0 (as in Thunderbird), but I don't
  think we can do this without undo
2013-03-03 06:23:25 -05:00
Dan Stillman
f92ed125b6 Merge branch '3.0' into 3.1
Conflicts:
	chrome/content/zotero/tinymce/note.html
	chrome/content/zotero/tinymce/noteview.html
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2013-02-25 12:46:43 -05:00
Dan Stillman
82a8d9e2ae Fix items list freezing in some situations 2013-02-18 04:59:16 -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
e2ea7532ba Fixes #47, Dragging attachment to item removes search results 2013-02-04 04:08:34 -05:00
Dan Stillman
2cd45be191 Avoid unnecessary UI updates in various situations
beginUpdateBatch() doesn't suppress select events, so various batch
operations were triggering lots of extra selects.

This hopefully fixes the long hang some people were seeing when making
changes with an open quick search (which I was only able to reproduce in
Standalone).
2013-02-04 00:06:27 -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
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
3a9483070e Merge branch '3.0'
Conflicts:
	chrome/content/zotero/tinymce/plugins/paste/editor_plugin.js
	chrome/content/zotero/xpcom/translation/translate_firefox.js
	chrome/content/zotero/zoteroPane.js
	install.rdf
	update.rdf
2012-11-01 22:14:08 -04:00
Dan Stillman
cdbb4c28f6 Closes #49, Open attachments with Return/Enter
Standard Firefox modifier keys also work
2012-11-01 01:53:31 -04:00
Simon Kornblith
7f732f56df Don't refresh item list upon tag selector actions unless the action changes the item list.
This speeds up adding/deleting tags a little bit, but unfortunately updating the tag selector itself is still quite slow.
2012-07-22 15:55:40 -04:00
Simon Kornblith
445b95d60d Small collection switching speed boost 2012-07-22 15:19:37 -04:00
Simon Kornblith
14d669c00a Kill zoteroconf remnants that used E4X 2012-07-14 18:28:12 -04:00
Simon Kornblith
e682ab729c Merge branch '3.0'
Conflicts:
	chrome/locale/da-DK/zotero/zotero.dtd
	chrome/locale/ko-KR/zotero/zotero.dtd
	translators
2012-07-01 11:41:31 -04:00
Dan Stillman
dda5deb153 Fix preservation of open/close states after deletions 2012-06-27 23:27:57 -04:00
Simon Kornblith
b9da94a650 Merge branch '3.0' 2012-06-27 22:39:47 -04:00
Dan Stillman
0dd35b952a Don't clear quicksearch on delete 2012-06-27 17:11:37 -04:00
Dan Stillman
64455e656e Don't reset selection to top of items list when deleting a child item 2012-06-27 16:03:35 -04:00
Simon Kornblith
575fd30e62 Merge branch '3.0' 2012-03-05 23:59:41 -05:00
Dan Stillman
61c0f974c0 Add big-endian date countries and use different format based on order
m/d/yy, yyyy-mm-dd, and d.m.yy, based on what seem to be the most common
variants for each order.
2012-02-29 05:14:03 -05:00
Simon Kornblith
b3f9f5102b Merge branch '3.0'
Conflicts:
	chrome/content/zotero/overlay.js
	chrome/content/zotero/xpcom/schema.js
2012-02-28 17:22:34 -05:00
Dan Stillman
315d9ecbcb Don't allow child items to be dragged within their own parents
This caused child notes and PDFs to be moved out of their parents with
the slightest drag.
2012-02-25 18:28:33 -05:00
Dan Stillman
17e9c466d0 Merge branch '3.0' 2012-02-17 04:26:58 -05:00
Simon Kornblith
95fa3bc554 Fix an error spotted in an error report 2012-02-16 07:59:42 -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
078efc4042 Don't die if a creator is missing at an index 2011-11-03 12:46:48 -04:00
Simon Kornblith
0c98f6542a Fix deleting items from unfiled items view 2011-10-03 00:13:13 +00:00
Simon Kornblith
b4c4ec3a86 Refresh trash view when an item is removed from the trash 2011-10-02 15:50:09 +00:00
Dan Stillman
74d5fc6a84 Make '+' key for items usable on large libraries 2011-09-28 17:46:06 +00:00
Simon Kornblith
b7482bc7d6 Avoid yielding in the middle of a transaction because it could be problematic, and don't let other events run until after first yield. 2011-09-22 06:24:08 +00:00
Simon Kornblith
25e384de76 Use generators in place of Zotero.wait() 2011-09-22 05:55:52 +00:00
Simon Kornblith
28e7531710 20% speed boost in collection switching 2011-09-06 18:14:23 +00:00
Simon Kornblith
15bab1db24 Don't spin event loop after setting tree 2011-09-02 01:46:51 +00:00
Dan Stillman
09e934128f Add Trash to group libraries
Also:

- Update trash icon properly when adding items to trash or emptying trash
- (dev) Zotero.Items.getDeleted() and Zotero.Items.emptyTrash() parameter order changed
- (dev) Zotero.Items.getDeleted() now returns an empty array rather than FALSE on no results

Group trash does not yet auto-empty
2011-08-30 23:35:12 +00:00
Simon Kornblith
eea7bc4a75 Fix incorrect sorting of newly added items (off by one) 2011-08-28 17:56:23 +00:00
Simon Kornblith
914f29b8ac - Don't sizeToContent() in Standalone window
- Fix expand/collapse item
2011-08-25 21:10:15 +00:00
Simon Kornblith
8b51c3e069 Make things snappier 2011-08-21 05:47:07 +00:00
Dan Stillman
56c7afc47e Duplicate detection:
- Adds a per-library "Duplicate Items" virtual search to the source list -- shows up by default for "My Library" but can be added to and removed from all libraries
- Current matching algorithm is very basic: finds exact title matches (after normalizing case/diacritics/punctuation/spacing) and DOI/ISBN matches (untested)
- In duplicates view, sets are selected automatically; in other views, duplicate items can be selected manually and the merge interface can be brought up with "Merge Items" in the context menu
- Can select a master item and individual fields to merge from other versions
- Word processor integration code will automatically find mapped replacements and update documents with new item keys

Possible future improvements:

- Improved detection algorithms
- UI tweaks
- Currently if any items differ, all available versions will be shown as master item options, even if only one item is different; probably the earliest equivalent item should be shown for each distinct version
- Caching of results for performance
- Confidence scale
- Creator version selection (currently the creators from the chosen master item are kept)
- Merging of matching child items
- Better sorting of duplicates if not clustered together by the selected sort column
- Relation path compression when merging items that are already mapped to previously removed duplicates

Other changes in this commit:

- Don't show Trash in word processor integration windows
- Consider items in trash to be missing in word processor documents
- Selection of special views (Trash, Unfiled, Duplicates) is now restored properly in new windows
- Disabled field transform context menu when item isn't editable
- Left/right arrow now expands/collapses all selected items instead of just the last-selected row
- Relation deletions are now synced
- The same items row is now reselected after item deletion
- (dev) Zotero.Item.getNotes(), Zotero.Item.getAttachments(), and Zotero.Item.getTags() now return empty arrays rather than FALSE if no matches -- tests on those return values in third-party code will need to be changed
- (dev) New function Zotero.Utilities.removeDiacritics(str, lowercaseOnly) -- could be used to generate ASCII BibTeX keys
- (dev) New 'tempTable' search condition can take a table to join against -- useful for implementing virtual source lists
- (dev) Significant UI code cleanup
- (dev) Moved all item pane content into itemPane.xul
- Probably various other things


Needless to say, this needs testing.
2011-07-22 21:24:38 +00:00
Dan Stillman
8c7c2425f6 Prevent excessive item saving when dragging a child note to another parent (since r8762) by triggering queued notifications asynchronously 2011-05-27 21:33:45 +00:00
Dan Stillman
51f8c11ea0 Switch client code license to Affero GPL version 3 2011-05-18 18:34:22 +00:00
Dan Stillman
a979acb4b8 Fix selection of single top-level item after site translation 2011-05-02 19:20:22 +00:00
Dan Stillman
4a170fce6f Use background color for selected items with colored tags, like Thunderbird 2011-04-21 16:11:28 +00:00
Dan Stillman
b53423e8dd Tag colors, as in http://forums.zotero.org/discussion/1787/1/simple-marking-of-items/
Should be considered proof-of-concept at this stage, with refinements needed

(Among other things, no handling of multiple tags per item)
2011-04-15 14:46:21 +00:00
Dan Stillman
5598cac359 Fix closing of parent items on various edits 2011-03-29 12:06:37 +00:00
Simon Kornblith
7da0313a8b use ZoteroPane_Local everywhere we possibly can 2011-03-24 23:23:11 +00:00
Simon Kornblith
29be631546 More debug code for selection issues 2011-03-22 02:31:13 +00:00
Dan Stillman
be166665e7 Fix cross-library item reselection in Edit Citation 2011-03-09 23:00:09 +00:00
Simon Kornblith
e312fc0bb6 - fix restoration selection when switching between tab and pane
- don't serialize persistent data from Zotero Pane on window close unless pane was showing
2011-03-08 23:14:19 +00:00
Simon Kornblith
83d98dae19 - fix broken QuickCopy export
- fix dragging issues caused by Zotero.wait()
2011-02-22 18:30:31 +00:00