summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/mainwindow.cpp
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/gui/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp89
1 files changed, 53 insertions, 36 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
@@ -60,30 +60,26 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
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
@@ -125,8 +121,12 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
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() ) );
@@ -135,28 +135,35 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
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..." );
@@ -166,35 +173,45 @@ void WellenreiterMainWindow::showConfigure()
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
179
180
181void WellenreiterMainWindow::updateToolButtonState()
182{
173 const QString& interface = cw->interfaceName->currentText(); 183 const QString& interface = cw->interfaceName->currentText();
174 const int cardtype = cw->daemonDeviceType(); 184 const int cardtype = cw->daemonDeviceType();
175 const int interval = cw->daemonHopInterval(); 185 const int interval = cw->daemonHopInterval();
176 186
177 if ( ( interface != "<select>" ) && ( cardtype != 0 ) ) 187 if ( ( interface != "<select>" ) && ( cardtype != 0 ) )
178 startStopButton->setEnabled( true ); 188 {
179 //TODO ... 189 startButton->setEnabled( true );
190 menuBar()->setItemEnabled( startID, true );
191 }
180 else 192 else
181 startStopButton->setEnabled( false ); 193 {
182 //TODO ... 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}
207
188 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()