author | mickeyl <mickeyl> | 2002-11-26 19:37:54 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2002-11-26 19:37:54 (UTC) |
commit | ac4f32931212847803534a72eb5e951bd01e6ff5 (patch) (unidiff) | |
tree | b4769af43d5894f68ae2e8a3f9813d64e03841ce /noncore/net/wellenreiter/gui/wellenreiter.cpp | |
parent | 5698d4fb5134c9d493f5a3f81675e7d094597203 (diff) | |
download | opie-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.cpp | 29 |
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 | ||
33 | Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl ) | 33 | Wellenreiter::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 | ||
51 | Wellenreiter::~Wellenreiter() | 52 | Wellenreiter::~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 | ||
56 | void Wellenreiter::handleMessage() | 57 | void 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 | ||
75 | void Wellenreiter::timerEvent( QTimerEvent* e ) | 76 | void 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 | ||
90 | void 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 | |||
89 | void Wellenreiter::buttonClicked() | 114 | void 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 | } |