Revision 679439
Go back to digest for 24th June 2007Features in KDE-PIM
Rework the Network Status module for KDE 4
*) Network Status kded module implements two interfaces under /Networking
*) Client provides network status info and signals to network aware apps
*) Service allows apps providing or monitoring network status to register their networks and change their status
Service changes are aggregated and signalled over the Client interface to listening apps.
*) Add a KConnectionManager class to make using the Client interface stupidly easy. This caches status, preventing unnecessary dbus calls, allows control over connect/disconnect policy and can call registered slots on connect/disconnect.
*) Add a NetworkStatusIndicator class which is a simple widget shown when offline, which automatically hides() itself when online
*) Add a pair of GUI test programs 'client' and 'service' which allow the curious to simulate network changes and their effects on a client.
To use:
1) make install
2) qdbus org.kde.kded /kded loadModule networkstatus, qdbus org.kde.kded /Networking status qdbus org.kde.kded /Networking networks
3) in builddir/tests ./service
4) likewise, ./client
5) Change the service's status and observe the changes in the client.
Set the client to Start Connect while the service is offline, then connect the service and see how the client responds.
6) Use KConnectionManager in your own code.
TODO: Move libs to kdelibs and the rest to kdebase. Merge my secret networkstatus 3.5 branches to trunk.
File Changes
- /trunk/KDE/kdepim/networkstatus
- /libs/CMakeLists.txt
- /libs/kconnectionmanager_p.cpp
- /libs/kconnectionmanager_p.h
- /libs/networkstatusindicator.cpp
- /libs/networkstatusindicator.h
- /tests/client.cpp
- /tests/client.h
- /tests/CMakeLists.txt
- /tests/simpleclient.cpp
- /tests/simpleclient.h
- /tests/testclientview.ui
- /tests/testserviceview.ui
- /trunk/KDE/kdepim/networkstatus
- /CMakeLists.txt
- /network.cpp
- /network.h
- /networkstatus.cpp
- /networkstatus.h
- /libs/kconnectionmanager.cpp
- /libs/kconnectionmanager.h
- /libs/networkstatuscommon.cpp
- /libs/networkstatuscommon.h
- /libs/org.kde.Solid.Networking.Client.xml
- /libs/org.kde.Solid.Networking.Service.xml
- /tests/service.cpp
- /tests/service.h