Customizable in the preferences
Also improves handling of Zotero startup errors, adding the ability to customize the tooltiptext of the status bar error icon and to have ZoteroPane.toggleDisplay() run a customizable error function (it no longer opens an empty and broken Zotero pane). For example, a missing Z directory now prompts the user to locate the directory.
Various code parts now check for the Zotero object and Zotero.initialized before trying to do stuff, which should cut down on redundant error lines in the console and generally make things cleaner.
Refs #542, Better icons for preferences window -- need icon for Advanced prefpane
'number' data in B3 'patent' items should become 'applicationNumber', since there already was a 'patentNumber', even if going forward 'patentNumber' will map to the 'number' base field
Simon, if you still have a copy of the problematic data, please check that this fixes the upgrade path.
This is still mostly proof-of-concept stage, but it seems to work on my Mac. It requires the pdftotext utility from the Xpdf project, which parses PDFs into plain text files. The Zotero fulltext indexer calls pdftotext on the PDF file and saves the plaintext version as .zotero-ft-cache in the attachment item's storage directory. It runs the fulltext word indexer on the plaintext file and also scans the plaintext file when doing a phrase search.
To try it out, install a copy of Xpdf (or just pdftotext) and either place pdftotext into the Zotero data directory or create a symlink. Either way, the file must be named pdftotext-{platform}[.exe], where {platform} is navigator.platform, with spaces replaced by hyphens (e.g. "Win32", "Linux-i686", "MacPPC", "MacIntel", etc.). On my Mac, with Xpdf installed via Darwin Ports, I create a symlink to /opt/local/bin/pdftotext named pdftotext-MacIntel. This setup will allow users to sync their Firefox profiles and still have Zotero use the appropriate platform-specific binary.
Assuming we go this pdftotext route, I think we'll instruct users to download and install Xpdf/pdftotext, possibly even providing binaries ourselves. The binaries are too big to include in the XPI. I'm going to look into creating a GUI to make linking Zotero to pdftotext easier. I also need to finish some of the other tickets related to indexer feedback and control.
There are also two new hidden prefs, fulltext.pdfMaxPages and fulltext.textMaxLength, currently set to 100 and 500K, respectively. The first determines how many pages of each PDF pdftotext processes, and the second determines how many characters and/or bytes of text files (the PDF cache files included) Zotero indexes and scans. These defaults may want to be adjusted higher or lower.
Closes#315, Hidden pref to set maximum file size to index/scan
Works for regular items and notes, not attachments (and doesn't clone child items when duplicating parent)
New method Item.clone()
Unrelated changes:
- Fix note/attachment dragging, broken by notifier changes (r1131) a while back
- Item.save() now triggers Notifier even if a transaction is in progress, which I hopefully no longer had a reason not to be doing
Better idea: Add expand/collapse keypress listener in treeview setTree() so that it works automatically in all trees
More of the functionality in the overlay could probably be moved into the treeviews like this
Hit + to expand all tree rows, - to collapse. Works in both collections tree and items tree.
Probably could've thought of that 8 months ago when we created the ticket...
Can drag links, images, or the favicon of the current page
Also allows dragging over collections and item pane whitespace to create standalone attachments, but if we want to allow that at all, it would probably be better to create new webpage items with snapshot items (like Create New Item from Current Page) instead.
Shortcut key defaults to "C"
Abstracted clipboard logic in Zotero_File_Interface._doBibliographyOptions() to separate function, Z_F_I.copyItemsToClipboard(items, style), which ZoteroPane.copySelectedItemsToClipboard() calls
Currently limited to citation styles, but there's no reason it couldn't support export formats, etc.
Closes#227, Indent nested collections in search drop-down
Addresses #528, Make search condition drop-down menu less unwieldy
- Created new distinct fields for differently labeled fields
- Mapped lots of fields to base fields
- Made base field search conditions search type-specific fields as well
- Removed type-specific fields that are based on base fields not show up in search conditions drop-down
- Added a tooltip when hovering over a condition in the search conditions drop-down that shows the fields it searches (when there's more than one)
- Moved search dialog CSS to separate file
- Use default background for Zotero pane and get along with custom styles a bit more
- Reduce padding in tag selector
- Reduce margins around trees, reducing space between panes a bit
- Hide splitter below collections pane when tag selector is hidden
I can't find any way to detect if the value is actually cropped with an ellipsis, so the best we can do is not display the ellipsis if the value is blank--if the value is shorter than the crop width but not empty, the ellipsis will still display.
Abstract displays in metadata pane as a cropped one-line field by default; clicking the 'Abstract' label toggles between the cropped field and an expanded view
Some problems with import/export: https://www.zotero.org/trac/ticket/537
Refs #537
Add font size support in external windows
Windows can use the font size pref by including a line like the following in their init script:
Zotero.setFontSize(rootElement);
rootElement should be a XUL element that surrounds all content (but not a <window> or <dialog> or anything that doesn't have a 'style' property)
Windows with treeviews also need to include zotero.css:
<?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?>
Utilities should also do this for any GUIs they create.
URL label is now clickable -- has cursor feedback on hover but still needs a visual indicator of some sort
Other changes:
- Can now load snapshots and pages in new tab/window by using the standard Firefox modifier keys while clicking the View button or the URL field
- View button in metadata pane now displays "View" or "View Snapshot" as appropriate
- Better detection of invalid snapshots when deciding whether to use "View" or "View Snapshot"
- Non-HTML snapshots viewed via the View button are loaded using the standard attachment logic rather than just window.loadURI()
- Added green Go arrows to standalone attachment view/show buttons
Method changes:
- ZoteroPane.loadURI(uri, event, data) - (new) Load URI with standard Firefox mod key support; passing an object with 'attachmentID' property triggers annotation mode
- ZoteroPane.viewAttachment(attachmentID, event) - (new)
- ZoteroPane.viewSelectedAttachment(event) - Now takes event param
- Zotero_Browser.annotateThisPage(id) changed to annotatePage(id, [browser]) to handle background tab loading
Addresss #352, Make sure data layer doesn't allow bad data via the API
Access date field is now human-friendly. Also enforcing SQL date form for the field in the DB and discarding bad data passed via setField().