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.cpp36
1 files changed, 31 insertions, 5 deletions
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index e388fc5..0ef89d4 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -12,47 +12,55 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "configwindow.h" 16#include "configwindow.h"
17#include "logwindow.h" 17#include "logwindow.h"
18#include "mainwindow.h" 18#include "mainwindow.h"
19#include "wellenreiter.h" 19#include "wellenreiter.h"
20 20
21#include "scanlist.h" 21#include "scanlist.h"
22 22
23#include <qcombobox.h> 23#include <qcombobox.h>
24#include <qdatastream.h>
24#include <qfile.h> 25#include <qfile.h>
25#include <qiconset.h> 26#include <qiconset.h>
26#include <qmenubar.h> 27#include <qmenubar.h>
27#include <qmessagebox.h> 28#include <qmessagebox.h>
28#include <qpopupmenu.h> 29#include <qpopupmenu.h>
29#include <qstatusbar.h> 30#include <qstatusbar.h>
30#include <qtextstream.h> 31#include <qtextstream.h>
31#include <qtoolbutton.h> 32#include <qtoolbutton.h>
32 33
33#ifdef QWS 34#ifdef QWS
34#include <qpe/resource.h> 35#include <qpe/resource.h>
35#else 36#else
36#include "resource.h" 37#include "resource.h"
37#endif 38#endif
38 39
39WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f ) 40WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f )
40 :QMainWindow( parent, name, f ) 41 :QMainWindow( parent, name, f )
41{ 42{
42 cw = new WellenreiterConfigWindow( this ); 43 cw = new WellenreiterConfigWindow( this );
43 mw = new Wellenreiter( this ); 44 mw = new Wellenreiter( this );
44 mw->setConfigWindow( cw ); 45 mw->setConfigWindow( cw );
45 setCentralWidget( mw ); 46 setCentralWidget( mw );
46 47
48 // setup application icon
49
50 #ifndef QWS
51 setIcon( Resource::loadPixmap( "wellenreiter/appicon-trans" ) );
52 setIconText( "Wellenreiter/X11" );
53 #endif
54
47 // setup icon sets 55 // setup icon sets
48 56
49 infoIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/InfoIcon" ) ); 57 infoIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/InfoIcon" ) );
50 settingsIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SettingsIcon" ) ); 58 settingsIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SettingsIcon" ) );
51 #ifdef QWS 59 #ifdef QWS
52 searchIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) ); 60 searchIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) );
53 cancelIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/CancelIcon" ) ); 61 cancelIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/CancelIcon" ) );
54 #else 62 #else
55 startStopIconSet = new QIconSet(); 63 startStopIconSet = new QIconSet();
56 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/SearchIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off ); 64 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/SearchIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off );
57 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/CancelIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::On ); 65 startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/CancelIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::On );
58 #endif 66 #endif
@@ -90,29 +98,28 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
90 // setup menu bar 98 // setup menu bar
91 99
92 int id; 100 int id;
93 101
94 QMenuBar* mb = menuBar(); 102 QMenuBar* mb = menuBar();
95 103
96 QPopupMenu* fileSave = new QPopupMenu( mb ); 104 QPopupMenu* fileSave = new QPopupMenu( mb );
97 fileSave->insertItem( "&Session", this, SLOT( fileSaveSession() ) ); 105 fileSave->insertItem( "&Session", this, SLOT( fileSaveSession() ) );
98 fileSave->insertItem( "&Log", this, SLOT( fileSaveLog() ) ); 106 fileSave->insertItem( "&Log", this, SLOT( fileSaveLog() ) );
99 107
100 QPopupMenu* fileLoad = new QPopupMenu( mb ); 108 QPopupMenu* fileLoad = new QPopupMenu( mb );
101 fileLoad->insertItem( "&Session", this, SLOT( fileLoadSession() ) ); 109 fileLoad->insertItem( "&Session", this, SLOT( fileLoadSession() ) );
102 fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) ); 110 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) );
103 111
104 QPopupMenu* file = new QPopupMenu( mb ); 112 QPopupMenu* file = new QPopupMenu( mb );
105 id = file->insertItem( "&Load", fileLoad ); 113 id = file->insertItem( "&Load", fileLoad );
106 file->setItemEnabled( id, false );
107 file->insertItem( "&Save", fileSave ); 114 file->insertItem( "&Save", fileSave );
108 115
109 QPopupMenu* view = new QPopupMenu( mb ); 116 QPopupMenu* view = new QPopupMenu( mb );
110 view->insertItem( "&Configure..." ); 117 view->insertItem( "&Configure..." );
111 118
112 QPopupMenu* sniffer = new QPopupMenu( mb ); 119 QPopupMenu* sniffer = new QPopupMenu( mb );
113 sniffer->insertItem( "&Configure..." ); 120 sniffer->insertItem( "&Configure..." );
114 sniffer->insertSeparator(); 121 sniffer->insertSeparator();
115 122
116 QPopupMenu* demo = new QPopupMenu( mb ); 123 QPopupMenu* demo = new QPopupMenu( mb );
117 demo->insertItem( "&Add something", this, SLOT( demoAddStations() ) ); 124 demo->insertItem( "&Add something", this, SLOT( demoAddStations() ) );
118 125
@@ -176,25 +183,25 @@ WellenreiterMainWindow::~WellenreiterMainWindow()
176 #ifdef QWS 183 #ifdef QWS
177 delete searchIconSet; 184 delete searchIconSet;
178 delete cancelIconSet; 185 delete cancelIconSet;
179 #else 186 #else
180 delete startStopIconSet; 187 delete startStopIconSet;
181 #endif 188 #endif
182 189
183}; 190};
184 191
185void WellenreiterMainWindow::demoAddStations() 192void WellenreiterMainWindow::demoAddStations()
186{ 193{
187 mw->netView()->addNewItem( "managed", "Vanille", "00:00:20:EF:A6:43", true, 6, 80 ); 194 mw->netView()->addNewItem( "managed", "Vanille", "00:00:20:EF:A6:43", true, 6, 80 );
188 mw->netView()->addNewItem( "managed", "Vanille", "00:00:1c:EF:A6:23", true, 11, 10 ); 195 mw->netView()->addNewItem( "managed", "Vanille", "00:30:6D:EF:A6:23", true, 11, 10 );
189 mw->netView()->addNewItem( "adhoc", "ELAN", "00:A0:F8:E7:16:22", false, 3, 10 ); 196 mw->netView()->addNewItem( "adhoc", "ELAN", "00:A0:F8:E7:16:22", false, 3, 10 );
190 mw->netView()->addNewItem( "adhoc", "ELAN", "00:AA:01:E7:56:62", false, 3, 15 ); 197 mw->netView()->addNewItem( "adhoc", "ELAN", "00:AA:01:E7:56:62", false, 3, 15 );
191 mw->netView()->addNewItem( "adhoc", "ELAN", "00:B0:8E:E7:56:E2", false, 3, 20 ); 198 mw->netView()->addNewItem( "adhoc", "ELAN", "00:B0:8E:E7:56:E2", false, 3, 20 );
192} 199}
193 200
194void WellenreiterMainWindow::fileSaveLog() 201void WellenreiterMainWindow::fileSaveLog()
195{ 202{
196 const QString fname( "/tmp/log.txt" ); 203 const QString fname( "/tmp/log.txt" );
197 QFile f( fname ); 204 QFile f( fname );
198 if ( f.open(IO_WriteOnly) ) 205 if ( f.open(IO_WriteOnly) )
199 { 206 {
200 QTextStream t( &f ); 207 QTextStream t( &f );
@@ -206,35 +213,54 @@ void WellenreiterMainWindow::fileSaveLog()
206 { 213 {
207 qDebug( "Problem saving log to file '%s'", (const char*) fname ); 214 qDebug( "Problem saving log to file '%s'", (const char*) fname );
208 } 215 }
209 216
210} 217}
211 218
212void WellenreiterMainWindow::fileSaveSession() 219void WellenreiterMainWindow::fileSaveSession()
213{ 220{
214 const QString fname( "/tmp/session.xml" ); 221 const QString fname( "/tmp/session.xml" );
215 QFile f( fname ); 222 QFile f( fname );
216 if ( f.open(IO_WriteOnly) ) 223 if ( f.open(IO_WriteOnly) )
217 { 224 {
218 QTextStream t( &f ); 225 QDataStream t( &f );
219 mw->netView()->dump( t ); 226 t << *mw->netView();
220 f.close(); 227 f.close();
221 qDebug( "Saved session to file '%s'", (const char*) fname ); 228 qDebug( "Saved session to file '%s'", (const char*) fname );
222 } 229 }
223 else 230 else
224 { 231 {
225 qDebug( "Problem saving session to file '%s'", (const char*) fname ); 232 qDebug( "Problem saving session to file '%s'", (const char*) fname );
226 } 233 }
227} 234}
228 235
236void WellenreiterMainWindow::fileLoadSession()
237{
238 const QString fname( "/tmp/session.xml" );
239 QFile f( fname );
240
241 if ( f.open(IO_ReadOnly) )
242 {
243 QDataStream t( &f );
244 t >> *mw->netView();
245 f.close();
246 qDebug( "Loaded session from file '%s'", (const char*) fname );
247 }
248 else
249 {
250 qDebug( "Problem loading session from file '%s'", (const char*) fname );
251 }
252
253}
254
229void WellenreiterMainWindow::closeEvent( QCloseEvent* e ) 255void WellenreiterMainWindow::closeEvent( QCloseEvent* e )
230{ 256{
231 if ( mw->isDaemonRunning() ) 257 if ( mw->isDaemonRunning() )
232 { 258 {
233 QMessageBox::warning( this, "Wellenreiter/Opie", "Sniffing in progress!\nPlease stop sniffing before closing." ); 259 QMessageBox::warning( this, "Wellenreiter/Opie", "Sniffing in progress!\nPlease stop sniffing before closing." );
234 e->ignore(); 260 e->ignore();
235 } 261 }
236 else 262 else
237 { 263 {
238 QMainWindow::closeEvent( e ); 264 QMainWindow::closeEvent( e );
239 } 265 }
240} 266}