summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/wellenreiter.cpp
authormickeyl <mickeyl>2002-11-26 19:37:54 (UTC)
committer mickeyl <mickeyl>2002-11-26 19:37:54 (UTC)
commitac4f32931212847803534a72eb5e951bd01e6ff5 (patch) (unidiff)
treeb4769af43d5894f68ae2e8a3f9813d64e03841ce /noncore/net/wellenreiter/gui/wellenreiter.cpp
parent5698d4fb5134c9d493f5a3f81675e7d094597203 (diff)
downloadopie-ac4f32931212847803534a72eb5e951bd01e6ff5.zip
opie-ac4f32931212847803534a72eb5e951bd01e6ff5.tar.gz
opie-ac4f32931212847803534a72eb5e951bd01e6ff5.tar.bz2
stations belonging to one net (SSID) are shown in tree structure
Diffstat (limited to 'noncore/net/wellenreiter/gui/wellenreiter.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 96ab7bd..afb010c 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -14,48 +14,49 @@
14***********************************************************************/ 14***********************************************************************/
15 15
16// Qt 16// Qt
17 17
18#include <qpushbutton.h> 18#include <qpushbutton.h>
19 19
20// Standard 20// Standard
21 21
22#include <unistd.h> 22#include <unistd.h>
23#include <sys/types.h> 23#include <sys/types.h>
24 24
25// Local 25// Local
26 26
27#include "wellenreiter.h" 27#include "wellenreiter.h"
28#include "scanlistitem.h" 28#include "scanlistitem.h"
29 29
30#include "../libwellenreiter/source/sock.hh" // <--- ugly path, FIX THIS! 30#include "../libwellenreiter/source/sock.hh" // <--- ugly path, FIX THIS!
31#include "../daemon/source/config.hh" // <--- ugly path, FIX THIS! 31#include "../daemon/source/config.hh" // <--- ugly path, FIX THIS!
32 32
33Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl ) 33Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
34 : WellenreiterBase( parent, name, fl ) 34 : WellenreiterBase( parent, name, fl )
35{ 35{
36 36
37 connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) ); 37 connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) );
38 netview->setColumnWidthMode( 1, QListView::Manual );
38 39
39 // 40 //
40 // setup socket for daemon communication and start poller 41 // setup socket for daemon communication and start poller
41 // 42 //
42 43
43 daemon_fd = commsock( DAEMONADDR, DAEMONPORT ); 44 daemon_fd = commsock( DAEMONADDR, DAEMONPORT );
44 if ( daemon_fd == -1 ) 45 if ( daemon_fd == -1 )
45 qDebug( "D'oh! Could not get file descriptor for daemon socket." ); 46 qDebug( "D'oh! Could not get file descriptor for daemon socket." );
46 else 47 else
47 startTimer( 700 ); 48 startTimer( 700 );
48 49
49} 50}
50 51
51Wellenreiter::~Wellenreiter() 52Wellenreiter::~Wellenreiter()
52{ 53{
53 // no need to delete child widgets, Qt does it all for us 54 // no need to delete child widgets, Qt does it all for us
54} 55}
55 56
56void Wellenreiter::handleMessage() 57void Wellenreiter::handleMessage()
57{ 58{
58 // FIXME: receive message and handle it 59 // FIXME: receive message and handle it
59 60
60 qDebug( "received message from daemon." ); 61 qDebug( "received message from daemon." );
61} 62}
@@ -65,37 +66,61 @@ bool Wellenreiter::hasMessage()
65{ 66{
66 fd_set rfds; 67 fd_set rfds;
67 FD_ZERO( &rfds ); 68 FD_ZERO( &rfds );
68 FD_SET( daemon_fd, &rfds ); 69 FD_SET( daemon_fd, &rfds );
69 struct timeval tv; 70 struct timeval tv;
70 tv.tv_sec = 0; 71 tv.tv_sec = 0;
71 tv.tv_usec = 0; 72 tv.tv_usec = 0;
72 return select( 1, &rfds, NULL, NULL, &tv ); 73 return select( 1, &rfds, NULL, NULL, &tv );
73} 74}
74 75
75void Wellenreiter::timerEvent( QTimerEvent* e ) 76void Wellenreiter::timerEvent( QTimerEvent* e )
76{ 77{
77 // qDebug( "checking for message..." ); 78 // qDebug( "checking for message..." );
78 79
79 if ( hasMessage() ) 80 if ( hasMessage() )
80 { 81 {
81 handleMessage(); 82 handleMessage();
82 } 83 }
83 else 84 else
84 { 85 {
85 // qDebug( "no message :(" ); 86 // qDebug( "no message :(" );
86 } 87 }
87} 88}
88 89
90void Wellenreiter::addNewStation( QString type, QString essid, QString ap, bool wep, int channel, int signal )
91{
92 // FIXME: this code belongs in customized QListView, not into this class
93
94 // search, if we had an item with this essid once before
95
96 QListViewItem* item = netview->firstChild();
97
98 while ( item && ( item->text( 0 ) != essid ) )
99 {
100 qDebug( "itemtext: %s", (const char*) item->text( 0 ) );
101 item = item->itemBelow();
102 }
103 if ( item )
104 {
105 qDebug( "found!" );
106 new MScanListItem( item, type, essid, ap, wep, channel, signal );
107 }
108 else
109 {
110 new MScanListItem( netview, type, essid, ap, wep, channel, signal );
111 }
112}
113
89void Wellenreiter::buttonClicked() 114void Wellenreiter::buttonClicked()
90{ 115{
91 116
92 // FIXME: communicate with daemon and set button text according to state 117 // FIXME: communicate with daemon and set button text according to state
93 118
94 button->setText( "Stop Scanning" ); 119 button->setText( "Stop Scanning" );
95 120
96 // add some icons, so that we can see if this works 121 // add some icons, so that we can see if this works
97 122
98 new MScanListItem( netview, "managed", "MyNet", "04:00:20:EF:A6:43", true, 6, 80 ); 123 addNewStation( "managed", "MyNet", "04:00:20:EF:A6:43", true, 6, 80 );
99 new MScanListItem( netview, "adhoc", "YourNet", "40:03:A3:E7:56:22", false, 11, 30 ); 124 addNewStation( "adhoc", "YourNet", "40:03:A3:E7:56:22", false, 11, 30 );
100 125
101} 126}