*** 0.3.5 TODO: +Generic parsing function +WEP key config input validator +WEP Keys config +WEP Selection dialog +Key setting (iwconfig) +Add "key off" arguments when connecting to unencrypted netw. +RadioButtons OPEN / RESTRICTED +getVal -> if no endstr specified, parse till QString::length() +getVal -> if no startstr specified, parse from the beginning +set/improve TAB order for ui files *** 0.3.6 TODO: +sensible column widths +encrypted? icon in netList +graphical link quality +find a nice icon for link quality +add statusbar info if ad-hoc and/or encrypted skipped. +automatically use WEP key if name matches ESSID (bool autoKey) +default mode ui (defaultMode) *** 0.3.7 TODO: +fix sort order when scanned +fix wrong device detection if more than 1 present (maybe regexp (^[a-zA-Z]{3,4}\\d$) +fix: disable 'detect' & 'configure...' button when connecting +change mode to Managed before scanning +change quality calculation method. +add channel column & config (thanks to Michael Long) *** 0.3.8 TODO: +make all columns resizable +'name-essid matching case-sensitive' option +show frequency if channel not available. (no other adjustments needed) +reimplement NetListViewItem::width(...) +proper column width setting taking scrollbars into account +remove "Auto mode" - causes only problems. +honor single click (option) +quit upon successful connection (option) *** HEY! Now you can connect with just ONE click! *** +while getting quality, first try to find "Quality:" and calculate if not found, estimate if no noise level reported. +move WEP stuff in netConnect() to a separate function (getWepKey()) +support for .pid files +manual (not DHCP) config possibility +option to run custom command upon connection +connectionOk() function +icon *** 0.3.8a (BUGFIX RELEASE) TODO: +quality detection: support "Quality=" and "Noise level=" (maybe additional 'int offset' parameter?) +masterToManaged flag to be on for orinoco_cs driver -> set as default for all cards. +fix handling of ESSIDs with space +proper error-handling in runCommand(...) +install waconfig.kcfg to $KDE/share/config.kcfg/ (sf) +fix path detection (skip /mnt etc) +code cleanup: error messages to be called from within runCommand(...) *** 0.3.9 TODO: +dhclient support +terminate process button *** 0.5.0 TODO: +hide device combo if only one found +rewrite device detection (2.6 kernel only) +path detection on startup. No more manual configuration. +path detection upon WACommands initialization ( 'init()' function ) +.desktop file: 'Exec=sudo wlassistant' +remove Ad-Hoc support +remove Ad-Hoc code +remove GUI for options: + scan upon startup + skip ad-hoc + skip encrypted +net params read/write to config framework +paint "" in italics. +first time connection wizard +wizard: don't ask if WEP is needed, get it from NetParams (which gets it from selected item in the list view) +debugging code! (stdout) (std::cout << "ERROR MSG") +code cleanup: forward declarations ('class') in headers +support for ESSIDs (modify wizard dialog, additional page) +rewrite runCommand(...) function +manual DNS setup ( 'setDNS()' function ) +new, detailed description on KDE-Apps.org *** 0.5.1 TODO: +add 'wasHiddenEssid' and 'wasWep' booleans as part of NetParams for change monitoring. +NetParams change monitoring & actions. +move to i18n(..) strings +refine ui (as suggested by Stephan Binner) +dialog: edit connection +error handling: connecting failed? Ask if the user wishes to review network parameters. +"Settings Updated." status bar message. +fix newly hidden essid handling +try to kill both dhcpcd AND dhclient, regardless of current DHCP client, in case e.g. dhclient is running but wlassistant defaults to dhcpcd when it's available +Check if radio on and ask if should be turned on if necessary (before scanning). +Get channel from list, not config. +column widths still are wrong sometimes. +change scan results parsing to use QRegExp, adapt to wireless-tools-27 (e.g. always get channel #, etc) +function to get ESSID of network connected to +write essid of network connected to in bold letters (new setConnected() function of NetListViewItem, private bool mConnected) +change connectedNetwork when interface changes. +dynamic quality updating for connected network. +revise/rewrite paintCell function, reduce flicker. +'disconnect' button/option in the context menu (when appropriate) +option to reconnect to currently connected network. +cvs repository *** 0.5.1a TODO: +fix: don't set network as connected if link quality=0. +fix column width calculation (last time hopefully. Was using wrong font metrics for connectedItem) +bring back the 'AP' column. +fix: tab order in "Edit settings..." dialog. +remove wlassistant.rc file, update Makefile.am accordingly. +fix action taken when clicking on connectedItem when its network is not configured. +create 'itemAction()' function to run config/connect/disconnect/reconnect/etc after single click depending on item's status. *** 0.5.2 TODO: +icon marking connected network. +fix crash on startup/scan. +reduce flicker when populating netList. +report 1/2 STAR *only if* link quality is 1+ +workaround to fix problems with some drivers wrongly reporting that interface is connected when it is not. +connection status monitoring + actions. +review netReconnect and netDisconnect functions. +function to check if radio is physically turned off (with a switch on a laptop) if no scan results. +fix overusing of cache +'Do not ask again' checkboxes. (Conn lost, reconnect?, Conn failed, review settings?,...) *** 0.5.2a-c: +when detecting active connection: ping prints some errors on stdout, not stderr. :| Try to catch them. +only check for active connection if there was none before scan. *** 0.5.2d TODO: +wait 1sec(1.5?) after killing dhcp client to make sure it quits. +don't ifdown immediately after connection check fails. +revert default action of connected item to disconnect. *** 0.5.2e TODO: +BUG REPORTED: dhclient doesn't get killed when connection fails. +other fixes *** 0.5.3 TODO: +'Connect' button caption change when currentItem is selected. +Connect the 'connect' button to itemAction(). +get mouse behaviour from TDEGlobalSettings::singleClick() +make change of TDEGlobalSettings::singleClick() immediately apply in wlassistant. +remove "Honor KDE single click" UI. +connect signals/slots in wlassistant.cpp, not in the .ui files. +remove "Honor KDE single click" from kcfg. +remove 'netReconnect()' function, replacing with 'netConnect()' does the job. +rework the config gui - replace netList&statusBar with config options (use WidgetStack, 'Settings' toggle-button). + gui for 'Quit upon successful connection' + gui for "Enable All Messages" option (KMessageBox::enableAllMessages()) ToolTip/WhatsThis: "Enable all messages which have been turned off with the 'Don't Show Again' feature." +drop 'tdeconfigdialog.h' dependancy. +remvoe showCfgDlg() +reimplement 'close()' to save settings on quit. +add timeout to dhclient & dhcpcd (not command line args), GUI +when process running: change 'Close' button to 'Stop'. Pressing it should kill any running process. +save last used interface in config. +Formatting in message boxes. +change button 'close' to 'stop' only if process runs longer than ca 1.5sec. +change 'Settings' to 'Options' (application options). +add 'What's This'help & tooltips. +improve keyboard navigation (accels, tabs etc) *** 0.5.4 TODO: +create WATools +create int WATools::quality(iface) +create char* WATools::devices() [preferred] +function to get gateway address from 'route' +make wlassistant usable with cafes (login pages): + if ping_gateway ok: isConnected=true, isInternet=false. + show grayed out connectedIcon. + add 'isInternet' NetListViewItem property - set to 'true' when google reached. + quietly ping in the bg - if internet reached -> isInternet=true -> redraw change '?' to '->', change +rewrite function to get gateway address to parse DHCP client files, so 'route' output is the last resort. (fast VS very slow). +detect if connected AFTER scanning and showing network list. Otherwise it takes too long before something shows up. +add paths to DHCP files with lease info to WAConfig, so user can modify them by hand-editing config file when necessary. +create WATools::ap, WATools::ifname, WATools::setIfname, WATools::txpower +review 'timerConnectionCheck' occurences. Make it work regardless of connectedItem presence (to detect if connected from an outside app) +change QTimer::singleShot(...,..., SLOT(checkConnectionStatus()) ) to an timer object so it can be stopped at scan/disconnect -> this fixes 'wlassistant crashes when pressing 'scan' a lot' bug. +set config groups +create README with usage hints +change 'restricted' to 'shared key' +change 'open' to 'open system' +change 'connect from selected network' to 'connect to connected network' +add Portugese Brazilian translation (by Daniel Nascimento) +add Polish description to .desktop file (Comment[pl]) *** 0.5.4a TODO: +remove setIfname and ifname from WATools, get it from argument of each function. +don't check for active connection when no scan results. +change linux/socket.h to sys/socket.h in watools.cpp +fix 'no scan results' problem +make WATools::txpower return -1 if radio is disabled. +add spanish translation by mariodebian *** 0.5.5 TODO: +add 'ASCII' checkbox for WEP key field. (prepends "s:") +change "Checking radio..." and "ok"/not ok to "Radio OK" or "Radio not ok". +apply patch for config.in.in (by Sheldon Lee-Wen) +version in title +?review WATools and fix crash reason. +add QStringList dependancy to WATools, update functions to utilize it. +get we_version from iw_something_kernel_we function, cache it. (watools) +migrate to bksys/scons +detect paths to .pid and .info files. It's too hard to figure it out by the users. Fixes "can't switch network" bug. +no console output if radio ok. +add missing i18n (wlassistant.cpp, line 382 +make kernel socket number static. open when needed, reuse later. Create WATools::cleanup. +normalize quality returned by scan results. *** 0.5.6 TODO: +skip channel setting if not supported +wait a bit before connection state checking +per-network option to run user-specified commands after/before (dis)connecting. +option to auto connect on startup *** 0.5.7 TODO: +hide WEP key in stdout and edit dialogs +AP grouping +horiz. center 'secured' icon +fix bug: connected item NOT highlighted, when AP is "any" +experimental WPA-PSK support: + get WPA settings from scanning + WPA support in connection wizard and edit dialog + WPA config file generator + wpa_supplicant status monitoring using wpa_cli + WPA driver detection + Show error when trying to connect to WPA-protected net and wpa_supplicant is not available. +change "Group APs with same ESSID" label +remove "...supported by iwconfig..." label (WEP key, wizard) +fix dhclient association not being recognized -> ping to verify connection ONLY with manual settings. +fix regression from 0.5.5: dhclient fails to connect +don't check for connection while wizard is running. +implement WATools::setUp/isUp using ioctl, no more ifconfig calls and output parsing +implement WATools::doRequest/doWirelessRequest to minimize code duplication +don't resolve names when getting gateway from route (faster) +fix crash when "Active connection found." for AP=any +remove all "ifup" action instances +define and use global WA_CONNECTION_CHECK_INTERVAL +define and use WA_TX_THRESHOLD in WATools +remove gateway detection code +fix "Group Access Points..." label capitalization +adapt NetListViewItem to new connection status checking +fix: background check not disabled when connecting on startup. +remove redundant actions in netparams.h +fix flags operators +show channel of best AP if they're grouped +run wpa_supplicant detached. Monitor using wpa_cli +don't check status when reconnection dialog is open +remove wlassistantwpa file on disconnection +detect running DHCP client when connection detected on startup ( get NetParams.dhcp from setParamsFromConfig? ) +run setParamsFromItem before auto connecting (to properly set encryption settings) +update Polish translation (help from riklaunim) +remove default gateway upon disconnection if not managed by DHCP client (add "route_del" action) +new connection detection. Incremental, in WATools, no more pings. Removed isConnected in wlasssistant.* +remove cluttering borders in user interface & more +review possible iwlist scan outputs for WPA/WPA2-PSK +review/fix bugs on sf formus +TEST TEST TEST *** 0.5.8 TODO: -Drop dependancy on ifconfig and route - replace "ifconfig_manual" with new WATools functions. - replace 'route' calls with ioctls SIOCADDRT and SIOCDELRT -review netConnect function. -fix keyboard navigation (enter should connect, not quit!) -UI polish -checkbox "Connect now!" in the last page of wizard -meaningful messages about possible wpa_supplicant errors -check for iwlib in configure script -if connection lost and user wants to reconnect: disconnect and then scan before connecting to check if network is still available. -real system tray support -change "Quit upon successful connection" checkbox to "Minimize to system tray on successful connection" *** 0.5.9 TODO: -integrade kvpnc via dcop ( profiles(), setProfile(), doConnect(), doDisconnect() ) -fix all outstanding bugs -update as many translations as possible -make WPA-PSK support rock-stable -code cleanup -update/create WhatsThis and tooltips *** 0.6.0 TODO: -DCOP interface -passive popups 0.6.9 TODO: -preliminary support for wlan-ng *** 0.7.0 TODO: -wlan-ng support *** I'm really bored TODO: -About dialog -Help *************************************************************************************** *** IDEAS *** *************************************************************************************** *** GENERAL *** + Do not show interface combo if only one interface found +- detect paths + - pidof, ifconfig, iwconfig, iwlist, dhcpcd/dhclient... + no UI for path selection + wizard with net params config (auto/manual, DNS etc, ESSID if needed) for unknown APs. Returns config string (AP::ESSID::NetScore::). + NetParams structure + save settings to AP (but also store ESSID) + if more that one AP with same ESSID - allow settings for all APs. + on scanning: + if more that one AP with same ESSID - show a single entry - on connecting: + if AP & ESSID match - connect. + if match, but ENCRYPTION setting changed - disable enc/ask to enable. - if AP matches, ESSID does not - ask if settings for AP should be used, change ESSID in config - if only ESSID matches - ask. + if none match - ask.(show 1st connection wizard) - tray icon menu: - - ----------------------- - disconnect (if connected) - reconnect (if connected) - connect (use preferred) - ----------------------- - connect to -> ... - ----------------------- - quit - connection monitoring: + ping every 10/15/20s (?). if connection down: - reconnect (if AP still found) - connect to different AP same ESSID (if present) - connect to known network with highest NetScore - popup main win to select new network if any present, but none known - popup error message if no network found. disconnect. + RMB on network entry: + connect + disconnect + reconnect + edit settings... (if network known) + forget settings... ********************************************************* *** ALWAYS CHANGE VERSION REQUIREMENTS IN UI FILES!!! *** *** ALWAYS CHANGE VERSION IN PACKAGE INFORMATION!!! *** *** ALWAYS CHECK 'REMOVE ME' code!!! *** *********************************************************