TODO
====

 * Create a "first use" wizard that can setup the user options.

 * Add a cancel button
 * Add authentiation options
 * Improve download speeds (bigger buffer?)
 * Better download error handling (dont just stop with no messages!)

 * Need to merge FileIO and UpdateThread code
  - GetFile needs to check a flag to see if the download is to be cancelled.

 * Fix missing image bug
 * Reload local channel info every time update is pressed - sometimes wont update otherwise -- ?
 
  * Each press of update can spawn a new update thread, this needs sorting out


Aims for Next version
 * One core download routine for cmd and gui
 * Progress bars on file and total progress
 * Check for missing files regardless of channel file
 * Allow user preferences
  - User defined download locations (per app?)
  - web browser?
  - default server 
 * Default install locations
 * Default executable (launch from app?)
 * Lauch webpages from app?
 * Multiple servers / mirrors?
 * Gui for server admin?
