summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/logwindow.cpp9
-rw-r--r--noncore/net/wellenreiter/gui/logwindow.h5
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp32
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/scanlistitem.cpp14
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.h1
7 files changed, 53 insertions, 13 deletions
diff --git a/noncore/net/wellenreiter/gui/logwindow.cpp b/noncore/net/wellenreiter/gui/logwindow.cpp
index c355f09..f132f56 100644
--- a/noncore/net/wellenreiter/gui/logwindow.cpp
+++ b/noncore/net/wellenreiter/gui/logwindow.cpp
@@ -24,7 +24,7 @@ MLogWindow::MLogWindow( QWidget * parent, const char * name, WFlags f )
24 24
25 // FIXME: Set properties( font, read-only, etc...) 25 // FIXME: Set properties( font, read-only, etc...)
26 26
27}; 27}
28 28
29void MLogWindow::log( QString text ) 29void MLogWindow::log( QString text )
30{ 30{
@@ -34,6 +34,9 @@ void MLogWindow::log( QString text )
34 ledit->append( line ); 34 ledit->append( line );
35 qDebug( line ); 35 qDebug( line );
36 36
37}; 37}
38
39 38
39const QString MLogWindow::getLog() const
40{
41 return ledit->text();
42}
diff --git a/noncore/net/wellenreiter/gui/logwindow.h b/noncore/net/wellenreiter/gui/logwindow.h
index 325f8d0..253defa 100644
--- a/noncore/net/wellenreiter/gui/logwindow.h
+++ b/noncore/net/wellenreiter/gui/logwindow.h
@@ -26,9 +26,10 @@ class MLogWindow: public QVBox
26 26
27 public: 27 public:
28 MLogWindow( QWidget * parent = 0, const char * name = "MLogWindow", WFlags f = 0 ); 28 MLogWindow( QWidget * parent = 0, const char * name = "MLogWindow", WFlags f = 0 );
29 29
30 void log( QString text ); 30 void log( QString text );
31 31 const QString getLog() const;
32
32 protected: 33 protected:
33 QMultiLineEdit* ledit; 34 QMultiLineEdit* ledit;
34 35
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 2d5ecd2..cb003dd 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -14,16 +14,19 @@
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "configwindow.h" 16#include "configwindow.h"
17#include "logwindow.h"
17#include "mainwindow.h" 18#include "mainwindow.h"
18#include "wellenreiter.h" 19#include "wellenreiter.h"
19 20
20#include "scanlist.h" 21#include "scanlist.h"
21 22
22#include <qcombobox.h> 23#include <qcombobox.h>
24#include <qfile.h>
23#include <qiconset.h> 25#include <qiconset.h>
24#include <qmenubar.h> 26#include <qmenubar.h>
25#include <qpopupmenu.h> 27#include <qpopupmenu.h>
26#include <qstatusbar.h> 28#include <qstatusbar.h>
29#include <qtextstream.h>
27#include <qtoolbutton.h> 30#include <qtoolbutton.h>
28 31
29#ifdef QWS 32#ifdef QWS
@@ -79,11 +82,17 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
79 82
80 // setup menu bar 83 // setup menu bar
81 84
85 int id;
86
82 QMenuBar* mb = menuBar(); 87 QMenuBar* mb = menuBar();
83 88
89 QPopupMenu* fileSave = new QPopupMenu( mb );
90 fileSave->insertItem( "&Log", this, SLOT( fileSaveLog() ) );
91
84 QPopupMenu* file = new QPopupMenu( mb ); 92 QPopupMenu* file = new QPopupMenu( mb );
85 file->insertItem( "&Load..." ); 93 id = file->insertItem( "&Load" );
86 file->insertItem( "&Save..." ); 94 file->setItemEnabled( id, false );
95 file->insertItem( "&Save", fileSave );
87 96
88 QPopupMenu* view = new QPopupMenu( mb ); 97 QPopupMenu* view = new QPopupMenu( mb );
89 view->insertItem( "&Configure..." ); 98 view->insertItem( "&Configure..." );
@@ -95,9 +104,7 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
95 QPopupMenu* demo = new QPopupMenu( mb ); 104 QPopupMenu* demo = new QPopupMenu( mb );
96 demo->insertItem( "&Add something", this, SLOT( demoAddStations() ) ); 105 demo->insertItem( "&Add something", this, SLOT( demoAddStations() ) );
97 106
98 int id;
99 id = mb->insertItem( "&File", file ); 107 id = mb->insertItem( "&File", file );
100 mb->setItemEnabled( id, false );
101 id = mb->insertItem( "&View", view ); 108 id = mb->insertItem( "&View", view );
102 mb->setItemEnabled( id, false ); 109 mb->setItemEnabled( id, false );
103 id = mb->insertItem( "&Sniffer", sniffer ); 110 id = mb->insertItem( "&Sniffer", sniffer );
@@ -172,3 +179,20 @@ void WellenreiterMainWindow::demoAddStations()
172 mw->netView()->addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 ); 179 mw->netView()->addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 );
173} 180}
174 181
182void WellenreiterMainWindow::fileSaveLog()
183{
184 const QString fname( "/tmp/log.txt" );
185 QFile f( fname );
186 if ( f.open(IO_WriteOnly) )
187 {
188 QTextStream t( &f );
189 t << mw->logWindow()->getLog();
190 f.close();
191 qDebug( "saved log in file '%s'", (const char*) fname );
192 }
193 else
194 {
195 qDebug( "Problem saving log in file '%s'", (const char*) fname );
196 }
197
198} \ No newline at end of file
diff --git a/noncore/net/wellenreiter/gui/mainwindow.h b/noncore/net/wellenreiter/gui/mainwindow.h
index 22c21e8..03aa08a 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.h
+++ b/noncore/net/wellenreiter/gui/mainwindow.h
@@ -46,6 +46,7 @@ class WellenreiterMainWindow: public QMainWindow
46 public slots: 46 public slots:
47 void showConfigure(); 47 void showConfigure();
48 void demoAddStations(); 48 void demoAddStations();
49 void fileSaveLog();
49}; 50};
50 51
51#endif 52#endif
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index ab19701..a689cca 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -41,6 +41,10 @@ MScanListView::MScanListView( QWidget* parent, const char* name )
41 setColumnAlignment( 5, AlignCenter ); 41 setColumnAlignment( 5, AlignCenter );
42 addColumn( tr( "Manufacturer" ) ); 42 addColumn( tr( "Manufacturer" ) );
43 setColumnAlignment( 6, AlignCenter ); 43 setColumnAlignment( 6, AlignCenter );
44 addColumn( tr( "First Seen" ) );
45 setColumnAlignment( 7, AlignCenter );
46 addColumn( tr( "Last Seen" ) );
47 setColumnAlignment( 8, AlignCenter );
44 setRootIsDecorated( true ); 48 setRootIsDecorated( true );
45 setAllColumnsShowFocus( true ); 49 setAllColumnsShowFocus( true );
46}; 50};
diff --git a/noncore/net/wellenreiter/gui/scanlistitem.cpp b/noncore/net/wellenreiter/gui/scanlistitem.cpp
index 15aef0c..dd33f5f 100644
--- a/noncore/net/wellenreiter/gui/scanlistitem.cpp
+++ b/noncore/net/wellenreiter/gui/scanlistitem.cpp
@@ -15,6 +15,7 @@
15 15
16#include "scanlistitem.h" 16#include "scanlistitem.h"
17#include <assert.h> 17#include <assert.h>
18#include <qdatetime.h>
18#include <qpixmap.h> 19#include <qpixmap.h>
19 20
20#ifdef QWS 21#ifdef QWS
@@ -31,6 +32,8 @@ const int col_channel = 3;
31const int col_wep = 4; 32const int col_wep = 4;
32const int col_traffic = 5; 33const int col_traffic = 5;
33const int col_manuf = 6; 34const int col_manuf = 6;
35const int col_firstseen = 7;
36const int col_lastseen = 8;
34 37
35MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr, 38MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr,
36 bool wep, int channel, int signal ) 39 bool wep, int channel, int signal )
@@ -65,17 +68,20 @@ void MScanListItem::decorateItem( QString type, QString essid, QString macaddr,
65 68
66 // set icon for wep (wireless encryption protocol) 69 // set icon for wep (wireless encryption protocol)
67 if ( wep ) 70 if ( wep )
68 setPixmap( col_wep, Resource::loadPixmap( "wellenreiter/cracked" ) ); // rename the pixmap! 71 setPixmap( col_wep, Resource::loadPixmap( "wellenreiter/cracked" ) ); //FIXME: rename the pixmap!
69 72
70 // set channel and signal text 73 // set channel and signal text
71 74
72 if ( signal != -1 ) 75 if ( signal != -1 )
73 setText( col_sig, QString::number( signal ) ); 76 setText( col_sig, QString::number( signal ) );
74 if ( channel != -1 ) 77 if ( channel != -1 )
75 setText( col_channel, QString::number( channel ) ); 78 setText( col_channel, QString::number( channel ) );
76 79
80 setText( col_firstseen, QTime::currentTime().toString() );
81 //setText( col_lastseen, QTime::currentTime().toString() );
82
77 listView()->triggerUpdate(); 83 listView()->triggerUpdate();
78 84
79 this->type = type; 85 this->type = type;
80 86
81} 87}
@@ -92,5 +98,5 @@ void MScanListItem::receivedBeacon()
92 qDebug( "MScanListItem %s: received beacon #%d", (const char*) _macaddr, _beacons ); 98 qDebug( "MScanListItem %s: received beacon #%d", (const char*) _macaddr, _beacons );
93 #endif 99 #endif
94 setText( col_sig, QString::number( _beacons ) ); 100 setText( col_sig, QString::number( _beacons ) );
101 setText( col_lastseen, QTime::currentTime().toString() );
95} 102}
96
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h
index 61960d2..ff523d4 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.h
+++ b/noncore/net/wellenreiter/gui/wellenreiter.h
@@ -52,6 +52,7 @@ class Wellenreiter : public WellenreiterBase {
52 52
53 void setConfigWindow( WellenreiterConfigWindow* cw ); 53 void setConfigWindow( WellenreiterConfigWindow* cw );
54 MScanListView* netView() const { return netview; }; 54 MScanListView* netView() const { return netview; };
55 MLogWindow* logWindow() const { return logwindow; };
55 56
56 protected: 57 protected:
57 bool daemonRunning; 58 bool daemonRunning;