TODO

This file contains a list of things to be done and a list of what's implemented done already.
Any entry starting with an X is completed.
Any entry starting with an / is half completed


What was in the  0.1 release:
 X enter pin code during startup to unlock the card
 X switching of network operators
 X SMS sending
 X some detection of Option GT cards


What was new in the 0.2 release:
 X PCMCIA card autodetection
    X Option GT            autodetection + use
    X Option Fusion(+)     autodetection + use
    / SonyEricsson GC79    (autodetection only)
 X command line override of autodetection
 X create basic website
 X if umtsmon is started immediately after card was inserted, the SIM
   interface might not have been initialised yet. That's currently handled 
   incorrectly: we *should* allow some time and poll for the interface to 
   become available.


What was in the 0.3 release:
 X card autodetection
    X SonyEricsson GC79       autodetection (done)
    X Option GT EDGE (Combo)  autodetection (done)
	X serial_cs-based cards   autodetection (done)
	  X Sierra Wireless Aircard 775 EDGE
      X Novatel Merlin UMTS Modem U630 
 X logging verbosity should be configurable
    X create DEBUG macro's
    X convert all existing printf's and cout's to DEBUG statements
    X create a method to handle critical errors
 X Add a technology selector - 3G only, 3G preferred, 2G only etc. 
   This is important for fringe network coverage. 
 X Make signal strength visible in title bar when minimized
 X add checkbox to enable/disable the update of network stats



For the 0.4:
 X Enhance PCMCIA detection to handle multiple PCMCIA slots.
   (implemented by Stefan Seyfried)
 * card autodetection
    * Option 'ICON' USB box   (only autodetection - cannot be used in Linux)
    / Huawei Technologies Mobile E612 
    X Detect 'Holtzman' Nozomi drivers (which have different /dev interface names)
      (implemented by Stefan Seyfried)
 * remove all assert(false) from the code
 * check if UMTS card is forced to a specific network
   because if that network is not available, you won't get a connection automatically
 / add feature to issue commands as "root" user
 	X apply the trick from kppp to do this
 	X must clean up code for handling of error conditions first
 * add a "STOP" feature that kills all network connections and
   performs a "cardctl eject" command - only if pcmcia kernel module is loaded
   note: "cardctl eject" on Suse 9.3, "pccardctl eject" on Suse 10.1
   note: on Suse, this command is suid root, but we can run things as root anyway now
 / implement start/stop PPP connection from within umtsmon
 * various interactions:
   - not possible to switch radio type when connected - should be disabled
   - not possible to connect when searching - connect should be disabled
   - when connected - disable connect button or reuse as "disconnect" button
 * implement configuration file for persistent settings
 * add window to enter required PPP (APN, username, passwd) settings
 * enter PUK code dialog  (code submitted by Christofer Wesseling)

For the 0.5:
 * fix compilation for QT4 (Bug # ###)
 * Make single serial port cards co-exist with PPP
   See note in SerialPort.cpp: This code can be derived from modem.cpp in kppp.
 * implement changing of PIN code settings
   * refactor PIN code enter thingie to separate widget that can be re-used
   * make sure that the PIN dialogs use '*' instead of number for
     increased security
   * design a wizard for changing a pin code ?
   * also must be configureable not to require a pin code * internationalisation
 * improve statistics page (add graphics, group digits (=localisation))
 * add automake/autoconf or something similar 
 * try to check if HSDPA is used (is it actually possible to detect?)
 * separate out SMS code
 * do code page translation as the character sets don't match
 * add receiving SMS
 * Wizards for PPP configuration


Other remaining issues:
 * diagnose more configuration errors
 * more integration into KDE/Gnome
   * iconify
 * installers
 * icons
 * more graphics

