Commit graph

606 commits

Author SHA1 Message Date
Dan Stillman
cc516005c0 "Import"/"Import from Clipboard" shortcut key changes
- Add Cmd/Ctrl-Shift-I for "Import…"
- Cmd/Ctrl-Shift-V apparently pastes without formatting, so don't override it.
  Instead, add a shortcut key to the menu option, defaulting to
  Cmd-Option-Shift-I/Ctrl-Alt-Shift-I
- The I in both is now localizable
2017-01-19 15:28:27 -05:00
Dan Stillman
57b44287f8 Don't allow deleting libraries other than feeds with Cmd/Ctrl-Delete 2017-01-17 21:48:56 -05:00
Dan Stillman
3d569f1173 Compatibility fixes for Bluebird >=3.4.2
Before 3.4.2, `yield` in a Bluebird `coroutine()` released Zalgo if an
already-resolved promise (e.g., from `Promise.resolve()`) was yielded,
continuing immediately instead of on the next turn of the event loop. We
apparently relied on that broken behavior in a few places, particularly from
`Zotero.DB.waitForTransaction()`. All the transaction-queueing stuff probably
needs to be reevaluated in general, but for now, mirror the previous possibly
ill-advised behavior by checking explicitly for a transaction before yielding
on `waitForTransaction()` (as well as the result of a 'load' event from
`libraryTreeView`).
2017-01-14 18:01:51 -05:00
Dan Stillman
2011a61223 Don't focus note editor when pressing Shift-Tab on note in middle pane
Reverts redundant code from 7e39e4608 (#1136) and fixes the much earlier
9d7cc849 (#151)
2017-01-12 02:41:21 -05:00
Dan Stillman
fb7f9698d3 Move ZoteroStandalone.openInViewer() to Zotero.openInViewer() 2016-12-30 00:56:28 -05:00
Dan Stillman
516fedc2fe Fix right alignment of search bar 2016-12-29 04:01:00 -05:00
Dan Stillman
82292eef77 Hide Actions menu in Standalone
Leave it in place in Firefox for now for development
2016-12-29 04:01:00 -05:00
Dan Stillman
5100cd31ed Add collectionTreeView::selectItem()
This moves most selection logic from ZoteroPane.selectItem() into
collectionTreeView::selectItem() so that it can be used in the
edit-citation dialog.

Unlike itemTreeView::selectItem(), which only selects within a given
items tree, this function automatically switches to a library root if
necessary. ZoteroPane.selectItem() remains and does a little bit extra
(unminimizing Zotero, focusing the items pane) in addition to calling
collectionTreeView::selectItem().
2016-12-26 18:44:39 -05:00
Dan Stillman
0a2330b79f Fix error adding top-level attachments in collections 2016-12-25 23:20:19 -05:00
Dan Stillman
cf686c520a Don't start auto-sync until UI is ready 2016-12-22 06:58:24 -05:00
Tom Najdek
d4dc86c975 Remove use of syntax where curly brackets are omitted in function defs 2016-12-21 08:06:17 -05:00
Dan Stillman
3b6b6aa36b Remove tab mode
Closes #1135
2016-12-21 05:11:21 -05:00
Dan Stillman
c5527a82fb Generate new saved search names within libraries, not globally 2016-12-14 03:37:56 -05:00
Adomas Ven
d6d4e4b33e Saner feed database management (#1131)
* Mark feedItems read in a single batch SQL update
* Automatically remove old feed items
* User-facing preference globally and per-feed for feed item expiration
2016-12-13 09:07:43 -05:00
Dan Stillman
88096ac76a Fix context menu auto-selection bug
A context-menu entry was being selected automatically when the click
target was near the bottom of the screen.
2016-12-05 21:34:36 -05:00
Dan Stillman
f3fd7e7a10 Don't load bundled files in Standalone until UI is ready 2016-12-02 17:28:39 -05:00
Dan Stillman
ef3e098586 Migrate data directory automatically on macOS and Linux
If data directory is within the profile directory and we can move the
subdirectories instantaneously with /bin/mv, just do it silently at startup.
2016-11-22 02:33:05 -05:00
Dan Stillman
e8d8f4a0a3 Use spinner instead of items pane message for search
Fixes #1116, and is generally more pleasant
2016-11-21 02:59:31 -05:00
Dan Stillman
da7da74986 Update some deprecated function calls 2016-10-26 02:27:31 -04:00
Dan Stillman
79baac3158 Fix relinking of imported attachment with external file 2016-10-22 15:11:12 -04:00
Dan Stillman
0016c5ecf8 Fix editing of saved search in a group 2016-10-20 22:55:42 -04:00
Adomas Venčkauskas
40abd18895 Add a zoteroPane progress window and use for feed translation 2016-10-16 00:26:07 +03:00
Dan Stillman
c3dcaf9fe0 Fix error calling ZoteroPane.getCollectionTreeRow() if collection view 2016-10-08 19:59:06 -04:00
Dan Stillman
3bf82a4d4d Hide items pane at startup to avoid showing column lines
Column groups aren't processed until after startup progress meter closes, so
otherwise lines show behind the progress meter for all possible columns.
2016-10-08 18:59:20 -04:00
Dan Stillman
0769a84a00 Fix low-res icons after switching out of Fx connector mode 2016-10-04 03:12:20 -04:00
Dan Stillman
1adb8d74f0 Properly save search when using "New Saved Search…" menu option 2016-09-23 21:03:00 -04:00
Dan Stillman
a3a9cb9c1e Fix for too-wide item pane after 4.0 upgrade or prefs reset
Regression from stacked layout mode (6bff554976)
2016-09-23 20:15:00 -04:00
Dan Stillman
0828d4d5e9 openPreferences() updates
- Move openPreferences() to Zotero.Utilities.Internal
- Add support for opening windows when there's no active browser window
- Allow selecting prefpane tab by id via 'tab' property
- openPreferences() now takes an object as its second argument with a
  'tab', 'tabIndex', or 'action' property
2016-09-06 19:13:50 -04:00
Dan Stillman
e3a9c6779b Restore connector mode functionality in Firefox
Non-Zotero for Firefox connector code will probably need to be updated
to handle these changes.
2016-09-05 23:08:08 -04:00
Dan Stillman
b7507b03a8 Generate citation cluster via Create Bibliography dialog
Instead of generating individual citations

This matches Quick Copy behavior and is almost certainly what people
want.
2016-08-26 02:42:56 -04:00
Dan Stillman
9077b2f495 Fix display of some icons in Standalone 2016-07-22 11:59:55 -04:00
Dan Stillman
ab10d1617e Replace deprecated Zotero.Libraries.isEditable() call on note save 2016-07-17 15:14:06 -04:00
Dan Stillman
fc857dc496 Close #1053, Manual sync option in library context menu
This also reworks how the collection context menu is built to do more in
JS instead of XUL, though it can't do it all in JS because some
localized strings are in zotero.dtd and are used in standalone.xul too.
2016-07-02 03:15:37 -04:00
Dan Stillman
893b9ae1fc Show "Duplicate Items" and "Unfiled Items" for all libraries by default
Previously they only showed for My Library by default, which I suspect
meant that most people didn't know you could get them for other
libraries...

This hides "Duplicate Items" and "Unfiled Items" from the context menu
when they're active, which may or may not be desirable (but we don't
show, say, "Trash" in the context menu).

Also tweaks selection behavior after hide to select next appropriate row
instead of the parent library.
2016-07-02 03:15:37 -04:00
Adomas Ven
2cce099928 Add custom view groups for different library types (#1042)
I originally attempted this with zotero-persist and column attributes,
but there is no good way to make it succinct paramswise and the code was
painful to look at too. Thus different group settings are stored in
preferences.

Currently there are two view groups: "feed" and "default". Items view
columns have two new attributes:
`default-in` - a space separated list of views in which a column is
visible by default
`disabled-in` - a space separated list of views in which a column is
disabled by default (invisible + not possible to enable)

Fields not parsed for feeds are now disabled.
2016-06-28 20:12:54 -04:00
Dan Stillman
622530e889 Fix #1054, UI breakage after unsubscribing from feed 2016-06-28 14:29:15 -04:00
Adomas Ven
11e7cef057 Show hard warning dialog when unlinking or linking to a different account (#1047)
And give option to delete local data when unlinking

This removes the old behavior of merging accounts when syncing with a different username.
2016-06-27 12:40:38 -04:00
Adomas Ven
f9449b1749 Fixes hidden columns showing on restart. Closes #1030 (#1031) 2016-06-13 04:56:39 -04:00
Dan Stillman
0b75b75b96 When merging items, add master item to all collections
Also changes Zotero.Item.prototype.clone() to take an `options` object for its
second parameter instead of a boolean `skipTags`. The object includes
`skipTags` as well as a new `includeCollections` property to add the new item
to the same collections.
2016-06-10 23:26:32 -04:00
Dan Stillman
8be22b84d1 Merge pull request #1012 from adomasven/fix/hide-list-cols-for-feeds
Closes #1008. Omit certain item list columns in feed views
2016-06-06 15:48:59 -04:00
Adomas Venčkauskas
60c4262d1e Closes #1008. Omit certain item list columns in feed views 2016-06-03 15:48:46 +01:00
Dan Stillman
fcb6e0c068 Save snapshots via nsIWebBrowserPersist instead of WebPageDump
WPD code hasn't been updated in many years, and there was an issue with
document permissions in 5.0. We'll need to replace nsIWBP in Electron,
but this will do for now.

Attachments are opened using file:// URIs instead of
zotero://attachment, which is what Standalone does anyway. Ancient HTML
annotations and highlights won't be displayed anymore, but I'm not sure
they worked anyway, and it hasn't been possible to create them in years.
We might be able to write out existing annotations to notes.

iframes are skipped during saving, in an attempt to reduce the number of
junk ad files. JS can still cause problems with viewing, so we might
still want to either disable scripts or force the viewed page offline
(if such a thing is possible).

There might be issues with auxiliary filename length/characters during
cross-platform file syncing. (We modified the WPD code to shorten/clean
them.)
2016-06-02 16:14:29 -04:00
LinuxMercedes
6bff554976 Add a second horizontal layout to Zotero for small screens (#1010) 2016-05-27 20:57:29 -04:00
Dan Stillman
56dcd6da26 Add file sync info/link to File Not Found dialog 2016-05-15 04:24:00 -04:00
Dan Stillman
427234917d Properly test whether file syncing is enabled for a library 2016-05-15 04:22:24 -04:00
Dan Stillman
8bbde63284 Update menu for non-collections when right-clicking on unselected row
Previously, item-dependent menu options in the context menu of
collectionsTreeRow types other than 'collection' weren't updated after
the asynchronous loading of the items. The menu is now updated for all
types, so, e.g., "Empty Trash" is now updated properly after items in
the trash have been loaded.
2016-05-12 02:12:22 -04:00
Dan Stillman
315100e5ef Remove obsolete style code 2016-05-03 12:06:29 -04:00
Dan Stillman
186561f320 Merge pull request #950 from adomasven/feature/import-feeds-from-opml
Close adomasven/zotero#11. Add support for feed imports from OPML files
2016-04-28 01:09:47 -04:00
Adomas Venčkauskas
3b758e562b Close adomasven/zotero#11. Add support for feed imports from OPML files 2016-04-27 20:32:20 +01:00
Adomas Venčkauskas
98a3c4aeaa Closes #961. Fixes feed dialogue remove read articles value not saving 2016-04-27 16:38:28 +01:00
Dan Stillman
9c7663979e Fix dragging of URLs into items list 2016-04-22 22:48:58 -04:00
Dan Stillman
aee214ed44 Update collection context menu once items have loaded
Otherwise, when right-clicking on a collection that's not currently
selected, some of the menu items appear gray at first, and a second
right-click is necessary after the items have loaded. This way the menu
items turn black once the items have loaded.
2016-04-11 02:52:09 -04:00
Dan Stillman
bb4db297c4 Fix "this.selection is undefined" switching away from loading collection 2016-04-11 02:29:25 -04:00
Dan Stillman
7c3a134107 Show loading message in middle pane if items loaded after startup 2016-04-11 02:29:08 -04:00
Dan Stillman
0469d6506a Show toolbar icon and collections pane while items are loading
Items in a library are now loaded only when a library is clicked on and
at sync time. There might be some other areas where they need to be
loaded or where this causes problems (e.g., drag and drop, word
processor integration).
2016-04-10 19:01:36 -04:00
Dan Stillman
23e01fcefd Fix saving to My Library if Zotero pane hasn't been opened 2016-04-09 18:34:54 -04:00
Dan Stillman
b650263d66 "Sync with Zotero Server" -> "Sync with zotero.org" 2016-04-08 17:03:29 -04:00
Dan Stillman
cf212e2b70 Initialize feed button only when necessary
And without extra init() call

This fixes the button being initialized before Zotero.hiDPI is set, resulting
in a low-res icon until the target is changed.
2016-04-04 23:18:29 -04:00
Adomas Venčkauskas
5b8d3c178f Add a menu option to add feeds found on a page
Closes #adomasven/zotero/10
2016-04-04 17:36:51 -04:00
Dan Stillman
0f7d1c7061 Fix various connector-mode issues for 5.0
Still more to fix
2016-04-04 06:33:15 -04:00
Adomas Venčkauskas
3dc0ad3745 Add feed menu buttons. Close adomasven/zotero#9. 2016-04-01 12:25:37 +03:00
Dan Stillman
514547ab3b Reinstate auto-sync, and remove lots of old sync code
The on-change auto-sync now syncs only the modified library, and does so
quite efficiently (and should be able to be made more efficient), so we
might be able to reduce the timeout below 15 seconds.
2016-04-01 02:30:17 -04:00
Dan Stillman
9b231169b2 Return the new item from ZoteroPane.duplicateSelectedItem() 2016-04-01 02:00:30 -04:00
Dan Stillman
b5adb084f2 Don't reload last folder on items pane crash, in case it's the problem
Otherwise you have to edit the prefs to continue using Zotero if, say, a saved
search causes a crash.
2016-03-26 04:16:23 -04:00
Dan Stillman
b7b246e741 Saved search fixes
- Fix saved search editing
- Refresh items list on search change
- Generate correct conditions array for search JSON
2016-03-26 04:14:56 -04:00
Dan Stillman
234127e65a Update toolbar icons on group editability change
And trigger 'group' 'modify' notifier event for inherited Zotero.Library
properties
2016-03-25 16:49:26 -04:00
Dan Stillman
fc6c113f25 Show intro text for My Publications in middle pane when no items
ZoteroPane.setItemsPaneMessage() and setItemPaneMessage() can now
optionally take a DOM node instead of a string.

Closes #705
2016-03-24 09:03:59 -04:00
Dan Stillman
002dd66e03 Restore proper error for Show File on missing file 2016-03-23 04:29:38 -04:00
Dan Stillman
6c43e75d26 Merge pull request #902 from adomasven/feature/feed-reader-UI
Feed Reader UI

(I squashed a bunch of commits from the PR.)
2016-03-22 07:31:03 -04:00
Adomas Venčkauskas
12fc6cfbe8 Various feeds changes
- Hide notes, tags and related for feed items in itembox
- Add feed support for <enclosure> elements
- Add feed syncing methods for synced settings (additional work is
  needed on the sync architecture to download synced settings from the
  server)
- Change feed item clear policy to be less aggressive
- Adjust for deasyncification
- Disable translate-on-select
- Close adomasven/zotero#7, Remove context menu items from feeds
2016-03-22 06:56:36 -04:00
Adomas Venčkauskas
0d4025e9fb Add preferences for feed sorting and toggle read hotkey 2016-03-22 06:56:36 -04:00
Adomas Venčkauskas
39aca505e0 Add right-click menu read state choices for feeds 2016-03-22 06:56:35 -04:00
Adomas Venčkauskas
e206b0af5e Various feeds changes
- Change sort order for feed items to natural order
- Remove display of dates in itembox
- Trim html tags from creators in FeedReader parser
2016-03-22 06:56:33 -04:00
Adomas Venčkauskas
5e706c31ad Translate and add items to library on drag 2016-03-22 06:56:33 -04:00
Adomas Venčkauskas
6da0845f4b Add feedItem translation 2016-03-22 06:56:32 -04:00
Adomas Venčkauskas
e6ede4b36f Various feeds changes
And move Z.Attachments.cleanAttachmentURI() to Z.Utilities.cleanURL()
2016-03-22 06:56:30 -04:00
Aurimas Vinckevicius
2d46e3d59b Various feeds changes 2016-03-22 06:55:48 -04:00
Aurimas Vinckevicius
e7f568d56c Automatically start feed update when adding new feed 2016-03-22 06:14:16 -04:00
Aurimas Vinckevicius
2c3eb205ab Implement read/unread functionality in feeds 2016-03-22 06:14:16 -04:00
Aurimas Vinckevicius
9686758c7d Add feeds to collections tree view and items tree view 2016-03-22 06:14:15 -04:00
Aurimas Vinckevicius
2e56e2f659 Add feed button and Add Feed dialog 2016-03-22 06:14:15 -04:00
Dan Stillman
20ece48a57 Fix saving of single files to library root via save button 2016-03-21 01:30:16 -04:00
Dan Stillman
6b509820b3 Fixes #918, Enabling "Show Unfiled Items" or "Show Duplicates" breaks UI 2016-03-13 20:31:15 -04:00
Dan Stillman
f795240bbf Fix display of Duplicate/Unfiled Items rows 2016-03-11 09:25:33 -05:00
Dan Stillman
edcd2a16d2 Replace obsolete collectionTreeView::getLastViewedRow() call 2016-03-11 07:48:24 -05:00
Dan Stillman
daf4a8fe4d Deasyncification 🔙 😢
While trying to get translation and citing working with asynchronously
generated data, we realized that drag-and-drop support was going to
be...problematic. Firefox only supports synchronous methods for
providing drag data (unlike, it seems, the DataTransferItem interface
supported by Chrome), which means that we'd need to preload all relevant
data on item selection (bounded by export.quickCopy.dragLimit) and keep
the translate/cite methods synchronous (or maintain two separate
versions).

What we're trying instead is doing what I said in #518 we weren't going
to do: loading most object data on startup and leaving many more
functions synchronous. Essentially, this takes the various load*()
methods described in #518, moves them to startup, and makes them operate
on entire libraries rather than individual objects.

The obvious downside here (other than undoing much of the work of the
last many months) is that it increases startup time, potentially quite a
lot for larger libraries. On my laptop, with a 3,000-item library, this
adds about 3 seconds to startup time. I haven't yet tested with larger
libraries. But I'm hoping that we can optimize this further to reduce
that delay. Among other things, this is loading data for all libraries,
when it should be able to load data only for the library being viewed.
But this is also fundamentally just doing some SELECT queries and
storing the results, so it really shouldn't need to be that slow (though
performance may be bounded a bit here by XPCOM overhead).

If we can make this fast enough, it means that third-party plugins
should be able to remain much closer to their current designs. (Some
things, including saving, will still need to be made asynchronous.)
2016-03-07 17:03:58 -05:00
Dan Stillman
64e7738bd3 Fix switching into tab mode 2016-02-08 01:37:48 -05:00
Dan Stillman
bbdfebf8f6 Avoid repeated search when clearing quick search bar 2016-02-06 15:20:02 -05:00
Dan Stillman
27de351615 Fix middle pane status messages while using quick search 2016-02-06 03:26:31 -05:00
Dan Stillman
c5a9987f37 WebDAV file sync overhaul for 5.0
Also:

- Remove last-sync-time mechanism for both WebDAV and ZFS, since it can
  be determined by storage properties (mtime/md5) in data sync
- Add option to include synced storage properties in item toJSON()
  instead of local file properties
- Set "Fake-Server-Match" header in setHTTPResponse() test support
  function, which can be used for request count assertions -- see
  resetRequestCount() and assertRequestCount() in webdavTest.js
- Allow string (e.g., 'to_download') instead of constant in
  Zotero.Sync.Data.Local.setSyncState()
- Misc storage tweaks
2015-12-30 05:14:50 -05:00
Dan Stillman
177dac3fd2 Closes #805, Translation shouldn't create new item in My Publications
And in download overlay, save and switch to My Library if My
Publications is selected.
2015-12-10 01:11:41 -05:00
Dan Stillman
08cb63f66d Fix various cases of saving items to selected collection
This changes Zotero.Translate.Base.translate() to take an options object (in
order to take a 'collections' parameter, which is passed to the
Zotero.Translate.ItemSaver constructor). The old parameters are still supported
with a deprecation warning, and there may be other places that still need to be
updated.
2015-11-15 17:49:31 -05:00
Dan Stillman
b52cfae225 Show "Delete Permanently..." button in right-hand pane in trash 2015-11-03 17:08:54 -05:00
Dan Stillman
f2bef5998c Disable actions in My Publications and clean up trash item menu
Disallow everything other than adding a child note in My Publications,
since the wizard only shows on drag (currently, at least). Need to
disable translation separately.

Also show "Delete Item[s]..." in the trash context menu, and hide rather
than disable various menu options.

Addresses #703 -- still need to disable saved search saving
2015-11-03 17:08:10 -05:00
Dan Stillman
7f43ca9503 Merge branch '4.0' 2015-11-01 21:22:13 -05:00
Dan Stillman
e0b5111442 Update some outdated Zotero.Libraries.getType()/getName() calls 2015-11-01 18:29:02 -05:00
Dan Stillman
6ccfed2488 Don't show item context menu until it's ready
With async generation, an incorrect menu was showing first before the
correct version appeared.
2015-10-31 03:46:47 -04:00
Dan Stillman
37b6a14f17 Fix attachment pane loading 2015-10-31 01:36:49 -04:00
Dan Stillman
73f4d28ab2 ZFS file sync overhaul for API syncing
This mostly gets ZFS file syncing and file conflict resolution working
with the API sync process. WebDAV will need to be updated separately.

Known issues:

- File sync progress is temporarily gone
- File uploads can result in an unnecessary 412 loop on the next data
  sync
- This causes Firefox to crash on one of my computers during tests,
  which would be easier to debug if it produced a crash log.

Also:

- Adds httpd.js for use in tests when FakeXMLHttpRequest can't be used
  (e.g., saveURI()).
- Adds some additional test data files for attachment tests
2015-10-29 04:38:27 -04:00
Dan Stillman
488c4eb72b Fix menubar/titlebar-less Standalone window issue in El Capitan
If Standalone is closed in full-screen mode in 10.11, 'sizemode' on the main
window is persisted as 'fullscreen'. On reopen, the window doesn't go into
full-screen mode, but it still lacks menubar or titlebar. This patch forces the
window into 'normal' mode if it was left in 'fullscreen'.

(Firefox appears to ignore 'fullscreen' without actually changing the value,
but I didn't find the code that handles that.)
2015-10-02 16:46:34 -04:00
simpzan
6051ef09d0 make items tree column focused when select a item by running
zotero://select/items/xxx.
2015-08-18 19:31:30 +08:00
Dan Stillman
b53892fe54 Fix various collection-dragging UI bugs
Fixes #823, hopefully
2015-08-08 17:26:42 -04:00
Dan Stillman
cbf4876173 Fix attachment renaming
Fixes #822
2015-08-07 15:36:46 -04:00
Dan Stillman
06867d886e Fix note loading 2015-08-06 22:49:21 -04:00
Dan Stillman
9000c9dcc7 Fix error saving PDF if Zotero pane hasn't been opened in window 2015-07-23 01:26:14 -04:00
Dan Stillman
984789d304 API syncing megacommit
There's a lot more to do, and this isn't ready for actual usage, but the
basic functionality is mostly in place and has decent test coverage. It
can successfully upgrade a library last used with classic syncing and
pull down changes via the API. Uploading mostly works but is currently
disabled for safety until it has better test coverage.

Downloaded JSON is first saved to a cache table, which is then used to
populate other tables and later for generating PATCH requests and
automatically resolving conflicts (since it shows what was changed
locally and what was changed remotely). Objects with unmet dependencies
or unknown fields are skipped for now but don't block the rest of the
sync.

Some of the bigger remaining to-dos:

- Tests for uploading
- Re-do the preferences to get an API key
- File sync integration
- Full-text syncing integration
- Manual conflict resolution (though this already includes much smarter
  conflict handling that automatically resolves many conflicts)
2015-07-20 18:16:57 -04:00
Dan Stillman
5c523d8694 Merge branch '4.0' 2015-07-18 07:09:53 -04:00
Dan Stillman
ba53f256d6 Quick hack to fix "without snapshot" save option in Z4Fx via Standalone
(I don't see any obvious reason I can't do this. We should probably clean this
up later, not call the endpoint "saveSnapshot", etc. Also, is there a reason it
doesn't follow the snapshot pref by default?)
2015-07-01 01:03:04 -04:00
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
233b9991f5 Merge pull request #623 from rmzelle/locale-selector
Add drop-down menu for bibliographyLocale
2015-06-24 14:34:47 -04:00
Dan Stillman
dfb28ff3f6 File Issues: Greatest Hits, 2006-2015
- When relinking a missing stored file, copy it into the attachment's
  storage directory automatically
  - Previously, selecting a file outside the attachment subdir would
    just result in a missing attachment, since it only looks for stored
    files within the subdir
- Display an error message if a Windows shortcut (.lnk) is added via
  drag-and-drop or via a file dialog on non-Windows systems, until we
  can figure out how to determine the original file
  - Shortcuts can cause errors during syncing, for unclear reasons
  - Neither nsIFile::copyToFollowingLinks() nor nsIFile::target work for
    me to get the original file, even when nsIFile::isSymlink() returns
    true
  - Windows file dialogs seem to automatically resolve shortcuts, so
    it's only an issue there for drag-and-drop
- Disallow hidden files from being selected in relink dialog
  - I think some people on Windows with hidden files shown relink the
    .zotero* files that show up when they click Locate, which causes
    file sync errors. Which brings us to...
- Fix file sync errors for *.lnk and .zotero* files
- Ignore existing .zotero* attachment files, treating the files as
  missing instead to encourage relinking
- Strip leading period in getValidFileName() to prevent added files from
  being hidden
    - This allows hidden files to be added explicitly; they just won't
      stay that way in the storage directory

(These things should have tests, but that will have to happen on the 5.0
branch.)
2015-06-24 06:10:48 -04:00
Dan Stillman
33dedd1753 Tags overhaul [DB reupgrade]
- Simplified schema
- Tags are now added without reloading entire tag selector
  - On my system, adding 400 tags to an item (separately, with the tag
    selector updating each time) went from 59 seconds to 42. (Given that
    it takes only 13 seconds with the tag selector closed, though,
    there's clearly more work to be done.)
- Tag selector now uses HTML flexbox (in identical fashion, for now, but
  with the possibility of fancier changes later, and with streamlined
  logic thanks to the flexbox 'order' property)
- Various async fixes
- Tests
2015-06-23 05:21:58 -04:00
Dan Stillman
ac440b2b38 Don't reload collections list when sources are modified
Just update the row that changed, moving it if necessary.
2015-06-09 16:47:04 -04:00
Dan Stillman
ef3bf8d596 Fix a few test failures/warnings
And simplify tree view load event handling, which may or may not have
been contributing to intermittent test failures, but is cleaner this way
regardless.
2015-06-02 03:51:09 -04:00
Dan Stillman
2154673dd3 Return a Zotero.Item from all Zotero.Attachments methods
These previously returned an itemID, but now that new saved items can be edited
without a refetch, they should just return the new item.

(Possible I missed a few spots where these are called.)
2015-05-29 05:33:54 -04:00
Dan Stillman
1e7c822ab0 Fix linked file creation 2015-05-29 01:09:24 -04:00
rmzelle
06e6168cb4 Implement locale drop-down menus 2015-05-26 00:12:04 -04:00
Dan Stillman
31af26af08 Fix selection of new items 2015-05-25 21:48:47 -04:00
Dan Stillman
2bd246e2ea Fixes #728, Tag selector refreshing 2015-05-25 21:48:46 -04:00
Dan Stillman
e1355cef2f Show only "Export Files..." in context menu for My Publications 2015-05-23 19:07:14 -04:00
Dan Stillman
aa730bb3bd Merge branch '4.0'
Conflicts:
	chrome/content/zotero/fileInterface.js
	chrome/content/zotero/xpcom/translation/translate_item.js
	chrome/content/zotero/xpcom/utilities_internal.js
	chrome/content/zotero/zoteroPane.js
2015-05-23 18:26:32 -04:00
Dan Stillman
3fc09add3a Attachment fixes
Change all attachment functions to take parameter objects, including a
'collections' property to assign collections. (Previously, calling code
assigned collections separately, which required a nested transaction,
which is no longer possible.)

Fixes #723, Can't attach files by dragging
2015-05-23 04:43:37 -04:00
Dan Stillman
61cb01b7c2 Collection/item tree selection improvements
Wait for the pane's collectionSelected() to finish before returning from
collectionTreeView select methods (e.g., selectLibrary()), and wait for
previous items view to finish loading before creating a new one in
collectionSelected(). This ensures that the items view has been created (though
not loaded) before returning from a select. The tree can still get a bit
confused switching between collections, but I think we're getting closer to
fixing that.

Also switch the items tree to use the same pattern.

This also fixes dragging items to collections (#731).
2015-05-22 19:22:00 -04:00
retorquere
47ffa1188a export groups, unify library export 2015-05-12 17:52:35 +02:00
Dan Stillman
14d435b8d8 Closes #711, Remove support for nested transactions 2015-05-10 18:32:10 -04:00
Dan Stillman
a39a42546f Add missing yield in restoreSelectedItems() 2015-05-10 18:30:05 -04:00
Dan Stillman
a64282118b Fix items-count updating in right-hand pane
And some other tweaks to ZoteroPane.itemSelected()
2015-05-10 18:30:05 -04:00
Dan Stillman
47f3c1efe6 Don't reselect items unnecessarily
Store and check the last selected items in ZoteroPane.itemSelected() to
see if it's necessary to refresh the item pane. This prevents loss of
textbox focus if another write occurs while editing a field.

Also optimize row adding/removing in itemTreeView.js
2015-05-07 15:09:41 -04:00
Dan Stillman
02a36eab9b Fix various issues with rapid UI/data changes due to asyncification 2015-05-05 02:53:06 -04:00
Dan Stillman
6328d1f39b CollectionTreeView::selectLibrary() doesn't need to be async 2015-05-04 02:45:56 -04:00
Dan Stillman
8fec5ace3a Fix post-save textbox focusing bugs in right-hand pane
Fix a couple cases of lost text field focus after an edit, including
focusing of the Title field after using New Item when a field is already
being edited and has a changed value.

Also, in tests, select My Library and wait for items to load when using
the loadZoteroPane() support function. We could add a parameter to skip
that or move it to a separate function, but the code to detect it is a
bit convoluted and it's a prerequisite for many tests, so it's handy to
have a function for it.
2015-05-04 02:45:55 -04:00
Dan Stillman
bdd44e9a44 DB isolation changes and item selection tweaks
- Add an 'exclusive' option to transactions that causes them to block other
  transactions and wait for other transactions to finish before starting,
  instead of nesting
- Resolve Zotero.DB.waitForTransaction() promise before returning from
  executeTransaction()
- A side effect of the above: wait for a newly created item to be selected in
  the middle pane and rendered in the right-hand pane before returning from
  executeTransaction()
- Don't save items multiple times when adding/removing a non-final creator in
  the Info pane
- Use a simpler, non-recursive method for focusing the next field in the Info
  pane; this prevents "too much recursion" errors if something causes the
  right-hand pane not to be rendered when expected
2015-05-04 02:45:55 -04:00
Dan Stillman
afe0412c58 Collection/item tree view updates
- Pass .skipSelect option to data object .save() to prevent new objects
  from being selected
- Fix miscellaneous bugs
- Selection-related tests
2015-05-04 02:43:32 -04:00
Dan Stillman
fbef911cb7 Add wizard for My Publications
Show a wizard after items are dragged to My Publications choosing
whether to include files and notes and choosing sharing settings for the
items. Sharing options are Creative Commons licenses, CC0, "All rights
reserved", or keeping the existing Rights field if available.

Also blocks collections, searches, linked file attachments, and
top-level attachments/notes from My Publications at the data layer, but
not yet from the UI in all places (so it can crash if you try).

Todo:

- Block certain UI actions with nice messages
- Show a nice scrollable list of items in the wizard to allow selecting
  specific files/notes, instead of just having checkboxes for files and
  notes that apply to all dragged items
- Show an explanation of My Publications in the right-hand pane when no
  items are selected
- Maybe adjust handling when no attached files/notes, since it might be
  a bit alarming at the moment to see sharing options for metadata
  entries
2015-04-26 19:41:45 -04:00
Dan Stillman
1f00e99e71 Fix 'this' binding in ZoteroPane.selectItem(), but this time for real 2015-04-26 17:51:30 -04:00
Dan Stillman
5c8209da5c Fix 'this' binding in ZoteroPane.selectItem() 2015-04-25 03:17:41 -04:00
Dan Stillman
f8ac21d891 Return object instead of array from Zotero.DataObjects.getLibraryAndKeyFromID()
Object contains 'libraryID' and 'key' properties

This is due to changed array destructuring behavior in Firefox. Previously,
`var [foo, bar] = maybeArrayMaybeFalse()` always worked, leaving foo and bar
undefined if the function returned false. Now (with ES6, I assume), if the
function returns false it results in a "false[Symbol.iterator] is not a
function" error. But `var {libraryID, key} = false` works as expected, leaving
both values undefined, so instead we can just return an object with those
properties from getLibraryAndKeyFromID(). To assign to different variables, use
`var {libraryID, key: parentItemKey} = ...`.
2015-04-25 03:17:41 -04:00
Dan Stillman
4b040c78a7 Fix various saved search bugs, and add tests
Search condition ids are now indexed from 0, and always saved
contiguously (no more 'fixGaps' option), since they're just in an array
in the API. (They're still returned as an object from
Zotero.Search.prototype.getConditions() because it's easier for the
advanced search window to not have to deal with shifting ids between
saves.)
2015-04-17 19:29:37 -04:00
Dan Stillman
293f7c6dd4 Zotero.Search.prototype.addCondition() doesn't need to be async 2015-04-16 20:48:59 -04:00
Dan Stillman
b042973751 Merge branch '4.0' into api_syncing 2015-03-22 19:51:29 -04:00
rmzelle
0df26d1d2d No prompt for remove if no top-level items are selected
As requested at
https://github.com/zotero/zotero/pull/668#issuecomment-84090670
2015-03-21 20:28:29 -04:00
Dan Stillman
44a9b84891 Additional safety check when checking for persisted item pane state
I don't think there's any way for this to happen short of manual
preference editing, and the pane width would have to be exactly 250px,
and it's pretty harmless anyway, but might as well be safe.
2015-03-18 19:07:45 -04:00
Dan Stillman
935fb90bed Reopen collapsed item pane on restart, for now
Until we find a solution that confuses people less (#678), don't persist the
collapsed state across restarts.
2015-03-18 16:13:19 -04:00
Dan Stillman
faed7cd7dd Replace some 'for each..in' instances
There are hundreds more, but these are all the ones that generate warnings in
the console at startup. XPCOM/XBL ones don't seem to do so, so we can ignore
those for now (and hopefully not bother with them on 4.0). Instances in
translators do generate warnings.

Addresses #656
2015-03-17 15:19:45 -04:00
Dan Stillman
bb3496dfa8 Fix item duplication 2015-03-17 01:08:18 -04:00
Dan Stillman
417335baf2 Some libraryID follow-ups 2015-03-17 00:04:41 -04:00
Dan Stillman
bdd69d0a53 Merge branch '4.0' into api_syncing 2015-03-16 23:41:10 -04:00
Dan Stillman
a03772cae7 Merge branch 'master' into api_syncing
Note that this loses conflicting changes to translate_item.js from 849803473a,
so those will need to be reapplied if applicable. /cc @aurimasv, @mtd91429
2015-03-16 15:23:07 -04:00
Dan Stillman
bf36a988e4 Initial My Publications support
Adds a "My Publications" source after "My Library", implemented as a
separate library. Top-level items can be dragged in and removed.

(This doesn't currently work without disabling Quick Copy.)

Also:

- Make "Group Libraries" an unselectable header instead of a container,
  and don't indent group libraries
- Fix relation purging, which maybe never worked
- Pass only libraryID/key on deletes (which should speed them up)
- Fix async item cloning/copying
- Fix miscellaneous other bugs

To-do:

- Confirmation dialog on drag
- API support
2015-03-16 12:18:54 -04:00
Dan Stillman
1c8abf3841 Change user library from 0 to 1
0 allowed for some accidental behavior due to old code expecting NULL,
and it prevented easy checks (``if (!libraryID)``) for a passed
libraryID. Code now uses Zotero.Libraries.userLibraryID instead of a
hard-coded value (except in schema.js). Functions can still make
libraryID optional, but they should then use
Zotero.Libraries.userLibraryID if that's to mean the user library.

There might be some code that still expects 0 that I missed.
2015-03-16 12:16:05 -04:00
rmzelle
c5a40d503b Add prompt for Remove Item(s) from Collection 2015-03-09 21:45:39 -04:00
Dan Stillman
ba2a16531b Add "Show Item in Library" button to note-too-long window
TODO: other too-long errors
2015-02-19 17:44:35 -05:00
Dan Stillman
b0e37a38a2 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/schema.js
	chrome/content/zotero/xpcom/translation/translate.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2015-01-29 19:59:47 -05:00
Philipp Zumstein
d5b4c31575 Right pane (item-pane) can be collapsed
This belongs to issue #509 and was asked several times in the forum.

 * Add attribute `collapse="after"` to the splitter and add a grippy element.
 * To remember its state after restart I copied `zotero-persist="state"`.
 * Handle zotero-items-splitter the same as zotero-collections-splitter in zotero-platform/mac/overlay.css
 * Change min-width to 250px for #zotero-item-pane in zotero/overlay.css.
 * Update the function `updateToolbarPosition` in zotero/zoteroPane.js:
   * The width of the items-toolbar is corrected if the left pane is collapsed (and the icons are grouped on the left margin together).
   * If the right pane is collapsed, then the items-toolbar is made flexible while making the item-toolbar unflexible. As a result the search box and locate icon are flushed right to the other icons.
2015-01-07 10:41:18 +01:00
MTD
849803473a Address silent failure of unrecognized URIs in Attach Link to URI
Generated files for a more robust attached-link-dialog and localized strings
* AttachLink.js
* AttachLink.xul

zotero/xpcom/attachments.js
* created function cleanAttachmentURI
* in function linkFromURL, removed the regex constraints and the comment list of valid protocols
* removed outdated function declaration from beginning of script
* Improved automatic title generation mechanism
2014-12-16 11:20:55 -05:00
Aurimas Vinckevicius
0e31e7ca01 Wait for the item pane to initialize before focusing first field 2014-11-14 01:50:02 -06:00
Dan Stillman
5bfc1e4199 Fix comment - force-delete on Win/Linux is Shift, not Ctrl 2014-10-28 13:45:55 -04:00
Dan Stillman
aab3276276 Use old-style searchbox in Yosemite pre-Fx34
Yosemite introduces a new search textbox shape, but Firefox still uses
the old focus ring shape until 34, so we fake the old searchbox shape
for earlier versions.
2014-10-14 02:22:44 -04:00
Dan Stillman
5c94119c70 Fixes duplicates view for async DB
It's way too slow, though, since the whole list is regenerated after
merging.

Fixes #519

Also:

- The arguments to Zotero.Item.prototype.clone() have changed, and it no
  longer takes an existing item or copies primary data. To create an
  in-memory copy of an item, use the new Zotero.Item.prototype.copy().

- Zotero.Item.prototype.getUsedFields() now gets in-memory fields rather
  than the fields in the database
2014-10-10 04:49:39 -04:00
Dan Stillman
e2d3cc3f0d Update zotero://select to use new URLs and wait for items list load
Closes #541
2014-09-23 01:13:38 -04:00
Dan Stillman
755ead2119 Update zotero:// extensions (report, timeline, etc.) for async DB, and more
- Protocol handler extensions can now handle promises and can also make
  data available as it's ready instead of all at once (e.g., reports now
  output one entry at a time)
- zotero:// URL syntaxes are now more consistent and closer to the web
  API (old URLs should work, but some may currently be broken)

Also:

- Code to generate server API, currently available for testing via
  zotero://data URLs but eventually moving to HTTP -- zotero://data URLs match
  web API URLs, with a different prefix for the personal library (/library vs.
  /users/12345)
- Miscellaneous fixes to data objects

Under the hood:

- Extensions now return an AsyncChannel, which is an nsIChannel implementation
  that takes a promise-yielding generator that returns a string,
  nsIAsyncInputStream, or file that will be used for the channel's data
- New function Zotero.Utilities.Internal.getAsyncInputStream() takes a
  generator that yields either promises or strings and returns an async input
  stream filled with the yielded strings
- Zotero.Router parsers URLs and extract parameters
- Zotero.Item.toResponseJSON()
2014-09-09 00:36:29 -04:00
Dan Stillman
a67521e9dd Closes #500, Remove DOM_VK_ENTER 2014-08-12 19:18:29 -04:00
Dan Stillman
ae8f871f20 Fix flash of "No items in this view" when switching collections 2014-08-11 00:40:43 -04:00
Dan Stillman
40f111832c Fix error double-clicking on unopened regular items 2014-08-11 00:40:35 -04:00
Dan Stillman
f5896dbb8d Remove synchronous database methods
This required doing additional caching at startup (e.g., item types and fields)
so that various methods can remain synchronous.

This lets us switch back to using the current Sqlite.jsm. Previously we were
bundling the Fx24 version, which avoided freezes with locking_mode=EXCLUSIVE
with both sync and async queries.

Known broken things:

  - Autocomplete
  - Database backup
  - UDFs (e.g., REGEXP function used in Zotero.DB.getNextName())
2014-08-09 18:10:32 -04:00
Dan Stillman
380668cc60 Changes to item and file retrieval methods
- Zotero.Item.prototype.getFilePath() is now synchronous, with a separate async getFilePathAsync()

- getFile() no longer takes a skipExistsCheck parameter, since that shouldn't happen synchronously

- Zotero.Items.getByLibraryAndKey() is now synchronous again, with a
  separate Zotero.Items.getByLibraryAndKeyAsync() - I haven't fully
  tested this, so I'm not sure if there will need to be any async
  calls.

- Some of the full-text indexing functions now take file paths instead of nsIFile objects

- Zotero.File.getContentsAsync() can now take a string path as well
2014-08-08 17:43:26 -04: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
4ea5e2d426 Update code to use 0 instead of NULL for libraryID 2014-08-06 22:14:59 -04:00
Dan Stillman
7c958f4bd3 Show "Loading items list..." in middle pane on window load
Otherwise with async loading the pane appears blank before the message appears
2014-08-06 22:14:58 -04:00
Dan Stillman
84882c8ecf Include actual error in "There was an error starting Zotero." dialog
And use a proper title
2014-08-06 22:14:58 -04:00
Dan Stillman
36c5dceff4 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/browser.js
	chrome/content/zotero/longTagFixer.js
	chrome/content/zotero/xpcom/schema.js
	chrome/content/zotero/xpcom/utilities.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2014-07-15 22:17:27 -04:00
Dan Stillman
1b6dc5d681 Restore minimize/maximize buttons in note windows on Windows
From db6ec2b160
2014-06-05 00:54:22 -04:00
Dan Stillman
db6ec2b160 Persist single position/size for all note windows
Previously, position/size was persisted for each item's note
individually, but that meant that there was no default position/size for
the note window and an entry was created in localstore.rdf for
every note opened in a new window. There's also a good chance people had
no idea what was going on.
2014-05-28 14:35:05 -04:00
Dan Stillman
59f534d56f Error report improvements
- Always allow "Report Errors...", even when no errors

- Show submitted diagnostic info in report

- Use white background and unitalicized text for report

- Make window larger by default
2014-05-26 20:07:41 -04:00
Dan Stillman
6f06b39cb3 Merge branch '4.0' 2014-05-19 03:38:35 -04:00
Dan Stillman
9f91d240b0 Library switcher in advanced search window
When opening the advanced search window, the current library is
selected, and a different library can be selected to change the search
scope. If a library is read-only, the saved search button is disabled.
For saved searches, the appropriate library is selected and the
drop-down is disabled.

Also:

- Close the advanced search window after a search is saved
- The default name for saved searches ("Untitled 2", etc.) was based on
  collections rather than searches
- Once an initial search has been performed, the drop-downs and
  checkboxes now update the results
- More consistent spacing in advanced search window
- (dev) Zotero.DB.getNextName() now takes a libraryID as its first
  parameter instead of always using My Library; the old parameters are
  deprecated but still work
2014-05-15 21:41:22 -04:00
Dan Stillman
57116fa892 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/collectionTreeView.js
	chrome/content/zotero/xpcom/libraryTreeView.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2014-05-08 15:52:31 -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
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
60e5ab8124 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/db.js
	chrome/content/zotero/xpcom/fulltext.js
	chrome/content/zotero/xpcom/zotero.js
	chrome/content/zotero/zoteroPane.js
	components/zotero-service.js
	install.rdf
	update.rdf
2014-04-08 18:47:32 -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
5d32fb90ea Merge branch '4.0'
Conflicts:
	chrome/content/zotero/fileInterface.js
	chrome/content/zotero/overlay.js
	chrome/content/zotero/xpcom/schema.js
	chrome/content/zotero/xpcom/zotero.js
	chrome/content/zotero/zoteroPane.js
	install.rdf
	update.rdf
2013-11-24 16:08:46 -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
9f24dcdb44 Use async DB query for collections-containing-an-item 2013-08-12 16:31:28 -04:00
Dan Stillman
5787b230f7 Use asynchronous DB and file access for schema checks/updates
This change should improve Firefox startup time. If the Zotero pane is
opened before Zotero has initialized, the pane will be blocked with a
progress bar until it's done. Standalone currently does the same, but it
should be changed to just delay opening the window if possible.

The upgrade wizard has been disabled for schema upgrades, in the hope
that upgrades can be done in a way that won't break compatibility with
earlier versions (or that can at least be done in a way such that we can
put out point releases of the last major version that provide
compatibility during beta/post-upgrade periods).

This patch likely breaks many things, and definitely breaks connector
mode.

This change also removes upgrade steps for databases from Zotero 2.1b2
and earlier. Users with such databases will need to upgrade via Zotero
4.0.x first or delete their data directories and start anew. This should
only affect users who haven't opened Zotero since Nov. 2010.
2013-08-11 21:53:41 -04: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
Dan Stillman
61c36b0523 Add ZoteroPaneOpen command line argument to open Zotero automatically 2012-11-10 19:38:22 -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
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
9d7cc849cd Fixes #151, Allow Tab and Shift-Tab into and out of notes 2012-11-01 03:32:07 -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
Dan Stillman
81bfb5c327 Keep New Collection button enabled on Trash if library is editable
Fixes #28
2012-10-31 05:22:58 -04:00
Simon Kornblith
ab4c2f247d Merge branch '3.0' 2012-08-05 19:44:57 -04:00
Dan Stillman
bacd25633b Fix error updating types menu after installation of NSF item type 2012-08-02 16:59:28 -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
Dan Stillman
f1f4044018 Merge branch '3.0' 2012-06-10 21:50:14 -04:00
Dan Stillman
1a76318538 Just focus libraries pane on shortcut key
Closes #133
2012-05-25 14:24:08 -04:00
Dan Stillman
d456117ebe Merge branch '3.0' 2012-05-03 17:56:32 -04:00
gracile-fr
4ba9b6a4c0 Localization of strings previously hardcoded. All these strings are related to duplicate detection.
(cherry picked from commit d6ae1c544d)
2012-05-03 17:45:15 -04:00
gracile-fr
d6ae1c544d Localization of strings previously hardcoded. All these strings are related to duplicate detection. 2012-05-03 22:38:14 +02:00
Dan Stillman
5275dafbc9 Clear undo history when switching notes
This prevents notes from being overwritten with each other's contents.
This used to work right, but it was broken with the switch to rich-text
notes.
2012-04-17 15:42:15 -04:00
Dan Stillman
1c7ac1a9a0 Make "New Note" shortcut key context sensitive
- If a regular item is selected, use that as the parent.
- If a child item is selected, use its parent as the parent.
- Otherwise create a standalone note.
2012-04-16 04:22:42 -04:00
Simon Kornblith
a22da78f18 Merge branch '3.0' 2012-04-08 15:25:18 -04:00
Dan Stillman
68073b8b32 Properly rename attachments when filenames differ only in case
This might have been limited to case-insensitive filesystems.

Also fix renaming when the previous filename didn't include an
extension. Before, a file named "test" would be renamed from parent with
".test" as the extension.
2012-04-04 04:44:04 -04:00
Dan Stillman
b298e7acbd Fix brokenness (from 3.0 merge in 947be813) 2012-03-21 14:22:21 -04:00
Simon Kornblith
947be813ec Merge branch '3.0' 2012-03-20 02:16:43 -04:00
Dan Stillman
954c2f6de0 Fix for manual new item not going into collection
Broken by 0d34e34a (since 3.0.3)
2012-03-17 03:12:49 -04:00
gracile-fr
0430e7def5 Update chrome/content/zotero/zoteroPane.js 2012-03-13 20:21:07 +01:00
Dan Stillman
ba8bf4910f Some tweaks to auto/idle-syncing
- Don't run idle sync if manual sync is required or Zotero is locked
- Don't clear sync error icon when opening pane
- Better debug message on pane open for syncing not being enabled
2012-03-12 16:25:35 -04:00
Simon Kornblith
ea7094821a Don't block when calling fallbackLauncher 2012-03-11 19:37:45 -04:00
Dan Stillman
5e19020437 Auto-empty items from trash on idle rather than at pane open
Deleting is currently very slow (which will be fixed on master), which
can cause long delays when auto-emptying items older at pane open.
Instead, empty 10 items after 5 minutes of idle, and then another 10
every 5 seconds until there are no more items to empty or the user is back.
2012-03-11 18:54:46 -04: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
0d34e34a3a Don't add 'Web Page" to new item menu by accident
And ignore it if it's there
2012-02-20 03:31:22 -05:00
Dan Stillman
17e9c466d0 Merge branch '3.0' 2012-02-17 04:26:58 -05:00
Simon Kornblith
645bbf92b8 More hacks for pdf.js 2012-02-15 02:43:08 -05:00
Simon Kornblith
ac5d833117 Remove antiquated code 2012-02-10 01:38:01 -05:00
Dan Stillman
3a4401a995 Merge branch '3.0'
Conflicts:
	chrome/content/zotero/xpcom/integration.js
	chrome/content/zotero/xpcom/storage/webdav.js
	chrome/content/zotero/xpcom/storage/zfs.js
	install.rdf
	update.rdf
2012-02-09 02:13:02 -05:00
Dan Stillman
84fe2728da Replace setAttribute("oncommand", ...) with addEventListener()
For AMO validator
2012-02-06 02:38:53 -05:00
Dan Stillman
8d96cf35bb Fix global assignment 2012-02-03 22:10:58 -05:00
Dan Stillman
f4804b66b5 Merge branch '3.0' 2012-01-27 00:24:50 -05:00
Dan Stillman
f272fc6861 Tweak read-only save error message 2012-01-20 17:51:00 -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
6b58d3e2af Fix erroneously disabled "Empty Trash" (recent regression) 2012-01-19 02:40:46 -05:00
Dan Stillman
35efd798de Save real target URLs from Google search results
"Save Link as Zotero Item" previously saved Google's tracking page
instead of the real destination. This can be extended to other sites
if necessary.
2012-01-17 04:52:53 -05:00
Dan Stillman
7c4a69b9e1 Merge branch '3.0' 2012-01-17 01:16:47 -05:00
Dan Stillman
4966a55a1b Disable "New Saved Search" menu option in read-only libraries 2012-01-11 18:23:36 -05:00
Dan Stillman
d63d24c636 Show access error for translator save attempt to read-only library
Not sure how this works for connector saves
2012-01-11 18:12:21 -05:00
Dan Stillman
de696d32e8 Don't show access error removing Duplicates view from read-only library 2012-01-11 18:08:11 -05:00
Simon Kornblith
fb14976499 Merge branch '3.0' 2012-01-03 15:26:52 -05:00
Dan Stillman
4161341d2d Fix error switching options in download dialog before Z pane was opened 2011-12-30 12:44:19 -05:00
Dan Stillman
059460a5d2 Merge branch '3.0'
Conflicts:
	chrome/content/zotero/xpcom/storage/webdav.js
	chrome/content/zotero/zoteroPane.js
	chrome/skin/default/zotero/preferences.css
2011-12-17 16:25:58 -05:00
Dan Stillman
b4512ac91d Remove unused third parameter to ZoteroPane.loadURI() 2011-12-14 17:49:14 -05:00
Dan Stillman
f87bee9f7c Fix blank window/tab when file.launch() fails
Use nsIExternalProtocolService.loadUrl() as a fallback rather than window.loadURI()

If "Remember my choice for file links" is selected, there's currently
no way to change that in Standalone short of deleting mimeTypes.rdf.
2011-12-14 17:46:21 -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
d5e9ca11f3 Restore Locate button on missing files (since 10/15) 2011-11-16 17:55:18 -05:00
Dan Stillman
40ec344218 Fix a number of problems related to newlines in filenames
- Properly strip newlines and tabs in filenames (broken since May 2011)
- If view isn't editable, don't show Locate button, since the updated path couldn't be sent back up
- Fix access error if a synced file needs to be renamed to be valid but user doesn't have group editing access
- Don't allow newlines in item titles (e.g., via copy/paste)
2011-10-15 05:50:30 +00:00
Dan Stillman
8ad3b513a1 - Allow twisty clicks (in collections and items panes) to work in duplicates view
- Move collection selection down if a collection above is opened (since r9950)
2011-10-12 18:41:23 +00:00
Dan Stillman
8a5f12680d Use collectionTreeView's getSelectedLibraryID() in zoteroPane.js 2011-10-05 17:46:23 +00:00
Simon Kornblith
223bfe74db Disable toolbar buttons in collections that cannot be edited 2011-10-02 23:28:38 +00:00
Simon Kornblith
3364a533c5 Add "Restore to Library" context menu option 2011-10-02 15:50:54 +00:00
Simon Kornblith
0a33f1fde7 Fix saving to group libraries 2011-09-28 04:01:39 +00:00
Simon Kornblith
b1275032f5 Fix dragging links to Z standalone 2011-09-27 14:51:15 +00:00
Simon Kornblith
c45198c90b Fix for certain situations where Zotero pane display settings could be reset 2011-09-06 01:26:13 +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
Dan Stillman
2e5b87b9e7 Fix error when saving via browser context menu when Zotero pane/tab hasn't been opened 2011-08-28 22:15:39 +00:00
Simon Kornblith
1e90528937 Don't build item type menu twice 2011-08-25 21:24:51 +00:00
Simon Kornblith
2a968e7696 Don't throw if collectionsView not registered, and no need to pass false to removeObserver 2011-08-24 22:08:27 +00:00
Simon Kornblith
59cff2ad1a Fix timeline creation, and potentially other functionality 2011-08-16 02:37:16 +00:00
Simon Kornblith
748790bf46 Fix Create Item from Current Page context menu option in Firefox
- when the Zotero Pane has not yet been opened
	- when operating in connector mode
2011-08-13 04:51:40 +00:00
Simon Kornblith
c1057e2587 Remove uses of "Firefox" and fix version 2011-08-10 07:07:26 +00:00
Dan Stillman
2db050290d Clear tag selector when switching between views 2011-08-05 22:04:48 +00:00
Dan Stillman
ee01b2cbc3 Allow "Create Parent Item from Selected Item" for PDFs for multiple selection 2011-08-04 06:31:14 +00:00
Dan Stillman
c1af72fcd2 Allow "Create Parent Item from Selected Item" for PDFs, at least until failed metadata retrieval does something more helpful 2011-08-04 06:00:57 +00:00
Dan Stillman
455eb68c20 Persist open/close state of source list (libraries, collections, etc.) 2011-07-25 21:27:32 +00:00