For 0.8.0 cycle

 (see mailing list for the details, this is just a reminder list)

 - Postponed
    - Requires versus provided for disciplines & clan cards ?
       - each card provides a set of keywords
       - each card potentially requires one of a list of keyword sets.
       - Multiple discipline requirements ?
       - Requires (anarch, titled, prince, etc.)
       [ implement a plugin which can filter out what a set of crypt
         cards can play first ]

 - Definite
    * Add decent error checking for the io files
    * More access to debugging info
      - Make it easier to get relevant info from users
      - Use logging module to store more info, to be easily
        extracted (partly done)
      - Do more with the --verbose flag?

    Website:
       * Mirror documentation on website. (sort of done, needs automating)

 - Nice to have
    * Add ways of specifying more limited test data sets
    * Address code duplication issues - (largely done)
    * Abstract Card Editor
    * Real plugin support
      - and mechanism for plugins to provide their own documentation to the
        help menu.
    * Cluster plugin speed-up
    * Add more keyboard shortcuts
    * Right-click context menus
    * Make MultiSelectCombo less evil (turn it into a proper widget?)

* Post 0.8
  * Allow colouring options for the cards
  * Fetch missing card images from vtes.pl
  * use SQL view to work around mysql's poor subselect performance
    (patch exists, to be applied and finished after 0.8.0)
  * use HTML help system for filter dialog help for consistency
  * Extend Analysis plugin to handle Rapid Thought decks
    - Add "rapid thought: banned" and "rapid thought: watch list" keywords
      to extra card list?
    - Add preference for hiding/showing rapid thought keywords in card text
      view?

For the future
--------------

Backend:
 * DatabaseUpgrade could be less brittle
 * Rework SutekhUtility to be less of a mess
 * Consider using SQLObject's new .throughTo method for populating / caching
   the objects abstract cards join to.

Code Cleanup
 * Refactor gui classes somewhat - there's a fair bit code duplication ATM
   between the different View-Window-Controller sets for instance, and this
   looks like something worth addressing (partly done, could use further work)
 * More tests
 * MultiPaneWindow mixes code for handling the widget hopping and application
   code - these should be seperated.
 * Replace the profileration of listeners with a generic event bus (using
   gobject signals?)

Gui (Functionality):
 * Compare CardSet Plugin (basic version done. Could be improved)
 * Plugins for calling out to other VtES utilities as appropriate (http://ashheap.storageannex.com/utilities.htm)
 * Convert the repeated functions in the plugins into functions in the plugin
   API
 * Improved card set sorting
   - Allow specifying order of columns to use, etc.
 * Add an undo stack for card set and filter editing operations

Gui (Presentation):
 * Clean up the card set controller/model/view interactions
   - CardSetManagement stuff is still rather tangled
 * Parse in a GTK rc file? (http://www.moeraki.com/pygtktutorial/pygtk2tutorial/ch-GtkRcFiles.html)
 * Disable set_fixed_height_mode on TreeView cells so that the card text extra column
   can be changed to render across multiple lines without breaking layout. This
   will require some other way of dealing with the TreeView jumping bug.

Other Tasks:
 * Find some users and developers interested in Sutekh on Windows.

Upstream:
 * File GTK bugs for:
   - TreeView jumping.

