summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/mainwindow.cpp
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/gui/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp60
1 files changed, 51 insertions, 9 deletions
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index cb003dd..e388fc5 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -21,12 +21,13 @@
21#include "scanlist.h" 21#include "scanlist.h"
22 22
23#include <qcombobox.h> 23#include <qcombobox.h>
24#include <qfile.h> 24#include <qfile.h>
25#include <qiconset.h> 25#include <qiconset.h>
26#include <qmenubar.h> 26#include <qmenubar.h>
27#include <qmessagebox.h>
27#include <qpopupmenu.h> 28#include <qpopupmenu.h>
28#include <qstatusbar.h> 29#include <qstatusbar.h>
29#include <qtextstream.h> 30#include <qtextstream.h>
30#include <qtoolbutton.h> 31#include <qtoolbutton.h>
31 32
32#ifdef QWS 33#ifdef QWS
@@ -56,44 +57,55 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
56 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/CancelIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::On ); 57 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/CancelIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::On );
57 #endif 58 #endif
58 59
59 // setup tool buttons 60 // setup tool buttons
60 61
61 startStopButton = new QToolButton( 0 ); 62 startStopButton = new QToolButton( 0 );
63 #ifdef QWS
62 startStopButton->setAutoRaise( true ); 64 startStopButton->setAutoRaise( true );
65 #endif
63 #ifdef QWS 66 #ifdef QWS
64 startStopButton->setOnIconSet( *cancelIconSet ); 67 startStopButton->setOnIconSet( *cancelIconSet );
65 startStopButton->setOffIconSet( *searchIconSet ); 68 startStopButton->setOffIconSet( *searchIconSet );
66 #else 69 #else
67 startStopButton->setIconSet( *startStopIconSet ); 70 startStopButton->setIconSet( *startStopIconSet );
68 #endif 71 #endif
69 startStopButton->setToggleButton( true ); 72 startStopButton->setToggleButton( true );
70 connect( startStopButton, SIGNAL( clicked() ), mw, SLOT( startStopClicked() ) ); 73 connect( startStopButton, SIGNAL( clicked() ), mw, SLOT( startStopClicked() ) );
71 startStopButton->setEnabled( false ); 74 startStopButton->setEnabled( false );
72 75
73 QToolButton* c = new QToolButton( 0 ); 76 QToolButton* c = new QToolButton( 0 );
77 #ifdef QWS
74 c->setAutoRaise( true ); 78 c->setAutoRaise( true );
79 #endif
75 c->setIconSet( *infoIconSet ); 80 c->setIconSet( *infoIconSet );
76 c->setEnabled( false ); 81 c->setEnabled( false );
77 82
78 QToolButton* d = new QToolButton( 0 ); 83 QToolButton* d = new QToolButton( 0 );
84 #ifdef QWS
79 d->setAutoRaise( true ); 85 d->setAutoRaise( true );
86 #endif
80 d->setIconSet( *settingsIconSet ); 87 d->setIconSet( *settingsIconSet );
81 connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) ); 88 connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) );
82 89
83 // setup menu bar 90 // setup menu bar
84 91
85 int id; 92 int id;
86 93
87 QMenuBar* mb = menuBar(); 94 QMenuBar* mb = menuBar();
88 95
89 QPopupMenu* fileSave = new QPopupMenu( mb ); 96 QPopupMenu* fileSave = new QPopupMenu( mb );
97 fileSave->insertItem( "&Session", this, SLOT( fileSaveSession() ) );
90 fileSave->insertItem( "&Log", this, SLOT( fileSaveLog() ) ); 98 fileSave->insertItem( "&Log", this, SLOT( fileSaveLog() ) );
91 99
100 QPopupMenu* fileLoad = new QPopupMenu( mb );
101 fileLoad->insertItem( "&Session", this, SLOT( fileLoadSession() ) );
102 fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) );
103
92 QPopupMenu* file = new QPopupMenu( mb ); 104 QPopupMenu* file = new QPopupMenu( mb );
93 id = file->insertItem( "&Load" ); 105 id = file->insertItem( "&Load", fileLoad );
94 file->setItemEnabled( id, false ); 106 file->setItemEnabled( id, false );
95 file->insertItem( "&Save", fileSave ); 107 file->insertItem( "&Save", fileSave );
96 108
97 QPopupMenu* view = new QPopupMenu( mb ); 109 QPopupMenu* view = new QPopupMenu( mb );
98 view->insertItem( "&Configure..." ); 110 view->insertItem( "&Configure..." );
99 111
@@ -169,30 +181,60 @@ WellenreiterMainWindow::~WellenreiterMainWindow()
169 #endif 181 #endif
170 182
171}; 183};
172 184
173void WellenreiterMainWindow::demoAddStations() 185void WellenreiterMainWindow::demoAddStations()
174{ 186{
175 mw->netView()->addNewItem( "managed", "Vanille", "04:00:20:EF:A6:43", true, 6, 80 ); 187 mw->netView()->addNewItem( "managed", "Vanille", "00:00:20:EF:A6:43", true, 6, 80 );
176 mw->netView()->addNewItem( "managed", "Vanille", "04:00:20:EF:A6:23", true, 11, 10 ); 188 mw->netView()->addNewItem( "managed", "Vanille", "00:00:1c:EF:A6:23", true, 11, 10 );
177 mw->netView()->addNewItem( "adhoc", "ELAN", "40:03:43:E7:16:22", false, 3, 10 ); 189 mw->netView()->addNewItem( "adhoc", "ELAN", "00:A0:F8:E7:16:22", false, 3, 10 );
178 mw->netView()->addNewItem( "adhoc", "ELAN", "40:03:53:E7:56:62", false, 3, 15 ); 190 mw->netView()->addNewItem( "adhoc", "ELAN", "00:AA:01:E7:56:62", false, 3, 15 );
179 mw->netView()->addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 ); 191 mw->netView()->addNewItem( "adhoc", "ELAN", "00:B0:8E:E7:56:E2", false, 3, 20 );
180} 192}
181 193
182void WellenreiterMainWindow::fileSaveLog() 194void WellenreiterMainWindow::fileSaveLog()
183{ 195{
184 const QString fname( "/tmp/log.txt" ); 196 const QString fname( "/tmp/log.txt" );
185 QFile f( fname ); 197 QFile f( fname );
186 if ( f.open(IO_WriteOnly) ) 198 if ( f.open(IO_WriteOnly) )
187 { 199 {
188 QTextStream t( &f ); 200 QTextStream t( &f );
189 t << mw->logWindow()->getLog(); 201 t << mw->logWindow()->getLog();
190 f.close(); 202 f.close();
191 qDebug( "saved log in file '%s'", (const char*) fname ); 203 qDebug( "Saved log to file '%s'", (const char*) fname );
204 }
205 else
206 {
207 qDebug( "Problem saving log to file '%s'", (const char*) fname );
208 }
209
210}
211
212void WellenreiterMainWindow::fileSaveSession()
213{
214 const QString fname( "/tmp/session.xml" );
215 QFile f( fname );
216 if ( f.open(IO_WriteOnly) )
217 {
218 QTextStream t( &f );
219 mw->netView()->dump( t );
220 f.close();
221 qDebug( "Saved session to file '%s'", (const char*) fname );
192 } 222 }
193 else 223 else
194 { 224 {
195 qDebug( "Problem saving log in file '%s'", (const char*) fname ); 225 qDebug( "Problem saving session to file '%s'", (const char*) fname );
196 } 226 }
227}
197 228
198} \ No newline at end of file 229void WellenreiterMainWindow::closeEvent( QCloseEvent* e )
230{
231 if ( mw->isDaemonRunning() )
232 {
233 QMessageBox::warning( this, "Wellenreiter/Opie", "Sniffing in progress!\nPlease stop sniffing before closing." );
234 e->ignore();
235 }
236 else
237 {
238 QMainWindow::closeEvent( e );
239 }
240}