summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/mainwindow.cpp
authormickeyl <mickeyl>2003-04-09 21:40:31 (UTC)
committer mickeyl <mickeyl>2003-04-09 21:40:31 (UTC)
commitcf029a4007ea344c530d8a71cd0b012393ebd7ba (patch) (unidiff)
treee9f584885299548b9316a6da05ad31845487e6d9 /noncore/net/wellenreiter/gui/mainwindow.cpp
parentb055856776807f0a459a86b1e1f62902d2d3a9c3 (diff)
downloadopie-cf029a4007ea344c530d8a71cd0b012393ebd7ba.zip
opie-cf029a4007ea344c530d8a71cd0b012393ebd7ba.tar.gz
opie-cf029a4007ea344c530d8a71cd0b012393ebd7ba.tar.bz2
- improve keyboard handling
- enable sniffer-menu - fix handling of start/stop button - add simple statistic window, fancy will follow ;-)
Diffstat (limited to 'noncore/net/wellenreiter/gui/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp99
1 files changed, 58 insertions, 41 deletions
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
@@ -57,36 +57,32 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
57 #endif 57 #endif
58 58
59 // setup icon sets 59 // setup icon sets
60 60
61 infoIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/InfoIcon" ) ); 61 infoIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/InfoIcon" ) );
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
72 // setup tool buttons 66 // setup tool buttons
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
88 QToolButton* c = new QToolButton( 0 ); 84 QToolButton* c = new QToolButton( 0 );
89 #ifdef QWS 85 #ifdef QWS
90 c->setAutoRaise( true ); 86 c->setAutoRaise( true );
91 #endif 87 #endif
92 c->setIconSet( *infoIconSet ); 88 c->setIconSet( *infoIconSet );
@@ -122,82 +118,103 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
122 file->insertItem( "&Exit", qApp, SLOT( quit() ) ); 118 file->insertItem( "&Exit", qApp, SLOT( quit() ) );
123 119
124 QPopupMenu* view = new QPopupMenu( mb ); 120 QPopupMenu* view = new QPopupMenu( mb );
125 view->insertItem( "&Configure..." ); 121 view->insertItem( "&Configure..." );
126 122
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
131 QPopupMenu* demo = new QPopupMenu( mb ); 131 QPopupMenu* demo = new QPopupMenu( mb );
132 demo->insertItem( "&Add something", this, SLOT( demoAddStations() ) ); 132 demo->insertItem( "&Add something", this, SLOT( demoAddStations() ) );
133 133
134 id = mb->insertItem( "&File", file ); 134 id = mb->insertItem( "&File", file );
135 id = mb->insertItem( "&View", view ); 135 id = mb->insertItem( "&View", view );
136 mb->setItemEnabled( id, false ); 136 mb->setItemEnabled( id, false );
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 );
140 mb->setItemEnabled( id, true ); 139 mb->setItemEnabled( id, true );
141 140
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 );
145 mb->insertItem( d ); 145 mb->insertItem( d );
146 #else // Qt3 changed the insertion order. It's now totally random :( 146 #else // Qt3 changed the insertion order. It's now totally random :(
147 mb->insertItem( d ); 147 mb->insertItem( d );
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)
153 156
154 #ifndef QWS 157 #ifndef QWS
155 statusBar()->message( "Ready." ); 158 statusBar()->message( "Ready." );
156 #endif 159 #endif
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()
161{ 168{
162 qDebug( "show configure..." ); 169 qDebug( "show configure..." );
163 cw->setCaption( tr( "Configure" ) ); 170 cw->setCaption( tr( "Configure" ) );
164 #ifdef QWS 171 #ifdef QWS
165 cw->showMaximized(); 172 cw->showMaximized();
166 #endif 173 #endif
167 int result = cw->exec(); 174 int result = cw->exec();
168 175
169 if ( result ) 176 if ( result ) updateToolButtonState();
170 { 177}
171 // check configuration from config window
172 178
173 const QString& interface = cw->interfaceName->currentText();
174 const int cardtype = cw->daemonDeviceType();
175 const int interval = cw->daemonHopInterval();
176 179
177 if ( ( interface != "<select>" ) && ( cardtype != 0 ) ) 180
178 startStopButton->setEnabled( true ); 181void WellenreiterMainWindow::updateToolButtonState()
179 //TODO ... 182{
180 else 183 const QString& interface = cw->interfaceName->currentText();
181 startStopButton->setEnabled( false ); 184 const int cardtype = cw->daemonDeviceType();
182 //TODO ... 185 const int interval = cw->daemonHopInterval();
186
187 if ( ( interface != "<select>" ) && ( cardtype != 0 ) )
188 {
189 startButton->setEnabled( true );
190 menuBar()->setItemEnabled( startID, true );
191 }
192 else
193 {
194 startButton->setEnabled( false );
195 menuBar()->setItemEnabled( startID, false );
183 } 196 }
184} 197}
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}
188 207
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};
199 216
200void WellenreiterMainWindow::demoAddStations() 217void WellenreiterMainWindow::demoAddStations()
201{ 218{
202 mw->netView()->addNewItem( "managed", "Vanille", "00:00:20:EF:A6:43", true, 6, 80 ); 219 mw->netView()->addNewItem( "managed", "Vanille", "00:00:20:EF:A6:43", true, 6, 80 );
203 mw->netView()->addNewItem( "managed", "Vanille", "00:30:6D:EF:A6:23", true, 11, 10 ); 220 mw->netView()->addNewItem( "managed", "Vanille", "00:30:6D:EF:A6:23", true, 11, 10 );