TODO

This file contains a list of things to be done and a list of what's 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



What was in the 0.4 release:
 X Enhance PCMCIA detection to handle multiple PCMCIA slots.
   (implemented by Stefan Seyfried)
 X card autodetection
    X Huawei Technologies Mobile E612 
    X Detect 'Holtzman' Nozomi drivers (which have different /dev interface names)
      (implemented by Stefan Seyfried)
 x 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
 X implement start/stop PPP connection from within umtsmon
 X 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
 X implement configuration file for persistent settings
 X add window to enter required PPP (APN, username, passwd) settings
 X enter PUK code dialog
 X improved PIN code dialog

What was in the 0.5 release:
 X Fix security issues with respect to PPP by separating out the configuration
   into a separate program that can modify system settings after asking for
   a root password - the main UI doesn't need root privileges anymore.
 X card autodetection
    X Option 'ICON' USB box
    X 4G Systems 'Web n Walk' USB box
    X Original Option Vodafone 3G card
 X implement changing of PIN code settings
   X refactor PIN code enter thingie to separate widget that can be re-used
   X make sure that the PIN dialogs use '*' instead of number for
     increased security
   X new dialog: change pin code
   X new dialog: disable/enable use of pin code
 X re-layout the UI
   X separate out SMS code
   X separate out network switching code
   X separate out profile dialog 
   X create a menu and move functionality there
 X add dialog check for suid of pppd
  
For the 0.6 release:
 X back out patch to DetectCard to sudo /dev/noz*
 X add dialog to check for correct suid of all helper binaries and serial devices
 X Add detection of Kyocera device (won't work, though)
 X Add detection of Novatel XU870 (operation not complete - delayed to 0.7)
 X Make Sony Ericsson GC79 work (Bug #1499130)
 X fix SMS sending
 X fix about dialog (c) message and AUTHORS tab 
 X more graphical network strength view
 X make PPPConnection more robust
 X add 'noauth' to Profile
   
For the 0.6.9 release - will be in OpenSuse 10.3:
 X rewrite autodetection
   / switch to use libusb 
     * and use current code as backup for non libusb systems
   X usb detection first, pcmcia later
   X add option to specify ppp port on command line
   X attempt several baud rates if needed (Bug #1690898)
 / test all ports to use (AT/PPP) before actually continuing - if there are 
   three ports but only one is usable - switch to single port!
 / finish getting the SonyEricsson GC79 to work (Bugs #1499130 and #1746965)
   / make sure *all* AT commands are suppressed whilst PPP active
   * on single port cards, a malfunctioning PPP might leave the port in undefined state
 X show error log in case PPP fails
 X move setRadioPreferences to its own dialog (Bug #1631291)
 X Profile dialog: check for unsaved items if OK is pressed
 / add support for:
   X Dell Wireless 5510 (bug #1785692)
   / Sony Ericsson GC86
 

For the 0.7 release:
 * Fix network selection of Novatel XU870
 * fix operation on 2.6.20 kernels (Bug #1662877)
 * check if HSDPA is used and show in display
 * if multiple Profiles exist, make the "Connect" button a drop-down or add a dialog.
   * show the currently selected Profile on the mainwindow
 * check if UMTS card is forced to a specific network because if that
   network is not available, you won't get a connection automatically
 * optimize "select operators dialog"
    * make it a wizard?
    * add connect button?
    * separate model-view-controller to improve code.
 * card switching for ICON (ZeroCD device)
 * the Huawei 220 is a ZeroCD device, that can be easily switched 
   - add autodetection for the usb_storage thingie
   - just rmmod the usb_storage
   - this can probably be done better through libusb
   - and redo autodetection
 * optimize "profile dialog"
 * icons
   - get more icons from the Tango series
   - move all icons to the 22 and 16 directories
   X make a real application icon
   - add .desktop file
 * improve Gentoo ebuild
 * improve statistics page (add graphics, group digits (=localisation))
 * add umtsmon to Debian
 * 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
   -> this feature should only exist for PCMCIA, as it makes no sense on USB
   -> this feature is dangerous on nozomi cards as it might freeze the whole system
 * umtsmon prevents the system from going into suspend

For the 0.8 release:
 * fix compilation for QT4 (Bug # 1527835)
   -> only go to QT4 if it doesn't impact the amount of required libraries
 * (optional) inte
 * remove all assert(false) from the code
 * add logging window for PPP problems
 * Wizards for PPP configuration
 * SMS handling:
   * do code page translation as the character sets don't match
   * add receiving SMS
 * internationalization
 * Make single serial port cards co-exist with PPP
   See note in SerialPort.cpp: This code can be derived from modem.cpp in kppp.
 * more graphics
   - animated connect and search network graphics?
   - remove the flicker in the LCDDisplay
   - adjust font sizes for DPI settings in LCDDisplay


Other remaining issues:
 * diagnose more configuration errors
 * more integration into KDE/Gnome
   * iconify
   * integration with address books
 * installers

