- Added a wrapper around nsIMIMEService.getPrimaryExtension() that works a bit more sanely (doesn't throw an error on failure, enforce a couple hard-coded extensions (PDF and HTML) even on Linux (where the MIME service one isn't implemented))
- Use the extension we got back from our improved getPrimaryExtension(), even if the filename already had one
- If no filename, use last part of path before restorting to hostname
unfortunately, EBSCO exports still aren't working for me, but it doesn't seem to be Zotero's fault; i'm just not getting any RIS output to begin with. i'll give this another glance later today.
New methods, Item.renameAttachmentFile(newName, force) -- _force_ forces overwrite of an existing file
For the moment, implemented in the UI via a checkbox in the attachment title rename dialog (accessible by clicking on the title in the right pane) to rename the associated file as well -- this might be replaced by the upcoming keep-filenames-in-sync-with-attachment-titles feature, but it's probably fine for Beta 3.
Also new:
- Zotero.Attachments.getPath(file, linkMode) to get a relative or persistent path as appropriate given the link mode
New methods:
Item.removeAllRelated()
Item.removeAllTags()
Also:
- Tag selector didn't initialize properly if it was closed when Firefox was started
- Items pane would lose open state of items and current scroll position when an item was edited while the tag selector was open -- added save/rememberOpenState() and save/rememberFirstRow() to fix this, and these could also fairly easily be used to remember the open state while switching between collections
closes#441, In-page annotations of snapshots
testers: please check pages containing both annotations and highlights to make sure everything works correctly
This makes the quicksearch considerably more useful, as you can search for a child item in the library, select it, and then clear the search to view the item in context. (Works for multiple items as well, even of different parents.)
Add Document item type. Just the type -- no magical properties for now.
Fields: title, publisher, date, and the globals (callNumber, archiveLocation, repository, rights, url, accessDate, extra).
Creator types: author, contributor, editor, translator, reviewedAuthor (should these all be here?)
(Moved redundant string manipulation out of the sort() callback. I put it there by mistake in r831 when namespacing all the XUL ids right before b2.r2.)
There might be some regressions from this, but it seems to work fine.
Also:
- Fixed JS strict warnings in popup note window
- Use Zotero.Notes.add() when using toolbar button instead of a two-stage save with ZP.newItem('note')
CSS updates from Jeremy with some streamlining by me (consistency of print style, removal of unnecessary lines, and some other fixes)
Changed doctype to XHTML 1.0 Strict from 1.1
Adding /html/report.html to end of URL to provide a filename hint for Firefox (instead of the file being called 12345-34567-84573-42632.xhtml)
x-moz-url was listed as a supported flavour in both panes but not actually supported
Also fixed a typo (= instead of ==) in collectionTreeView's canDrop()
If an edit causes a note to stop matching the quicksearch, clear the search
Also:
- Select text in quicksearch when using shortcut key instead of just focusing
- Fixed strict warning
But don't break the independent note tags view
Also fix another tags error in that view
A lot of item pane logic really needs to be put in bindings, somehow...
(As noted in the ticket, this bug applied to clicking between any fields (not just "extra") without changing a value -- it also kept the second textbox from focusing properly on click.)
Not entirely sure how I broke this, but here's a fix.
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()