Commit graph

5726 commits

Author SHA1 Message Date
Aurimas Vinckevicius
b6c7ba6ea2 Fix saving style locale in documents 2015-07-09 23:38:25 -05:00
Dan Stillman
507ef011d8 Restore "without snapshot" option in Fx connector
Will be supported in upcoming Standalone release
2015-07-09 19:10:32 -04:00
Simon Kornblith
e92a54966c Restore ZoteroPane.destroy() on close
Seems like a good thing to do, if only because it ensures we persist
changes
2015-07-09 18:05:08 -04:00
Simon Kornblith
b931ca37d2 Undo accidental subproject commit change from 3420b4874a 2015-07-09 18:02:11 -04:00
Simon Kornblith
3420b4874a Tweaks for application menu on OS X
- Restore About Zotero item
- Fix Quit item
- Close Standalone when Standalone window is closed (we did this before,
  but apparently having our own hidden window breaks that mechanism)
2015-07-09 18:00:15 -04:00
Aurimas Vinckevicius
bf58de7e62 Update citeproc-js to 1.1.25
And split off Zotero additions
2015-07-09 16:31:57 -05:00
Simon Kornblith
b69e6fc3ab Fix Zotero menu on OS X, part 1
Create a hidden window with a menu bar, since it loads first
2015-07-09 16:52:04 -04:00
Aurimas Vinckevicius
3ca45be2c7 Add more debug logging for Recognize PDF 2015-07-08 12:50:10 -05:00
Dan Stillman
2a5b026f65 Wait for schema update before updating save icon
Technically rather than waiting for the schema update we should wait for
translator initialization, which should wait for the schema update
itself, but the schema update also needs to initialize the translators,
so avoiding a hang is tricky, particularly with the use of Zotero.lazy()
for Zotero.Translators.init(). For now, just wait for the schema update.
2015-07-07 17:39:06 -04:00
Dan Stillman
c590aa0eb4 Fix documentation for Zotero.DataObjects.getAsync() 2015-07-07 14:40:14 -04:00
Dan Stillman
5d9d8ae953 Fix passed 'window' property in Zotero.ProgressWindow
Though not currently used anywhere
2015-07-06 19:15:11 -04:00
Dan Stillman
b19cce1963 Fix issues with toolbar icons in multiple windows
Clicking the separate buttons would trigger actions in the first window
opened, and other things might not have been updating properly across
multiple windows.
2015-07-06 15:41:28 -04:00
Dan Stillman
238183a3fa Fix collapse library ("-") for collections
Broken in f5ce2d238e
2015-07-06 04:38:53 -04:00
Dan Stillman
41b772da4d Show the save button guidance panel again, now that it doesn't hide too easily 2015-07-06 00:49:35 -04:00
Dan Stillman
e3061289a5 Clarify main button guidance panel text
"Click here to open Zotero…" -> " Click the ‘Z’ button to open Zotero…"
2015-07-06 00:48:03 -04:00
Dan Stillman
db991743cd Trigger forward action with click anywhere on guidance panel
Previously, clicking directly on a noautohide guidance panel closed it, even if
there was a forward nav button. (In the case of the main and save button
guidance panels, the save button would appear on the next Firefox restart, but
this ensures that the save guidance panel will be shown to new users even if
they click on the panel instead of the not-particularly-noticeable forward
button.)
2015-07-06 00:46:36 -04:00
Dan Stillman
41fc082f6d Fix too-large icons in secondary toolbars on Linux
Plus a few other icon tweaks
2015-07-05 15:37:11 -04:00
Dan Stillman
0ba64b5194 Show guidance panel nav buttons on Linux 2015-07-05 12:58:36 -04:00
Dan Stillman
01716183d7 Prevent erroneous hiding of hideonpagechange guidance panels on complex pages 2015-07-04 17:09:26 -04:00
Dan Stillman
ebe08836e8 A little more Quick Copy safety 2015-07-03 23:53:43 -04:00
Dan Stillman
f07fe7184d Ignore trailing period in domain for Quick Copy
From @aurimasv
2015-07-03 23:46:39 -04:00
Dan Stillman
242581a270 Fix Quick Copy in tab mode, but for real 2015-07-03 22:06:12 -04:00
Dan Stillman
20f279043b Update submodules 2015-07-03 02:09:27 -04:00
Dan Stillman
208b4daf6e Update locales from Transifex 2015-07-03 02:06:59 -04:00
Dan Stillman
9d2b097605 Fix toolbar icons in non-nav-bar toolbars on OS X and Windows
...which only required redoing the entire styling.

Not yet done on Linux
2015-07-02 05:50:57 -04:00
Simon Kornblith
50ee61545a Kill code to ensure that our pipe is open before we write to the other
In practice, this appears to be both unnecessary and harmful. Although
the first write happens effectively instantaneously, we can take
several hundred milliseconds to read the second write, and Standalone
can decide we are dead.

This apparently fixes #783 for @dstillman, although I was never able to
reproduce locally.
2015-07-01 20:40:28 -04:00
Simon Kornblith
d104e4b106 More debugging for #783 2015-07-01 20:01:00 -04:00
Dan Stillman
15a0a33ac1 Fix Quick Copy in tab mode 2015-07-01 19:36:16 -04:00
Simon Kornblith
9574de752d Debugging for #783 2015-07-01 14:46:06 -04:00
Dan Stillman
7ccc48b4ae Don't show "without snapshot" save option in Fx connector for now
Option requires a new Standalone build with ba53f256d
2015-07-01 02:38:15 -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
3cf1c3ccda Merge locales from Transifex 2015-06-30 23:41:48 -04:00
Dan Stillman
39f2021576 Include web page save option in toolbar menu on every page
Closes #644 and #775
2015-06-30 23:41:47 -04:00
Simon Kornblith
43e1c5c123 Fix setCookiesThenSaveItems in Firefox connector 2015-06-30 19:20:16 -04:00
Dan Stillman
796fb87a9b Fix some toolbar icon issues on HiDPI Linux 2015-06-30 17:58:32 -04:00
Dan Stillman
6841be09a1 Fix large save icon on HiDPI Windows, hopefully 2015-06-30 17:08:45 -04:00
Aurimas Vinckevicius
5334a09ee0 Fix institutional author export to CiteProcJS 2015-06-29 23:22:09 -05:00
Simon Kornblith
48e6eb93de Merge pull request #779 from aurimasv/proper-to-proxy
Fix properToProxy converter functions
2015-06-29 22:27:15 -04:00
Aurimas Vinckevicius
b03dcd3686 Fix properToProxy converter functions
Regression from 82998e986e and 9450d0797f
2015-06-29 17:55:10 -05:00
Simon Kornblith
64ff0e8b4e Fix #774 2015-06-29 18:03:09 -04:00
Dan Stillman
5545ea7847 Merge locales from Transifex 2015-06-29 07:12:55 -04:00
Dan Stillman
6c416e7ad2 Get rid of middle border radius in combo button on Windows 2015-06-29 07:06:20 -04:00
Dan Stillman
a9c6feb380 Additional toolbar overflow tweaks for Linux
Follow-up from 1d6483e68
2015-06-29 06:35:23 -04:00
Dan Stillman
1d6483e68a Fix #773, Zotero combo icons dispersed under more tools
And fix save button hover height on Windows, which somehow got out of
whack again.

Might need further tweaking on Linux

Need to find a better way to do these buttons...
2015-06-29 05:59:19 -04:00
Dan Stillman
ddf3ff9ba9 Don't try to set lastLocale pref in doc prefs unless locale was changed 2015-06-28 17:16:33 -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
3a5854f49f Update versions and submodules 2015-06-26 02:40:18 -04:00
Dan Stillman
dd146557b7 Merge non-English strings 2015-06-26 02:13:24 -04:00
Dan Stillman
4868095820 Guidance panel for new save icon
For new installations, a panel will show for the Z icon with a ">"
button to go to a second panel for the save icon. For existing
installations, a panel will show just for the save icon. In both cases,
the panels are non-auto-hiding but are dismissed if clicked on or when a
new content page is loaded.

There's also a new close button, but it's not enabled currently. Might
be useful for panels with embedded links where an accidental click on
the panel alone shouldn't close the panel (like the Firefox customize
mode wizard).
2015-06-25 22:51:05 -04:00
Dan Stillman
a909951106 Merge locales from Transifex 2015-06-24 14:41:43 -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
Aurimas Vinckevicius
6ac0403049 Reorganize and improve locale drop-down code 2015-06-24 14:10:33 -04:00
Dan Stillman
42673cb0a2 Merge non-English strings 2015-06-24 06:24:25 -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
0d1d4ee5cb Don't change selection unnecessarily when creating trashed item 2015-06-23 16:56:10 -04:00
Dan Stillman
27f6f018d3 Remove Zotero.suppressUIUpdates
Now handled by notifier flags
2015-06-23 16:31:40 -04:00
Dan Stillman
12bea4b7ea Notifier observer time logging 2015-06-23 16:03:05 -04:00
Dan Stillman
3ff1ff88a9 A couple search query optimizations
...which make very little difference, but they look better in the SQLite
query plan view.
2015-06-23 15:07:57 -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
0511d37b07 Replace multiple spaces in platform names for full-text searches
Closes #770
2015-06-22 11:51:20 -04:00
Dan Stillman
a5403b7499 Always include 'note' property in item JSON for notes in 'new' mode 2015-06-19 16:00:51 -04:00
Dan Stillman
3f475f25b6 Include remotely added properties in relations diffs 2015-06-19 04:07:46 -04:00
Dan Stillman
2e76fd6584 Add Zotero.DataObjectUtilities.getTypes() 2015-06-19 04:04:56 -04:00
Dan Stillman
7ba54886a6 Add toJSON() for searches and make Collection::toJSON() async 2015-06-19 04:04:33 -04:00
Dan Stillman
79733c75f1 Throw error in Item::fromJSON() if itemType not provided and not set 2015-06-17 01:57:57 -04:00
Dan Stillman
e45aabd03c Special handling of objects class for SyncedSettings
(Though maybe it should just be renamed Zotero.Settings, since
non-synced settings aren't used much and are just handled via DB
queries.)
2015-06-17 01:57:42 -04:00
Dan Stillman
78d62b5c7c '@params' -> '@param' in comment 2015-06-17 01:57:41 -04:00
Dan Stillman
b491ea6516 Additional async updates to colored tag handling 2015-06-17 01:57:32 -04:00
Dan Stillman
b3067ac5c0 Add skipDeleteLog option when erasing objects
To be used by updated deletion listener in new sync code

Also adds explicit Zotero.SyncedSettings.clear() in place of
Zotero.SyncSettings.set() without a value
2015-06-17 01:57:31 -04:00
Dan Stillman
0d59bde186 Clean up DataObject erasing, and fix search unloading 2015-06-16 19:51:21 -04:00
Dan Stillman
4f155e3432 Fix group.fromJSON() with no 'admins' or 'members' arrays 2015-06-16 19:51:21 -04:00
Simon Kornblith
5cbb8de96b Re-enable import progress indicator 2015-06-12 17:06:07 -04:00
Simon Kornblith
6db380b132 Fix importing files and add a basic test
Still need to make the progress indicator work again. Also there may be
some performance to be gained by pooling item saves into a transaction
if one is already open.
2015-06-12 16:58:57 -04:00
Dan Stillman
526c5f8112 Don't break Dan Cohen's library
(Though if you think about it, all of our publications may indeed become
Dan Cohen's eventually.)
2015-06-12 03:30:08 -04:00
Dan Stillman
f7216298b4 Update character set handling
Restore prepopulated charset table, but this time with just the
encodings from the WHATWG Encoding Standard. Assigning a charset to
Zotero.Item::attachmentCharset runs the value through
Zotero.CharacterSets.toCanonical() automatically.

This migrates attachment charsets to the new canonical values, clearing any
that are unsupported.

Other legacy mappings could still be added back, as disussed in #760.
2015-06-12 02:46:02 -04:00
Aurimas Vinckevicius
5817a2d654 Store UTF-8 as charset for all snapshots 2015-06-11 18:30:57 -05:00
Aurimas Vinckevicius
1374cc911a Always save snapshots in UTF-8 encoding
Re https://forums.zotero.org/discussion/49897/thecreate-web-page-item-from-current-pageis-sometimes-not-working-correctly/
There is something wrong with the way nsIScriptableUnicodeConverter converts to gbk (maybe other formats too). The HTML of http://www.cmiw.cn/forum.php is truncated in the middle of an em tag. In general, ConvertFromUnicode is supposed to return an ACString (not AString), which is not something that JavaScript can handle well.
2015-06-11 18:27:13 -05:00
Aurimas Vinckevicius
16ab576a1c Add toCanonical and toLabel for Zotero.CharacterSets 2015-06-11 17:17:28 -05:00
Dan Stillman
c407675d6a Fix more Travis timeouts, hopefully 2015-06-11 16:06:00 -04:00
Dan Stillman
f8684cc9d8 Fix tag purging and Zotero.Tags.getName() 2015-06-09 16:47:04 -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
1d45c6c882 Reselect the same row when an item is removed 2015-06-09 03:27:45 -04:00
Dan Stillman
33c19715a8 Avoid error when dragging over header row 2015-06-08 04:29:16 -04:00
Dan Stillman
9a45fa94bd Move transaction wait debug output to level 6, and strip Bluebird lines
This output is basically only useful when something hangs, so it can
stay off all other times.

For now, 6 can be the new only-use-when-something-is-actively-broken
level. At some point we may want to move DB activity to 4 and make this
sort of thing 5, because we don't have much that's 4 right now.
2015-06-08 04:14:47 -04:00
Dan Stillman
2d6143dce1 Clean up notifier debug output 2015-06-08 04:14:46 -04:00
Dan Stillman
f93e6706fa Don't refresh collections view when removing groups
Remove rows one by one
2015-06-08 04:14:46 -04:00
Dan Stillman
b43a735b93 Include libraryID in group.erase() notifier data 2015-06-08 04:05:47 -04:00
Dan Stillman
ec89a98f9d Add group.eraseTx() 2015-06-08 04:05:47 -04:00
Simon Kornblith
70f021f945 Use ISO 8601 accessDates everywhere
This uses ISO 8601 dates for generateAllTypesAndFieldsData (and
changes populateDBWithSampleData to use Item#fromJSON), and makes
translators expect ISO 8601 accessDates, although SQL accessDates are
still supported with a deprecation warning. Canonicalization happens in
Zotero.Translate, so I need to remember to update connectors as well.
2015-06-07 18:50:57 -04:00
Dan Stillman
8448203583 Expect ISO 8601 access dates in Zotero.Item::fromJSON()
This causes translator tests to fail, because the sample data currently
has SQL access dates instead.
2015-06-07 17:54:44 -04:00
Simon Kornblith
3fc38d750b Use Zotero.Item.fromJSON() for saving from translators
Also:
  - Move some canonicalization of items returned by translators to
    Zotero.Translate
  - Make Zotero.Translate#translate return a promise
  - Add tests
2015-06-07 17:30:41 -04:00
Simon Kornblith
ec5e20659b Improve error handling for attachment saving 2015-06-07 17:22:57 -04:00
Simon Kornblith
e27d907973 Throw an error if HTTP request yields non-OK in importFromURL() 2015-06-07 16:06:59 -04:00
Dan Stillman
6935310c75 Fix Zotero.Users.setCurrentUsername() 2015-06-07 15:50:07 -04:00
Dan Stillman
a22c4969e6 Move editable and filesEditable props to libraries table [DB reupgrade]
And add group.fromJSON(json, userID), which sets editable and
filesEditable properties based on the group JSON (libraryReading, role
lists, etc.) and the given user
2015-06-07 15:50:07 -04:00
Dan Stillman
53706d633a Make Zotero.HTTP exceptions instances of Error 2015-06-07 15:43:09 -04:00
Dan Stillman
16706ba481 Allow Zotero.HTTP.request() to be mocked
sinon.useFakeXMLHttpRequest() doesn't work in our case, but if
Zotero.HTTP.mock is set, Zotero.HTTP.request() will create new instances of
that object instead of the built-in XMLHttpRequest, so it can be set to
FakeXMLHttpRequest:

Zotero.HTTP.mock = sinon.FakeXMLHttpRequest;
var server = sinon.fakeServer.create();
server.autoRespond = true;
server.respondWith("GET", "/users/1",
  [200, {"Content-Type": "application/json"}, '{"userID": 1}']);
var userInfo = yield getUser();
Zotero.HTTP.mock = null;
server.restore(); // probably not necessary
2015-06-07 15:23:12 -04:00
Simon Kornblith
38eeab06a3 Some snapshot-related fixes 2015-06-07 14:02:20 -04:00
Aurimas Vinckevicius
3d4926923a Resolve relative URLs to absolute before trying to proxify them
Besides adding some debug logging, this currently makes no difference, but it will when we add support for de-proxifying URLs in #578.
2015-06-05 15:51:42 -05:00
Aurimas Vinckevicius
9450d0797f Don't double-proxy in properToProxy
Surfaced due to changes in 7f7fe90ad5
2015-06-05 15:51:42 -05:00