summaryrefslogtreecommitdiff
path: root/noncore/net
Unidiff
Diffstat (limited to 'noncore/net') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/gui.pro2
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp89
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.h12
-rw-r--r--noncore/net/wellenreiter/gui/statwindow.cpp45
-rw-r--r--noncore/net/wellenreiter/gui/statwindow.h40
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp40
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.h10
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.cpp13
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.h2
9 files changed, 199 insertions, 54 deletions
diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro
index 5970b01..08eb18a 100644
--- a/noncore/net/wellenreiter/gui/gui.pro
+++ b/noncore/net/wellenreiter/gui/gui.pro
@@ -12,2 +12,3 @@ HEADERS = wellenreiterbase.h \
12 hexwindow.h \ 12 hexwindow.h \
13 statwindow.h \
13 configwindow.h \ 14 configwindow.h \
@@ -22,2 +23,3 @@ SOURCES = main.cpp \
22 hexwindow.cpp \ 23 hexwindow.cpp \
24 statwindow.cpp \
23 configwindow.cpp \ 25 configwindow.cpp \
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 69d2b3a..94e3f28 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -62,10 +62,4 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
62 settingsIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SettingsIcon" ) ); 62 settingsIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SettingsIcon" ) );
63 #ifdef QWS 63 startIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) );
64 searchIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) ); 64 stopIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/CancelIcon" ) );
65 cancelIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/CancelIcon" ) );
66 #else
67 startStopIconSet = new QIconSet();
68 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/SearchIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off );
69 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/CancelIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::On );
70 #endif
71 65
@@ -73,15 +67,17 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
73 67
74 startStopButton = new QToolButton( 0 ); 68 startButton = new QToolButton( 0 );
75 #ifdef QWS 69 #ifdef QWS
76 startStopButton->setAutoRaise( true ); 70 startButton->setAutoRaise( true );
77 #endif 71 #endif
72 startButton->setIconSet( *startIconSet );
73 startButton->setEnabled( false );
74 connect( startButton, SIGNAL( clicked() ), mw, SLOT( startClicked() ) );
75
76 stopButton = new QToolButton( 0 );
78 #ifdef QWS 77 #ifdef QWS
79 startStopButton->setOnIconSet( *cancelIconSet ); 78 stopButton->setAutoRaise( true );
80 startStopButton->setOffIconSet( *searchIconSet );
81 #else
82 startStopButton->setIconSet( *startStopIconSet );
83 #endif 79 #endif
84 startStopButton->setToggleButton( true ); 80 stopButton->setIconSet( *stopIconSet );
85 connect( startStopButton, SIGNAL( clicked() ), mw, SLOT( startStopClicked() ) ); 81 stopButton->setEnabled( false );
86 startStopButton->setEnabled( false ); 82 connect( stopButton, SIGNAL( clicked() ), mw, SLOT( stopClicked() ) );
87 83
@@ -127,4 +123,8 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
127 QPopupMenu* sniffer = new QPopupMenu( mb ); 123 QPopupMenu* sniffer = new QPopupMenu( mb );
128 sniffer->insertItem( "&Configure..." ); 124 sniffer->insertItem( "&Configure...", this, SLOT( showConfigure() ) );
129 sniffer->insertSeparator(); 125 sniffer->insertSeparator();
126 startID = sniffer->insertItem( "&Start", mw, SLOT( startClicked() ) );
127 sniffer->setItemEnabled( startID, false );
128 stopID = sniffer->insertItem( "Sto&p", mw, SLOT( stopClicked() ) );
129 sniffer->setItemEnabled( stopID, false );
130 130
@@ -137,3 +137,2 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
137 id = mb->insertItem( "&Sniffer", sniffer ); 137 id = mb->insertItem( "&Sniffer", sniffer );
138 mb->setItemEnabled( id, false );
139 id = mb->insertItem( "&Demo", demo ); 138 id = mb->insertItem( "&Demo", demo );
@@ -142,3 +141,4 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
142 #ifdef QWS 141 #ifdef QWS
143 mb->insertItem( startStopButton ); 142 mb->insertItem( startButton );
143 mb->insertItem( stopButton );
144 mb->insertItem( c ); 144 mb->insertItem( c );
@@ -148,5 +148,8 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
148 mb->insertItem( c ); 148 mb->insertItem( c );
149 mb->insertItem( startStopButton ); 149 mb->insertItem( stopButton );
150 mb->insertItem( startButton );
150 #endif 151 #endif
151 152
153 updateToolButtonState();
154
152 // setup status bar (for now only on X11) 155 // setup status bar (for now only on X11)
@@ -157,4 +160,8 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
157 160
161 connect( mw, SIGNAL( startedSniffing() ), this, SLOT( changedSniffingState() ) );
162 connect( mw, SIGNAL( stoppedSniffing() ), this, SLOT( changedSniffingState() ) );
158}; 163};
159 164
165
166
160void WellenreiterMainWindow::showConfigure() 167void WellenreiterMainWindow::showConfigure()
@@ -168,6 +175,9 @@ void WellenreiterMainWindow::showConfigure()
168 175
169 if ( result ) 176 if ( result ) updateToolButtonState();
170 { 177}
171 // check configuration from config window
172 178
179
180
181void WellenreiterMainWindow::updateToolButtonState()
182{
173 const QString& interface = cw->interfaceName->currentText(); 183 const QString& interface = cw->interfaceName->currentText();
@@ -177,7 +187,10 @@ void WellenreiterMainWindow::showConfigure()
177 if ( ( interface != "<select>" ) && ( cardtype != 0 ) ) 187 if ( ( interface != "<select>" ) && ( cardtype != 0 ) )
178 startStopButton->setEnabled( true ); 188 {
179 //TODO ... 189 startButton->setEnabled( true );
190 menuBar()->setItemEnabled( startID, true );
191 }
180 else 192 else
181 startStopButton->setEnabled( false ); 193 {
182 //TODO ... 194 startButton->setEnabled( false );
195 menuBar()->setItemEnabled( startID, false );
183 } 196 }
@@ -185,14 +198,18 @@ void WellenreiterMainWindow::showConfigure()
185 198
186WellenreiterMainWindow::~WellenreiterMainWindow() 199
200void WellenreiterMainWindow::changedSniffingState()
187{ 201{
202 startButton->setEnabled( !mw->sniffing );
203 menuBar()->setItemEnabled( startID, !mw->sniffing );
204 stopButton->setEnabled( mw->sniffing );
205 menuBar()->setItemEnabled( stopID, mw->sniffing );
206}
207
188 208
209WellenreiterMainWindow::~WellenreiterMainWindow()
210{
189 delete infoIconSet; 211 delete infoIconSet;
190 delete settingsIconSet; 212 delete settingsIconSet;
191 #ifdef QWS 213 delete startIconSet;
192 delete searchIconSet; 214 delete stopIconSet;
193 delete cancelIconSet;
194 #else
195 delete startStopIconSet;
196 #endif
197
198}; 215};
diff --git a/noncore/net/wellenreiter/gui/mainwindow.h b/noncore/net/wellenreiter/gui/mainwindow.h
index 1b08c5b..1e191e5 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.h
+++ b/noncore/net/wellenreiter/gui/mainwindow.h
@@ -37,9 +37,11 @@ class WellenreiterMainWindow: public QMainWindow
37 37
38 QIconSet* startStopIconSet; 38 const QIconSet* startIconSet;
39 const QIconSet* searchIconSet; 39 const QIconSet* stopIconSet;
40 const QIconSet* infoIconSet; 40 const QIconSet* infoIconSet;
41 const QIconSet* settingsIconSet; 41 const QIconSet* settingsIconSet;
42 const QIconSet* cancelIconSet;
43 42
44 QToolButton* startStopButton; 43 QToolButton* startButton;
44 QToolButton* stopButton;
45 int startID;
46 int stopID;
45 47
@@ -47,2 +49,3 @@ class WellenreiterMainWindow: public QMainWindow
47 virtual void closeEvent( QCloseEvent* ); 49 virtual void closeEvent( QCloseEvent* );
50 void updateToolButtonState();
48 51
@@ -59,2 +62,3 @@ class WellenreiterMainWindow: public QMainWindow
59 void fileNew(); 62 void fileNew();
63 void changedSniffingState();
60}; 64};
diff --git a/noncore/net/wellenreiter/gui/statwindow.cpp b/noncore/net/wellenreiter/gui/statwindow.cpp
new file mode 100644
index 0000000..07d34ef
--- a/dev/null
+++ b/noncore/net/wellenreiter/gui/statwindow.cpp
@@ -0,0 +1,45 @@
1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3**
4** This file is part of Opie Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14**********************************************************************/
15
16#include "statwindow.h"
17#include <qmultilineedit.h>
18
19MStatWindow::MStatWindow( QWidget * parent, const char * name, WFlags f )
20 :QVBox( parent, name, f )
21{
22 ledit = new QMultiLineEdit( this );
23 ledit->setFont( QFont( "fixed", 10 ) );
24
25 // FIXME: Set properties( font, read-only, etc...)
26
27};
28
29void MStatWindow::log( QString text )
30{
31
32 ledit->append( text );
33
34};
35
36const QString MStatWindow::getLog() const
37{
38 return ledit->text();
39}
40
41void MStatWindow::clear()
42{
43 ledit->clear();
44}
45
diff --git a/noncore/net/wellenreiter/gui/statwindow.h b/noncore/net/wellenreiter/gui/statwindow.h
new file mode 100644
index 0000000..bbdf777
--- a/dev/null
+++ b/noncore/net/wellenreiter/gui/statwindow.h
@@ -0,0 +1,40 @@
1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3**
4** This file is part of Opie Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14**********************************************************************/
15
16#ifndef STATWINDOW_H
17#define STATWINDOW_H
18
19#include <qvbox.h>
20
21class QString;
22class QMultiLineEdit;
23
24class MStatWindow: public QVBox
25{
26
27 public:
28 MStatWindow( QWidget * parent = 0, const char * name = "MStatWindow", WFlags f = 0 );
29
30 void log( QString text );
31 const QString getLog() const;
32 void clear();
33
34 protected:
35 QMultiLineEdit* ledit;
36
37};
38
39#endif
40
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 0bfc8e9..3372883 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -36,2 +36,3 @@ using namespace Opie;
36#include <qspinbox.h> 36#include <qspinbox.h>
37#include <qtoolbutton.h>
37#include <qmainwindow.h> 38#include <qmainwindow.h>
@@ -54,3 +55,3 @@ using namespace Opie;
54#include "configwindow.h" 55#include "configwindow.h"
55 56#include "statwindow.h"
56#include "manufacturers.h" 57#include "manufacturers.h"
@@ -219,5 +220,4 @@ void Wellenreiter::receivePacket(OPacket* p)
219 220
220void Wellenreiter::startStopClicked() 221
221{ 222void Wellenreiter::stopClicked()
222 if ( sniffing )
223 { 223 {
@@ -251,5 +251,28 @@ void Wellenreiter::startStopClicked()
251 QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." ); 251 QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." );
252
253 sniffing = false;
254 emit( stoppedSniffing() );
255
256 // print out statistics
257 statwindow->log( "-----------------------------------------" );
258 statwindow->log( "- Wellenreiter II Capturing Statistic -" );
259 statwindow->log( "-----------------------------------------" );
260 statwindow->log( "Packet Type | Receive Count" );
261
262 for( QMap<QString,int>::ConstIterator it = pcap->statistics().begin(); it != pcap->statistics().end(); ++it )
263 {
264 QString left;
265 left.sprintf( "%s", (const char*) it.key() );
266 left = left.leftJustify( 20 );
267 left.append( '|' );
268 QString right;
269 right.sprintf( "%d", it.data() );
270 right = right.rightJustify( 7 );
271 statwindow->log( left + right );
252 } 272 }
253 273
254 else 274}
275
276
277void Wellenreiter::startClicked()
255 { 278 {
@@ -280,5 +303,7 @@ void Wellenreiter::startStopClicked()
280 case 4: iface->setMonitoring( new OOrinocoMonitoringInterface( iface ) ); break; 303 case 4: iface->setMonitoring( new OOrinocoMonitoringInterface( iface ) ); break;
281 default: assert( 0 ); // shouldn't happen 304 default:
305 QMessageBox::information( this, "Wellenreiter II", "Bring your device into\nmonitor mode now." );
282 } 306 }
283 307
308 if ( cardtype > 0 && cardtype < 5 )
284 iface->setMonitorMode( true ); 309 iface->setMonitorMode( true );
@@ -312,4 +337,3 @@ void Wellenreiter::startStopClicked()
312 sniffing = true; 337 sniffing = true;
313 338 emit( startedSniffing() );
314 }
315} 339}
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h
index 85f889b..839c77e 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.h
+++ b/noncore/net/wellenreiter/gui/wellenreiter.h
@@ -49,2 +49,4 @@ class Wellenreiter : public WellenreiterBase {
49 49
50 bool sniffing;
51
50 public slots: 52 public slots:
@@ -52,3 +54,8 @@ class Wellenreiter : public WellenreiterBase {
52 void receivePacket(OPacket*); 54 void receivePacket(OPacket*);
53 void startStopClicked(); 55 void startClicked();
56 void stopClicked();
57
58 signals:
59 void startedSniffing();
60 void stoppedSniffing();
54 61
@@ -59,3 +66,2 @@ class Wellenreiter : public WellenreiterBase {
59 66
60 bool sniffing;
61 OWirelessNetworkInterface* iface; 67 OWirelessNetworkInterface* iface;
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
index 3a703bc..245b9fc 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
@@ -32,2 +32,3 @@
32#include "scanlist.h" 32#include "scanlist.h"
33#include "statwindow.h"
33 34
@@ -80,3 +81,2 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
80 81
81
82 //--------- LOG TAB -------------- 82 //--------- LOG TAB --------------
@@ -85,3 +85,2 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
85 85
86
87 //--------- HEX TAB -------------- 86 //--------- HEX TAB --------------
@@ -90,2 +89,6 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
90 89
90 //--------- STAT TAB --------------
91
92 statwindow = new MStatWindow( TabWidget, "Stat" );
93
91 //--------- ABOUT TAB -------------- 94 //--------- ABOUT TAB --------------
@@ -127,5 +130,6 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
127#ifdef QWS 130#ifdef QWS
128 TabWidget->addTab( ap, "wellenreiter/networks", tr( "Networks" ) ); 131 TabWidget->addTab( ap, "wellenreiter/networks", tr( "Nets" ) );
129 TabWidget->addTab( logwindow, "wellenreiter/log", tr( "Log" ) ); 132 TabWidget->addTab( logwindow, "wellenreiter/log", tr( "Log" ) );
130 TabWidget->addTab( hexwindow, "wellenreiter/hex", tr( "Hex" ) ); 133 TabWidget->addTab( hexwindow, "wellenreiter/hex", tr( "Hex" ) );
134 TabWidget->addTab( statwindow, "wellenreiter/stat", tr( "Stats" ) );
131 TabWidget->addTab( about, "wellenreiter/about", tr( "About" ) ); 135 TabWidget->addTab( about, "wellenreiter/about", tr( "About" ) );
@@ -135,2 +139,3 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
135 TabWidget->addTab( hexwindow, /* "wellenreiter/hex", */ tr( "Hex" ) ); 139 TabWidget->addTab( hexwindow, /* "wellenreiter/hex", */ tr( "Hex" ) );
140 TabWidget->addTab( statwindow, /* "wellenreiter/hex", */ tr( "Stat" ) );
136 TabWidget->addTab( about, /* "wellenreiter/about", */ tr( "About" ) ); 141 TabWidget->addTab( about, /* "wellenreiter/about", */ tr( "About" ) );
@@ -140,3 +145,3 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
140#ifdef QWS 145#ifdef QWS
141 TabWidget->setCurrentTab( tr( "Networks" ) ); 146 TabWidget->setCurrentTab( tr( "Nets" ) );
142#endif 147#endif
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.h b/noncore/net/wellenreiter/gui/wellenreiterbase.h
index 1fa1ea3..ad2e96c 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.h
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.h
@@ -29,2 +29,3 @@ class MLogWindow;
29class MHexWindow; 29class MHexWindow;
30class MStatWindow;
30 31
@@ -53,2 +54,3 @@ public:
53 MHexWindow* hexwindow; 54 MHexWindow* hexwindow;
55 MStatWindow* statwindow;
54 QWidget* about; 56 QWidget* about;