-rw-r--r-- | noncore/net/wellenreiter/gui/logwindow.cpp | 9 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/logwindow.h | 5 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.cpp | 32 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.h | 1 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.cpp | 4 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlistitem.cpp | 14 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.h | 1 |
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 | ||
29 | void MLogWindow::log( QString text ) | 29 | void 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 | ||
39 | const 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 | ||
182 | void 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; | |||
31 | const int col_wep = 4; | 32 | const int col_wep = 4; |
32 | const int col_traffic = 5; | 33 | const int col_traffic = 5; |
33 | const int col_manuf = 6; | 34 | const int col_manuf = 6; |
35 | const int col_firstseen = 7; | ||
36 | const int col_lastseen = 8; | ||
34 | 37 | ||
35 | MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr, | 38 | MScanListItem::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; |