View Single Post
Old 05-28-2011, 02:09 PM   #1
calibre/Sigil Developer
kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.
Posts: 4,246
Karma: 1445996
Join Date: Oct 2010
Location: London, UK
Device: Kindle Paperwhite 3G, iPad 3, iPad Air
[GUI Plugin] Reading List

This plugin is for a number of users who have requested a "Reading List" ability for their library, allowing them to keep track of which books they would like to read next and in which order. You can have multiple lists per library per device.

This plugin has also integrated all the functionality of the now deprecated Book Sync plugin, allowing you to synchronise list(s) to a device either manually or automatically when it is connected.

You also have the ability to generate lists based on the content of your device. In combination with the ability to apply tags or populate a custom column based on membership in a list, this provides an easy way to keep track of books on your device(s) while they are not connected.

Main Features of v1.6.6:
  • Create one or more independent lists of books, per library
  • Lists can be manually populated, auto-populated based on books on a device, or auto-populated based on a tag/custom column value
  • Add all books with the same series series name for the selected books to a list
  • Order the contents of a list (for manual lists, order is viewable in calibre only, not on the device)
  • Optionally specify a tag or custom column value to be added when books are put on the list and/or removed when taken off the list
  • Optionally sync each list to one or more devices, a folder or iTunes
  • Specify whether list sync should add only new items not on device, add all items every time, remove all items that are on the list, or replace all items on the device with the list
  • Optionally force a sync to the device of your list if adding while it is connected
  • Optionally populate a custom series column with your reading list order, for constant visibility within calibre or content server
  • Optionally force Kindle Collections to be recreated after a sync (Kindle owners only, requires the Kindle Collections plugin)
  • Configure devices and the names for individual storage locations
  • View the contents of your list in the library view sorted in list sequence.
  • Remove books from your list, move books between lists and clear lists.
  • Shortcuts customisable in a configuration dialog

Special Notes:
  • Requires Calibre 0.9.29 or later

Installation Notes:
  1. Uninstall the Book Sync plugin if you have it installed.
  2. Download the attached zip file and install the plugin/restart Calibre/add to context menu as described in the Introduction to plugins thread.
  3. If you would like to associate devices with your lists, follow the steps below.
  4. Ensure a device you would like to sync to is connected.
  5. Select Customize plugin from the plugin menu (or via Preferences -> Plugins). Click the Add connected device button.
  6. If you want to rename the device you should do so now. If it has multiple card locations, uncheck any you do not want to create a sync list for.
  7. For the list(s) you wish to synchronise to this device, select the device in the list configuration dropdown. You should also specify the additional options below it, such as whether to clear the list after syncing to it.
  8. If you have multiple devices, disconnect your first device, plug the second in and repeat the steps above to add it to your Reading List known device list via the configuration dialog.

Kindle Collections:
  • Kindle collection integration requires at least version 1.7.0 of the Kindle Collections plugin.
  • To automatically recreate Kindle Collections after a sync to your Kindle, follow the following steps:
  1. Ensure you have the Kindle Collections plugin installed and configured. You can find further information on this plugin here
  2. In the Reading List configuration dialog, change the dropdown in the Collections column for your Kindle to "Y"
  3. Force a sync to your device, either by connecting if you have autosync turned on or manually using the Sync Now menu option
  4. After your collections have been recreated, the Kindle Collections summary dialog will appear. Follow the instructions on it to disconnect and restart your Kindle to see the new book collections.

Paypal Donations:
  • If you find this or any of my other plugins useful please feel free to show your appreciation. I have spent many hundreds of unpaid hours in their development and support so any encouragement for me to continue is appreciated!
Version History:

Version 1.6.6 - 22 Nov 2014
Fix keyboard shortcuts not working on calibre >= 2.10

Version 1.6.5 - 28 Jul 2014
Supporting upcoming calibre 2.0

Version 1.6.4 - 21 Jul 2013
Final fix for duplicated keyboard shortcuts between adding to a list and adding series to a list

Version 1.6.3 - 20 Jul 2013
Attempted fix for duplicated keyboard shortcuts between adding to a list and adding series to a list

Version 1.6.2 - 09 May 2013
Change for correct support of calibre 0.9.29 virtual libraries feature
Add a "Add series to xxx" menu option to allow quickly adding all books in a series for the selected book(s)
Improve readability of the confirmation text when clearing a reading list

Version 1.6.1 - 17 Mar 2013
Rewrite auto-populate from column to be "auto-populate from search". Users now type a search expression rather than choosing a column/value.

Version 1.6.0 - 23 Nov 2012
Add ability to automatically create lists based on tags or custom column values
When moving books between lists, turn off warnings to prevent multiple errors being displayed
If default list is set to an automatically populated list, do not allow the add/edit/clear actions for default list

Version 1.5.2 - 22 Aug 2012
Fix the signal disconnection which prevented things working once the config window had been opened/closed.

Version 1.5.1 - 30 Jul 2012
Ensure error not thrown if device is connected after configuration is closed and objects deleted
Set a favourites_menu_unique_name attribute on menu actions that have dynamically changing names for Favourites Menu plugin usage
Allow multiple lists to be selected in the Move to list dialog, as an alternate way for users to add to multiple lists at once

Version 1.5.0 - 22 Jun 2012
Now requires calibre 0.8.57
Store list contents in the calibre database rather than a json file, to allow reuse from different computers (not simultaneously!)
Add a support option to the "Other" tab allowing viewing the plugin data stored in the database
Remove code that supported upgrading from earlier than 1.2.0 of this plugin.

Version 1.4.4 - 15 Jun 2012
Add a create_list function to the internal API for use by other plugins
Add further refresh_screen overloads to the API functions and improve command line testability

Version 1.4.3 - 30 May 2012
Add a confirmation prompt to the clear list option.
Change the Move to list functionality, so it is always available rather than only when viewing a list. Change behaviour to prompt for source/target lists.
When choosing Remove from all lists, if currently viewing a list then refresh it.

Version 1.4.2 - 28 Jan 2012
Offer option to display the reading order in a custom series column
Fix bug where clearing a list would not immediately refresh books on screen that were on that list

Version 1.4.1 - 12 Jan 2012
Refactor some methods to expose the ability to add/remove from lists from other plugins

Version 1.4.0 - 21 Nov 2011
Add list type of "Auto populate list from books on device". Populated when you sync. You cannot manually add/remove.
Add Clear menu items for fast way of clearing the contents of a list
Fix to ensure when a list has auto-clear turned on, items are removed even if not found necessary to sync them
Move the devices list onto its own tab to simplify list appearance
Add an option on Other Options tab for whether to display the remove books from device dialog, allowing unattended syncing.

Version 1.3.2 - 2 Nov 2011
Fix for updating boolean columns to use prefs rather than tweaks since changed in Calibre 0.7.55
- Allow specifying the value to be assigned to a boolean when adding, rather than always just "Y" (True)
- If tristate column and list set to remove value from a boolean column, will set the column to blank (as per previous)
- If non tristate column, will set the value to the opposite of what you specified on config dialog for an add (i.e. ignores current value)

Version 1.3.1 - 23 Oct 2011
Allow a list to be associated with "*Any Device" so a single list can be synced to multiple devices
When switching libraries, if a device is connected then fire the check to see whether lists to sync
Rename list types - Sync new list items -> Add new list items to device, Sync all list items -> Add all list items to device
Add list type "Replace device with list, send new only" to delete non-list books from device, send new items not on device
Add list type "Replace device with list, overwrite all" to delete non-list books from device, overwrite all books with list

Version 1.3.0 - 17 Sep 2011
Upgrade to support the centralised keyboard shortcut management in Calibre

Version 1.2.6 - 31 Jul 2011
Ensure people upgrading who had no list type node in their config xml do not get an error.

Version 1.2.5 - 30 Jul 2011
Offer option of controlling whether tags are added only or removed only for each list
When syncing lists, apply and "Remove" type lists before any other list types

Version 1.2.4 - 05 Jul 2011
On the View menu item, put a total of items on all lists on the top level menu item
On the Sync now menu item, put a total count from all the lists that would be synced

Version 1.2.3 - 20 Jun 2011
Bug fix for "Sync all items" functionality

Version 1.2.2 - 20 Jun 2011
Add a "list type" for each list, which allows syncing new only, all items, or removing items from device

Version 1.2.1 - 18 Jun 2011
When syncing a list, only sync books not already on the device

Version 1.2 - 08 Jun 2011
Integrate the Book Sync functionality allowing specifying a device to send a list to
Add a count of the items on a list to the menu
Add optional keyboard shortcut to add to a specific list

Version 1.1.1 - 05 Jun 2011
Support the config migration for users who jumped from earlier versions

Version 1.1 - 03 Jun 2011
Change all tagging column definitions and values to be per list rather than per library
Support other custom column types of enumeration and boolean

Version 1.0.3 - 02 Jun 2011
Add menu option to remove books from the list, with a keyboard shortcut
Change the error and delete list/item confirmation dialogs to have the option to not show again
Add a button to configuration dialog to allow resetting confirmation dialogs
Ensure the book details pane is updated for the current row

Version 1.0.2 - 30 May 2011
If edit while viewing the contents of a list, refresh the view afterwards
If a user deletes a list, ensure any tags are removed for items on that list
Expand on the tags add/remove option to allow choosing a custom column instead

Version 1.0.1 - 28 May 2011
Add option to add tags when book added to list, and remove tags when removed from list

Version 1.0 - 28 May 2011
Initial release of Reading List plugin

Attached Thumbnails
Click image for larger version

Name:	Screenshot_1_Toolbar.png
Views:	5460
Size:	15.4 KB
ID:	79260   Click image for larger version

Name:	Screenshot_2_Toolbar.png
Views:	5236
Size:	17.8 KB
ID:	79261   Click image for larger version

Name:	Screenshot_3_Configuration1.png
Views:	5451
Size:	38.3 KB
ID:	79262   Click image for larger version

Name:	Screenshot_4_Configuration2.png
Views:	5365
Size:	24.3 KB
ID:	79263   Click image for larger version

Name:	Screenshot_5_Configuration3.png
Views:	5007
Size:	18.1 KB
ID:	79264   Click image for larger version

Name:	Screenshot_6_Edit_List.png
Views:	5238
Size:	18.7 KB
ID:	79265   Click image for larger version

Name:	Screenshot_7_Move_List.png
Views:	4844
Size:	17.7 KB
ID:	87113  
Attached Files
File Type: zip Reading (88.0 KB, 50860 views)

Last edited by kovidgoyal; 11-21-2014 at 10:29 PM. Reason: v1.6.5 Released
kiwidude is offline   Reply With Quote