Closes#471, Tag selector should update when tags are added/removed
Tag Selector overhaul:
- Right-click to rename/delete tags globally
- Filter tags to only those associated with currently visible items, with a Display All checkbox to show others in gray -- scope list set via new callback mechanism in the items tree
- Drag and drop items onto tags to batch assign
- Tag Notifier events, currently unused (tag selector currently just refreshes on all item events, since doing granular tag updates is considerably more complicated)
- Performance improvements, offset by the new features that make it slower
There should probably be an option to use either an ANY or an ALL search in the tag selector... (It's ALL by default now.)
New methods:
- Zotero.hasValues(obj) -- return true if an object (/associative array) has at least one value, false if not
- Zotero.Item.addTagByID()
- Zotero.Item.hasTag()
- Zotero.Tags.getAllWithinSearch(search)
- Zotero.Tags.rename(tagID, tag)
- Zotero.Tags.remove(tagID)
- ItemTreeView.addCallback()
- ItemTreeView.setFilter('search'|'tags', data) -- replaces searchText()
- CollectionTreeView.getSearchObject() -- search object used to generate the items list
- CollectionTreeView.getChildTags()
- fixes conditional bugs in cite.js. i haven't had to use the conditionals until now, but Chicago has some bizarre formatting rules (especially 17.169)
- removes extraneous debug code
Closes#371, OCLC OpenURL resolver lookup should be a manual operation
Closes#341, Switch preferences to use prefwindow with multiple prefpanes
- Keyboard shortcuts for various actions and interface elements while Zotero pane is open, editable via new preference pane (which needs a better icon) -- more coming
- Switched keyboard shortcuts on Mac (including Zotero pane shortcut) back to Command-Shift, since apparently Command-Option-everything is more or less totally broken on OS X -- this does conflict with Redo on OS X, but people can change one of the two if they care.
- Option (on by default) to try to override existing shortcuts, which should help with some conflicts (e.g. Web Developer extension has a lot)
- Preferences now use prefwindow, which is totally buggy but when it works makes for a nicer and more platform-specific UI (e.g. preferences take effect immediately on OS X with no OK button)
- "Search for Resolvers" button instead of automatic request
- Zotero.Prefs.get() now takes a second 'global' param to easily get non-Zotero prefs
- Focus tag selector on display
Also:
- Ensures that buttons and fields in metadata pane are visible when you tab to them (e.g. off the bottom)
- Returns focus to items pane after updating field (without using tab)
- implemented ability to test regex and run detectCode from within Scaffold. it is now possible to generate an entire translator from within the environment.
- added Factiva translator, which should work, although Factiva just went down for maintenance a few minutes ago