summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui470
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp98
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h6
3 files changed, 344 insertions, 230 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index d7ab3bb..4fc8ea1 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -1,157 +1,406 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>WellenreiterConfigBase</class> 2<class>WellenreiterConfigBase</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>WellenreiterConfigBase</cstring> 7 <cstring>WellenreiterConfigBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>303</width> 14 <width>286</width>
15 <height>287</height> 15 <height>345</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Wellenreiter II COnfiguration Dialog</string> 20 <string>Wellenreiter II COnfiguration Dialog</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <grid> 28 <grid>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>margin</name> 30 <name>margin</name>
31 <number>2</number> 31 <number>2</number>
32 </property> 32 </property>
33 <property stdset="1"> 33 <property stdset="1">
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>3</number> 35 <number>3</number>
36 </property> 36 </property>
37 <widget row="0" column="0" > 37 <widget row="0" column="0" >
38 <class>QTabWidget</class> 38 <class>QTabWidget</class>
39 <property stdset="1"> 39 <property stdset="1">
40 <name>name</name> 40 <name>name</name>
41 <cstring>tab</cstring> 41 <cstring>tab</cstring>
42 </property> 42 </property>
43 <property> 43 <property>
44 <name>layoutMargin</name> 44 <name>layoutMargin</name>
45 </property> 45 </property>
46 <property> 46 <property>
47 <name>layoutSpacing</name> 47 <name>layoutSpacing</name>
48 </property> 48 </property>
49 <widget> 49 <widget>
50 <class>QWidget</class> 50 <class>QWidget</class>
51 <property stdset="1"> 51 <property stdset="1">
52 <name>name</name> 52 <name>name</name>
53 <cstring>tab</cstring> 53 <cstring>tab</cstring>
54 </property> 54 </property>
55 <attribute> 55 <attribute>
56 <name>title</name> 56 <name>title</name>
57 <string>Interface</string> 57 <string>Interface</string>
58 </attribute> 58 </attribute>
59 <grid> 59 <vbox>
60 <property stdset="1"> 60 <property stdset="1">
61 <name>margin</name> 61 <name>margin</name>
62 <number>5</number> 62 <number>11</number>
63 </property> 63 </property>
64 <property stdset="1"> 64 <property stdset="1">
65 <name>spacing</name> 65 <name>spacing</name>
66 <number>3</number> 66 <number>6</number>
67 </property> 67 </property>
68 <widget row="0" column="0" > 68 <widget>
69 <class>QLabel</class> 69 <class>QLayoutWidget</class>
70 <property stdset="1">
71 <name>name</name>
72 <cstring>Layout7</cstring>
73 </property>
74 <grid>
75 <property stdset="1">
76 <name>margin</name>
77 <number>0</number>
78 </property>
79 <property stdset="1">
80 <name>spacing</name>
81 <number>6</number>
82 </property>
83 <widget row="1" column="1" >
84 <class>QComboBox</class>
85 <item>
86 <property>
87 <name>text</name>
88 <string>&lt;select&gt;</string>
89 </property>
90 </item>
91 <item>
92 <property>
93 <name>text</name>
94 <string>cisco</string>
95 </property>
96 </item>
97 <item>
98 <property>
99 <name>text</name>
100 <string>wlan-ng</string>
101 </property>
102 </item>
103 <item>
104 <property>
105 <name>text</name>
106 <string>hostap</string>
107 </property>
108 </item>
109 <item>
110 <property>
111 <name>text</name>
112 <string>orinoco</string>
113 </property>
114 </item>
115 <item>
116 <property>
117 <name>text</name>
118 <string>&lt;manual&gt;</string>
119 </property>
120 </item>
121 <item>
122 <property>
123 <name>text</name>
124 <string>&lt;file&gt;</string>
125 </property>
126 </item>
127 <property stdset="1">
128 <name>name</name>
129 <cstring>deviceType</cstring>
130 </property>
131 <property stdset="1">
132 <name>enabled</name>
133 <bool>true</bool>
134 </property>
135 <property stdset="1">
136 <name>sizePolicy</name>
137 <sizepolicy>
138 <hsizetype>7</hsizetype>
139 <vsizetype>0</vsizetype>
140 </sizepolicy>
141 </property>
142 <property>
143 <name>whatsThis</name>
144 <string>Choose the type of driver used for sniffing.</string>
145 </property>
146 </widget>
147 <widget row="1" column="0" >
148 <class>QLabel</class>
149 <property stdset="1">
150 <name>name</name>
151 <cstring>TextLabel2_3</cstring>
152 </property>
153 <property stdset="1">
154 <name>enabled</name>
155 <bool>true</bool>
156 </property>
157 <property stdset="1">
158 <name>text</name>
159 <string>Driver:</string>
160 </property>
161 </widget>
162 <widget row="0" column="1" >
163 <class>QComboBox</class>
164 <property stdset="1">
165 <name>name</name>
166 <cstring>interfaceName</cstring>
167 </property>
168 <property stdset="1">
169 <name>enabled</name>
170 <bool>true</bool>
171 </property>
172 <property stdset="1">
173 <name>sizePolicy</name>
174 <sizepolicy>
175 <hsizetype>7</hsizetype>
176 <vsizetype>0</vsizetype>
177 </sizepolicy>
178 </property>
179 <property stdset="1">
180 <name>editable</name>
181 <bool>false</bool>
182 </property>
183 <property>
184 <name>whatsThis</name>
185 <string>Choose the interface used for sniffing.</string>
186 </property>
187 </widget>
188 <widget row="0" column="0" >
189 <class>QLabel</class>
190 <property stdset="1">
191 <name>name</name>
192 <cstring>TextLabel1_2</cstring>
193 </property>
194 <property stdset="1">
195 <name>enabled</name>
196 <bool>true</bool>
197 </property>
198 <property stdset="1">
199 <name>text</name>
200 <string>Name:</string>
201 </property>
202 </widget>
203 </grid>
204 </widget>
205 <widget>
206 <class>QLayoutWidget</class>
70 <property stdset="1"> 207 <property stdset="1">
71 <name>name</name> 208 <name>name</name>
72 <cstring>TextLabel1_2</cstring> 209 <cstring>Layout5</cstring>
73 </property> 210 </property>
211 <hbox>
212 <property stdset="1">
213 <name>margin</name>
214 <number>0</number>
215 </property>
216 <property stdset="1">
217 <name>spacing</name>
218 <number>6</number>
219 </property>
220 <widget>
221 <class>QPushButton</class>
222 <property stdset="1">
223 <name>name</name>
224 <cstring>autodetect</cstring>
225 </property>
226 <property stdset="1">
227 <name>text</name>
228 <string>Perform Autodetection</string>
229 </property>
230 </widget>
231 </hbox>
232 </widget>
233 <widget>
234 <class>QCheckBox</class>
74 <property stdset="1"> 235 <property stdset="1">
75 <name>enabled</name> 236 <name>name</name>
76 <bool>true</bool> 237 <cstring>prismHeader</cstring>
77 </property> 238 </property>
78 <property stdset="1"> 239 <property stdset="1">
79 <name>text</name> 240 <name>text</name>
80 <string>Name:</string> 241 <string>Use additional PRISM header</string>
81 </property> 242 </property>
82 </widget> 243 </widget>
83 <widget row="1" column="0" > 244 <spacer>
84 <class>QLabel</class> 245 <property>
85 <property stdset="1">
86 <name>name</name> 246 <name>name</name>
87 <cstring>TextLabel2_3</cstring> 247 <cstring>Spacer4</cstring>
88 </property> 248 </property>
89 <property stdset="1"> 249 <property stdset="1">
90 <name>enabled</name> 250 <name>orientation</name>
91 <bool>true</bool> 251 <enum>Vertical</enum>
92 </property> 252 </property>
93 <property stdset="1"> 253 <property stdset="1">
94 <name>text</name> 254 <name>sizeType</name>
95 <string>Driver:</string> 255 <enum>Expanding</enum>
256 </property>
257 <property>
258 <name>sizeHint</name>
259 <size>
260 <width>20</width>
261 <height>20</height>
262 </size>
263 </property>
264 </spacer>
265 <widget>
266 <class>QLayoutWidget</class>
267 <property stdset="1">
268 <name>name</name>
269 <cstring>Layout6</cstring>
96 </property> 270 </property>
271 <hbox>
272 <property stdset="1">
273 <name>margin</name>
274 <number>0</number>
275 </property>
276 <property stdset="1">
277 <name>spacing</name>
278 <number>6</number>
279 </property>
280 <widget>
281 <class>QCheckBox</class>
282 <property stdset="1">
283 <name>name</name>
284 <cstring>hopChannels</cstring>
285 </property>
286 <property stdset="1">
287 <name>text</name>
288 <string>Hop Channels</string>
289 </property>
290 <property stdset="1">
291 <name>checked</name>
292 <bool>true</bool>
293 </property>
294 </widget>
295 <widget>
296 <class>QLabel</class>
297 <property stdset="1">
298 <name>name</name>
299 <cstring>TextLabel1</cstring>
300 </property>
301 <property stdset="1">
302 <name>text</name>
303 <string>every</string>
304 </property>
305 </widget>
306 <widget>
307 <class>QSpinBox</class>
308 <property stdset="1">
309 <name>name</name>
310 <cstring>hopInterval</cstring>
311 </property>
312 <property stdset="1">
313 <name>enabled</name>
314 <bool>true</bool>
315 </property>
316 <property stdset="1">
317 <name>suffix</name>
318 <string> ms</string>
319 </property>
320 <property stdset="1">
321 <name>maxValue</name>
322 <number>2000</number>
323 </property>
324 <property stdset="1">
325 <name>minValue</name>
326 <number>100</number>
327 </property>
328 <property stdset="1">
329 <name>lineStep</name>
330 <number>100</number>
331 </property>
332 <property stdset="1">
333 <name>value</name>
334 <number>1000</number>
335 </property>
336 <property>
337 <name>whatsThis</name>
338 <string>Choose the channel hop interval.</string>
339 </property>
340 </widget>
341 </hbox>
97 </widget> 342 </widget>
98 <widget row="2" column="0" rowspan="1" colspan="4" > 343 <widget>
99 <class>QCheckBox</class> 344 <class>QCheckBox</class>
100 <property stdset="1"> 345 <property stdset="1">
101 <name>name</name> 346 <name>name</name>
102 <cstring>prismHeader</cstring> 347 <cstring>adaptiveHopping</cstring>
348 </property>
349 <property stdset="1">
350 <name>enabled</name>
351 <bool>false</bool>
103 </property> 352 </property>
104 <property stdset="1"> 353 <property stdset="1">
105 <name>text</name> 354 <name>text</name>
106 <string>Use additional PRISM header</string> 355 <string>Use Adaptive(TM) Hop Scheme</string>
107 </property> 356 </property>
108 </widget> 357 </widget>
109 <widget row="6" column="0" rowspan="1" colspan="4" > 358 <widget>
110 <class>QGroupBox</class> 359 <class>QGroupBox</class>
111 <property stdset="1"> 360 <property stdset="1">
112 <name>name</name> 361 <name>name</name>
113 <cstring>GroupBox1</cstring> 362 <cstring>GroupBox1</cstring>
114 </property> 363 </property>
115 <property stdset="1"> 364 <property stdset="1">
116 <name>enabled</name> 365 <name>enabled</name>
117 <bool>false</bool> 366 <bool>false</bool>
118 </property> 367 </property>
119 <property stdset="1"> 368 <property stdset="1">
120 <name>title</name> 369 <name>title</name>
121 <string>Scan on channel</string> 370 <string>Scan on channel</string>
122 </property> 371 </property>
123 <property> 372 <property>
124 <name>layoutMargin</name> 373 <name>layoutMargin</name>
125 </property> 374 </property>
126 <property> 375 <property>
127 <name>layoutSpacing</name> 376 <name>layoutSpacing</name>
128 </property> 377 </property>
129 <grid> 378 <grid>
130 <property stdset="1"> 379 <property stdset="1">
131 <name>margin</name> 380 <name>margin</name>
132 <number>4</number> 381 <number>4</number>
133 </property> 382 </property>
134 <property stdset="1"> 383 <property stdset="1">
135 <name>spacing</name> 384 <name>spacing</name>
136 <number>2</number> 385 <number>2</number>
137 </property> 386 </property>
138 <widget row="1" column="1" > 387 <widget row="1" column="1" >
139 <class>QCheckBox</class> 388 <class>QCheckBox</class>
140 <property stdset="1"> 389 <property stdset="1">
141 <name>name</name> 390 <name>name</name>
142 <cstring>channel6</cstring> 391 <cstring>channel6</cstring>
143 </property> 392 </property>
144 <property stdset="1"> 393 <property stdset="1">
145 <name>text</name> 394 <name>text</name>
146 <string>6</string> 395 <string>6</string>
147 </property> 396 </property>
148 </widget> 397 </widget>
149 <widget row="1" column="3" > 398 <widget row="1" column="3" >
150 <class>QCheckBox</class> 399 <class>QCheckBox</class>
151 <property stdset="1"> 400 <property stdset="1">
152 <name>name</name> 401 <name>name</name>
153 <cstring>channel8</cstring> 402 <cstring>channel8</cstring>
154 </property> 403 </property>
155 <property stdset="1"> 404 <property stdset="1">
156 <name>text</name> 405 <name>text</name>
157 <string>8</string> 406 <string>8</string>
@@ -257,270 +506,97 @@
257 </property> 506 </property>
258 </widget> 507 </widget>
259 <widget row="0" column="4" > 508 <widget row="0" column="4" >
260 <class>QCheckBox</class> 509 <class>QCheckBox</class>
261 <property stdset="1"> 510 <property stdset="1">
262 <name>name</name> 511 <name>name</name>
263 <cstring>channel4</cstring> 512 <cstring>channel4</cstring>
264 </property> 513 </property>
265 <property stdset="1"> 514 <property stdset="1">
266 <name>text</name> 515 <name>text</name>
267 <string>4</string> 516 <string>4</string>
268 </property> 517 </property>
269 </widget> 518 </widget>
270 <widget row="2" column="2" > 519 <widget row="2" column="2" >
271 <class>QCheckBox</class> 520 <class>QCheckBox</class>
272 <property stdset="1"> 521 <property stdset="1">
273 <name>name</name> 522 <name>name</name>
274 <cstring>channel12</cstring> 523 <cstring>channel12</cstring>
275 </property> 524 </property>
276 <property stdset="1"> 525 <property stdset="1">
277 <name>text</name> 526 <name>text</name>
278 <string>12</string> 527 <string>12</string>
279 </property> 528 </property>
280 </widget> 529 </widget>
281 <widget row="2" column="3" > 530 <widget row="2" column="3" >
282 <class>QCheckBox</class> 531 <class>QCheckBox</class>
283 <property stdset="1"> 532 <property stdset="1">
284 <name>name</name> 533 <name>name</name>
285 <cstring>channel13</cstring> 534 <cstring>channel13</cstring>
286 </property> 535 </property>
287 <property stdset="1"> 536 <property stdset="1">
288 <name>text</name> 537 <name>text</name>
289 <string>13</string> 538 <string>13</string>
290 </property> 539 </property>
291 </widget> 540 </widget>
292 <widget row="2" column="4" > 541 <widget row="2" column="4" >
293 <class>QCheckBox</class> 542 <class>QCheckBox</class>
294 <property stdset="1"> 543 <property stdset="1">
295 <name>name</name> 544 <name>name</name>
296 <cstring>channel14</cstring> 545 <cstring>channel14</cstring>
297 </property> 546 </property>
298 <property stdset="1"> 547 <property stdset="1">
299 <name>text</name> 548 <name>text</name>
300 <string>14</string> 549 <string>14</string>
301 </property> 550 </property>
302 </widget> 551 </widget>
303 </grid> 552 </grid>
304 </widget> 553 </widget>
305 <widget row="0" column="1" rowspan="1" colspan="3" > 554 </vbox>
306 <class>QComboBox</class>
307 <property stdset="1">
308 <name>name</name>
309 <cstring>interfaceName</cstring>
310 </property>
311 <property stdset="1">
312 <name>enabled</name>
313 <bool>true</bool>
314 </property>
315 <property stdset="1">
316 <name>editable</name>
317 <bool>false</bool>
318 </property>
319 <property>
320 <name>whatsThis</name>
321 <string>Choose the interface used for sniffing.</string>
322 </property>
323 </widget>
324 <widget row="1" column="1" rowspan="1" colspan="3" >
325 <class>QComboBox</class>
326 <item>
327 <property>
328 <name>text</name>
329 <string>&lt;select&gt;</string>
330 </property>
331 </item>
332 <item>
333 <property>
334 <name>text</name>
335 <string>cisco</string>
336 </property>
337 </item>
338 <item>
339 <property>
340 <name>text</name>
341 <string>wlan-ng</string>
342 </property>
343 </item>
344 <item>
345 <property>
346 <name>text</name>
347 <string>hostap</string>
348 </property>
349 </item>
350 <item>
351 <property>
352 <name>text</name>
353 <string>orinoco</string>
354 </property>
355 </item>
356 <item>
357 <property>
358 <name>text</name>
359 <string>&lt;manual&gt;</string>
360 </property>
361 </item>
362 <item>
363 <property>
364 <name>text</name>
365 <string>&lt;file&gt;</string>
366 </property>
367 </item>
368 <property stdset="1">
369 <name>name</name>
370 <cstring>deviceType</cstring>
371 </property>
372 <property stdset="1">
373 <name>enabled</name>
374 <bool>true</bool>
375 </property>
376 <property>
377 <name>whatsThis</name>
378 <string>Choose the type of driver used for sniffing.</string>
379 </property>
380 </widget>
381 <spacer row="3" column="0" >
382 <property>
383 <name>name</name>
384 <cstring>Spacer4</cstring>
385 </property>
386 <property stdset="1">
387 <name>orientation</name>
388 <enum>Vertical</enum>
389 </property>
390 <property stdset="1">
391 <name>sizeType</name>
392 <enum>Expanding</enum>
393 </property>
394 <property>
395 <name>sizeHint</name>
396 <size>
397 <width>20</width>
398 <height>20</height>
399 </size>
400 </property>
401 </spacer>
402 <widget row="4" column="2" >
403 <class>QLabel</class>
404 <property stdset="1">
405 <name>name</name>
406 <cstring>TextLabel1</cstring>
407 </property>
408 <property stdset="1">
409 <name>text</name>
410 <string>every</string>
411 </property>
412 </widget>
413 <widget row="4" column="0" rowspan="1" colspan="2" >
414 <class>QCheckBox</class>
415 <property stdset="1">
416 <name>name</name>
417 <cstring>hopChannels</cstring>
418 </property>
419 <property stdset="1">
420 <name>text</name>
421 <string>Hop Channels</string>
422 </property>
423 <property stdset="1">
424 <name>checked</name>
425 <bool>true</bool>
426 </property>
427 </widget>
428 <widget row="4" column="3" >
429 <class>QSpinBox</class>
430 <property stdset="1">
431 <name>name</name>
432 <cstring>hopInterval</cstring>
433 </property>
434 <property stdset="1">
435 <name>enabled</name>
436 <bool>true</bool>
437 </property>
438 <property stdset="1">
439 <name>suffix</name>
440 <string> ms</string>
441 </property>
442 <property stdset="1">
443 <name>maxValue</name>
444 <number>2000</number>
445 </property>
446 <property stdset="1">
447 <name>minValue</name>
448 <number>100</number>
449 </property>
450 <property stdset="1">
451 <name>lineStep</name>
452 <number>100</number>
453 </property>
454 <property stdset="1">
455 <name>value</name>
456 <number>1000</number>
457 </property>
458 <property>
459 <name>whatsThis</name>
460 <string>Choose the channel hop interval.</string>
461 </property>
462 </widget>
463 <widget row="5" column="0" rowspan="1" colspan="4" >
464 <class>QCheckBox</class>
465 <property stdset="1">
466 <name>name</name>
467 <cstring>adaptiveHopping</cstring>
468 </property>
469 <property stdset="1">
470 <name>enabled</name>
471 <bool>false</bool>
472 </property>
473 <property stdset="1">
474 <name>text</name>
475 <string>Use Adaptive(TM) Hop Scheme</string>
476 </property>
477 </widget>
478 </grid>
479 </widget> 555 </widget>
480 <widget> 556 <widget>
481 <class>QWidget</class> 557 <class>QWidget</class>
482 <property stdset="1"> 558 <property stdset="1">
483 <name>name</name> 559 <name>name</name>
484 <cstring>tab</cstring> 560 <cstring>tab</cstring>
485 </property> 561 </property>
486 <attribute> 562 <attribute>
487 <name>title</name> 563 <name>title</name>
488 <string>Capture</string> 564 <string>Capture</string>
489 </attribute> 565 </attribute>
490 <grid> 566 <grid>
491 <property stdset="1"> 567 <property stdset="1">
492 <name>margin</name> 568 <name>margin</name>
493 <number>5</number> 569 <number>5</number>
494 </property> 570 </property>
495 <property stdset="1"> 571 <property stdset="1">
496 <name>spacing</name> 572 <name>spacing</name>
497 <number>3</number> 573 <number>3</number>
498 </property> 574 </property>
499 <widget row="2" column="0" rowspan="1" colspan="3" > 575 <widget row="2" column="0" rowspan="1" colspan="3" >
500 <class>ProtocolListView</class> 576 <class>ProtocolListView</class>
501 <property stdset="1"> 577 <property stdset="1">
502 <name>name</name> 578 <name>name</name>
503 <cstring>capturePackets</cstring> 579 <cstring>capturePackets</cstring>
504 </property> 580 </property>
505 <property stdset="1"> 581 <property stdset="1">
506 <name>enabled</name> 582 <name>enabled</name>
507 <bool>false</bool> 583 <bool>false</bool>
508 </property> 584 </property>
509 <property stdset="1"> 585 <property stdset="1">
510 <name>sizePolicy</name> 586 <name>sizePolicy</name>
511 <sizepolicy> 587 <sizepolicy>
512 <hsizetype>7</hsizetype> 588 <hsizetype>7</hsizetype>
513 <vsizetype>7</vsizetype> 589 <vsizetype>7</vsizetype>
514 </sizepolicy> 590 </sizepolicy>
515 </property> 591 </property>
516 </widget> 592 </widget>
517 <widget row="1" column="0" rowspan="1" colspan="3" > 593 <widget row="1" column="0" rowspan="1" colspan="3" >
518 <class>QLineEdit</class> 594 <class>QLineEdit</class>
519 <property stdset="1"> 595 <property stdset="1">
520 <name>name</name> 596 <name>name</name>
521 <cstring>captureFileName</cstring> 597 <cstring>captureFileName</cstring>
522 </property> 598 </property>
523 <property stdset="1"> 599 <property stdset="1">
524 <name>enabled</name> 600 <name>enabled</name>
525 <bool>false</bool> 601 <bool>false</bool>
526 </property> 602 </property>
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 84d4c63..3ec190b 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -12,145 +12,156 @@
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/* LOCAL */ 16/* LOCAL */
17#include "configwindow.h" 17#include "configwindow.h"
18#include "mainwindow.h" 18#include "mainwindow.h"
19 19
20/* QT */ 20/* QT */
21#include <qapplication.h> 21#include <qapplication.h>
22#include <qcheckbox.h> 22#include <qcheckbox.h>
23#include <qcombobox.h> 23#include <qcombobox.h>
24#include <qfile.h> 24#include <qfile.h>
25#include <qlineedit.h> 25#include <qlineedit.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qmap.h> 27#include <qmap.h>
28#include <qpushbutton.h> 28#include <qpushbutton.h>
29#include <qtoolbutton.h> 29#include <qtoolbutton.h>
30#include <qspinbox.h> 30#include <qspinbox.h>
31#include <qtextstream.h> 31#include <qtextstream.h>
32 32
33/* OPIE */ 33/* OPIE */
34#include <opie2/onetwork.h> 34#include <opie2/onetwork.h>
35#include <opie2/oapplication.h> 35#include <opie2/oapplication.h>
36#include <opie2/oconfig.h> 36#include <opie2/oconfig.h>
37 37
38WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; 38WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0;
39 39
40WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) 40WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f )
41 :WellenreiterConfigBase( parent, name, true, f ) 41 :WellenreiterConfigBase( parent, name, true, f )
42{ 42{
43 _devicetype[ "cisco" ] = DEVTYPE_CISCO; 43 _devicetype[ "cisco" ] = DEVTYPE_CISCO;
44 _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG; 44 _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG;
45 _devicetype[ "hostap" ] = DEVTYPE_HOSTAP; 45 _devicetype[ "hostap" ] = DEVTYPE_HOSTAP;
46 _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO; 46 _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO;
47 _devicetype[ "<manual>" ] = DEVTYPE_MANUAL; 47 _devicetype[ "<manual>" ] = DEVTYPE_MANUAL;
48 _devicetype[ "<file>" ] = DEVTYPE_FILE; 48 _devicetype[ "<file>" ] = DEVTYPE_FILE;
49 49
50 // gather possible interface names from ONetwork 50 // gather possible interface names from ONetwork
51 ONetwork* net = ONetwork::instance(); 51 ONetwork* net = ONetwork::instance();
52 ONetwork::InterfaceIterator it = net->iterator(); 52 ONetwork::InterfaceIterator it = net->iterator();
53 while ( it.current() ) 53 while ( it.current() )
54 { 54 {
55 if ( it.current()->isWireless() ) 55 if ( it.current()->isWireless() )
56 interfaceName->insertItem( it.current()->name() ); 56 interfaceName->insertItem( it.current()->name() );
57 ++it; 57 ++it;
58 } 58 }
59 59
60 if ( !load() ) // no configuration present 60 load();
61 {
62 // try to guess device type
63 QFile m( "/proc/modules" );
64 if ( m.open( IO_ReadOnly ) )
65 {
66 int devicetype(0);
67 QString line;
68 QTextStream modules( &m );
69 while( !modules.atEnd() && !devicetype )
70 {
71 modules >> line;
72 if ( line.contains( "cisco" ) ) devicetype = DEVTYPE_CISCO;
73 else if ( line.contains( "hostap" ) ) devicetype = DEVTYPE_HOSTAP;
74 else if ( line.contains( "prism" ) ) devicetype = DEVTYPE_WLAN_NG;
75 else if ( line.contains( "orinoco" ) ) devicetype = DEVTYPE_ORINOCO;
76 }
77 if ( devicetype )
78 {
79 deviceType->setCurrentItem( devicetype );
80 _guess = devicetype;
81 qDebug( "Wellenreiter: guessed device type to be #%d", devicetype );
82 }
83 }
84 }
85 61
86 #ifdef Q_WS_X11 // We're on X11: adding an Ok-Button for the Dialog here 62 #ifdef Q_WS_X11 // We're on X11: adding an Ok-Button for the Dialog here
87 QPushButton* okButton = new QPushButton( "ok", this ); 63 QPushButton* okButton = new QPushButton( "ok", this );
88 okButton->show(); 64 okButton->show();
89 WellenreiterConfigBaseLayout->addWidget( okButton, 0, 3 ); //FIXME: rename this in configbase.ui 65 WellenreiterConfigBaseLayout->addWidget( okButton, 0, 3 ); //FIXME: rename this in configbase.ui
90 connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) ); 66 connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
91 #endif 67 #endif
92 68
93 WellenreiterConfigWindow::_instance = this; 69 WellenreiterConfigWindow::_instance = this;
94 70
95 connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) ); 71 connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) );
96 connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) ); 72 connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) );
97 73
98 // make the checkbox 'channelAll' control all other channels 74 // make the checkbox 'channelAll' control all other channels
99 connect( channelAll, SIGNAL( stateChanged(int) ), this, SLOT( channelAllClicked(int) ) ); 75 connect( channelAll, SIGNAL( stateChanged(int) ), this, SLOT( channelAllClicked(int) ) );
76
77 connect( autodetect, SIGNAL( clicked() ), this, SLOT( performAutodetection() ) );
100}; 78};
101 79
102 80
103WellenreiterConfigWindow::~WellenreiterConfigWindow() 81WellenreiterConfigWindow::~WellenreiterConfigWindow()
104{ 82{
105 save(); 83 save();
106} 84}
107 85
108 86
87void WellenreiterConfigWindow::performAutodetection()
88{
89 //TODO: insert modal splash screen here
90 // and sleep a second, so that it looks
91 // like we're actually doing something fancy... ;-)
92
93 qDebug( "WellenreiterConfigWindow::performAutodetection()" );
94
95 // try to guess device type
96 QFile m( "/proc/modules" );
97 if ( m.open( IO_ReadOnly ) )
98 {
99 int devicetype(0);
100 QString line;
101 QTextStream modules( &m );
102 while( !modules.atEnd() && !devicetype )
103 {
104 modules >> line;
105 if ( line.contains( "cisco" ) ) devicetype = DEVTYPE_CISCO;
106 else if ( line.contains( "hostap" ) ) devicetype = DEVTYPE_HOSTAP;
107 else if ( line.contains( "prism" ) ) devicetype = DEVTYPE_WLAN_NG;
108 else if ( line.contains( "orinoco" ) ) devicetype = DEVTYPE_ORINOCO;
109 }
110 if ( devicetype )
111 {
112 deviceType->setCurrentItem( devicetype );
113 _guess = devicetype;
114 qDebug( "Wellenreiter: guessed device type to be #%d", devicetype );
115 }
116 }
117}
118
119
109int WellenreiterConfigWindow::driverType() const 120int WellenreiterConfigWindow::driverType() const
110{ 121{
111 QString name = deviceType->currentText(); 122 QString name = deviceType->currentText();
112 if ( _devicetype.contains( name ) ) 123 if ( _devicetype.contains( name ) )
113 { 124 {
114 return _devicetype[name]; 125 return _devicetype[name];
115 } 126 }
116 else 127 else
117 { 128 {
118 return 0; 129 return 0;
119 } 130 }
120}; 131};
121 132
122 133
123int WellenreiterConfigWindow::hoppingInterval() const 134int WellenreiterConfigWindow::hoppingInterval() const
124{ 135{
125 return hopInterval->cleanText().toInt(); 136 return hopInterval->cleanText().toInt();
126} 137}
127 138
128 139
129bool WellenreiterConfigWindow::usePrismHeader() const 140bool WellenreiterConfigWindow::usePrismHeader() const
130{ 141{
131 return prismHeader->isChecked(); 142 return prismHeader->isChecked();
132} 143}
133 144
134 145
135bool WellenreiterConfigWindow::isChannelChecked( int channel ) const 146bool WellenreiterConfigWindow::isChannelChecked( int channel ) const
136{ 147{
137 switch ( channel ) 148 switch ( channel )
138 { 149 {
139 case 1: return channel1->isOn(); 150 case 1: return channel1->isOn();
140 case 2: return channel2->isOn(); 151 case 2: return channel2->isOn();
141 case 3: return channel3->isOn(); 152 case 3: return channel3->isOn();
142 case 4: return channel4->isOn(); 153 case 4: return channel4->isOn();
143 case 5: return channel5->isOn(); 154 case 5: return channel5->isOn();
144 case 6: return channel6->isOn(); 155 case 6: return channel6->isOn();
145 case 7: return channel7->isOn(); 156 case 7: return channel7->isOn();
146 case 8: return channel8->isOn(); 157 case 8: return channel8->isOn();
147 case 9: return channel9->isOn(); 158 case 9: return channel9->isOn();
148 case 10: return channel10->isOn(); 159 case 10: return channel10->isOn();
149 case 11: return channel11->isOn(); 160 case 11: return channel11->isOn();
150 case 12: return channel12->isOn(); 161 case 12: return channel12->isOn();
151 case 13: return channel13->isOn(); 162 case 13: return channel13->isOn();
152 case 14: return channel14->isOn(); 163 case 14: return channel14->isOn();
153 } 164 }
154} 165}
155 166
156 167
@@ -176,129 +187,156 @@ void WellenreiterConfigWindow::getCaptureFileNameClicked()
176 QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true); 187 QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true);
177 qDebug( "name = %s", (const char*) name ); 188 qDebug( "name = %s", (const char*) name );
178 if ( !name.isEmpty() ) 189 if ( !name.isEmpty() )
179 { 190 {
180 captureFileName->setText( name ); 191 captureFileName->setText( name );
181 } 192 }
182} 193}
183 194
184 195
185void WellenreiterConfigWindow::channelAllClicked(int state) 196void WellenreiterConfigWindow::channelAllClicked(int state)
186{ 197{
187 bool b = state; 198 bool b = state;
188 channel1->setChecked( b ); 199 channel1->setChecked( b );
189 channel2->setChecked( b ); 200 channel2->setChecked( b );
190 channel3->setChecked( b ); 201 channel3->setChecked( b );
191 channel4->setChecked( b ); 202 channel4->setChecked( b );
192 channel5->setChecked( b ); 203 channel5->setChecked( b );
193 channel6->setChecked( b ); 204 channel6->setChecked( b );
194 channel7->setChecked( b ); 205 channel7->setChecked( b );
195 channel8->setChecked( b ); 206 channel8->setChecked( b );
196 channel9->setChecked( b ); 207 channel9->setChecked( b );
197 channel10->setChecked( b ); 208 channel10->setChecked( b );
198 channel11->setChecked( b ); 209 channel11->setChecked( b );
199 channel12->setChecked( b ); 210 channel12->setChecked( b );
200 channel13->setChecked( b ); 211 channel13->setChecked( b );
201 channel14->setChecked( b ); 212 channel14->setChecked( b );
202} 213}
203 214
204 215
205bool WellenreiterConfigWindow::useGPS() const 216bool WellenreiterConfigWindow::useGPS() const
206{ 217{
207 return enableGPS->isChecked(); 218 return enableGPS->isChecked();
208} 219}
209 220
210 221
211const QString WellenreiterConfigWindow::gpsHost() const 222const QString WellenreiterConfigWindow::gpsHost() const
212{ 223{
213 return useGPS() ? gpsdHost->currentText() : QString::null; 224 return useGPS() ? gpsdHost->currentText() : QString::null;
214} 225}
215 226
216 227
217int WellenreiterConfigWindow::gpsPort() const 228int WellenreiterConfigWindow::gpsPort() const
218{ 229{
219 bool ok; 230 bool ok;
220 return useGPS() ? gpsdPort->value() : -1; 231 return useGPS() ? gpsdPort->value() : -1;
221} 232}
222 233
223 234
224bool WellenreiterConfigWindow::load() 235void WellenreiterConfigWindow::load()
225{ 236{
226#ifdef Q_WS_X11 237#ifdef Q_WS_X11
227 #warning Persistent Configuration not yet implemented for standalone X11 build 238 #warning Persistent Configuration not yet implemented for standalone X11 build
228 return false; 239 performAutodetection();
229#else 240#else
230 qDebug( "loading configuration settings..." ); 241 qDebug( "loading configuration settings..." );
231 242
232 /* This is dumb monkey typing stuff... We _need_ to do this automatically! */ 243 /* This is dumb monkey typing stuff... We _need_ to do this automatically! */
233 244
234 OConfig* c = oApp->config(); 245 OConfig* c = oApp->config();
235 246
236 c->setGroup( "Interface" ); 247 c->setGroup( "Interface" );
237 //interfaceName->setCurrentText( c->readEntry( "name" ) ); 248
238 //deviceType->setCurrentText( c->readEntry( "type", "<select>" ) ); 249 QString interface = c->readEntry( "name", "<none>" );
250 if ( interface != "<none>" )
251 {
252#if QT_VERSION < 300
253 interfaceName->insertItem( interface, 0 );
254 interfaceName->setCurrentItem( 0 );
255#else
256 interfaceName->setCurrentText( interface );
257#endif
258
259 QString device = c->readEntry( "type", "<select>" );
260#if QT_VERSION < 300
261 for ( int i = 0; i < deviceType->count(); ++i )
262 {
263 if ( deviceType->text( i ) == device )
264 {
265 deviceType->setCurrentItem( i );
266 break;
267 }
268 }
269#else
270 deviceType->setCurrentText( device );
271#endif
272 }
273 else
274 {
275 performAutodetection();
276 }
277
239 prismHeader->setChecked( c->readBoolEntry( "prism", false ) ); 278 prismHeader->setChecked( c->readBoolEntry( "prism", false ) );
240 hopChannels->setChecked( c->readBoolEntry( "hop", true ) ); 279 hopChannels->setChecked( c->readBoolEntry( "hop", true ) );
241 hopInterval->setValue( c->readNumEntry( "interval", 100 ) ); 280 hopInterval->setValue( c->readNumEntry( "interval", 100 ) );
242 adaptiveHopping->setChecked( c->readBoolEntry( "adaptive", true ) ); 281 adaptiveHopping->setChecked( c->readBoolEntry( "adaptive", true ) );
243 282
244 c->setGroup( "Capture" ); 283 c->setGroup( "Capture" );
245 captureFileName->setText( c->readEntry( "filename", "/tmp/capture" ) ); 284 captureFileName->setText( c->readEntry( "filename", "/tmp/capture" ) );
246 285
247 c->setGroup( "UI" ); 286 c->setGroup( "UI" );
248 lookupVendor->setChecked( c->readBoolEntry( "lookupVendor", true ) ); 287 lookupVendor->setChecked( c->readBoolEntry( "lookupVendor", true ) );
249 openTree->setChecked( c->readBoolEntry( "openTree", true ) ); 288 openTree->setChecked( c->readBoolEntry( "openTree", true ) );
250 disablePM->setChecked( c->readBoolEntry( "disablePM", true ) ); 289 disablePM->setChecked( c->readBoolEntry( "disablePM", true ) );
251 290
252 c->setGroup( "GPS" ); 291 c->setGroup( "GPS" );
253 enableGPS->setChecked( c->readBoolEntry( "use", false ) ); 292 enableGPS->setChecked( c->readBoolEntry( "use", false ) );
254#if QT_VERSION < 300 293#if QT_VERSION < 300
255 gpsdHost->insertItem( c->readEntry( "host", "localhost" ), 0 ); 294 gpsdHost->insertItem( c->readEntry( "host", "localhost" ), 0 );
256 gpsdHost->setCurrentItem( 0 ); 295 gpsdHost->setCurrentItem( 0 );
257#else 296#else
258 gpsdHost->setCurrentText( c->readEntry( "host", "localhost" ) ); 297 gpsdHost->setCurrentText( c->readEntry( "host", "localhost" ) );
259#endif 298#endif
260 gpsdPort->setValue( c->readNumEntry( "port", 2947 ) ); 299 gpsdPort->setValue( c->readNumEntry( "port", 2947 ) );
261 startGPS->setChecked( c->readBoolEntry( "start", false ) ); 300 startGPS->setChecked( c->readBoolEntry( "start", false ) );
262 commandGPS->setText( c->readEntry( "command", "gpsd -p /dev/ttyS3 -s 57600" ) ); 301 commandGPS->setText( c->readEntry( "command", "gpsd -p /dev/ttyS3 -s 57600" ) );
263 302
264 return false; // false = perform autodetection; true = use config settings
265#endif 303#endif
266} 304}
267 305
268 306
269void WellenreiterConfigWindow::save() 307void WellenreiterConfigWindow::save()
270{ 308{
271#ifdef Q_WS_X11 309#ifdef Q_WS_X11
272 #warning Persistent Configuration not yet implemented for standalone X11 build 310 #warning Persistent Configuration not yet implemented for standalone X11 build
273#else 311#else
274 qDebug( "saving configuration settings..." ); 312 qDebug( "saving configuration settings..." );
275 313
276 /* This is dumb monkey typing stuff... We _need_ to do this automatically! */ 314 /* This is dumb monkey typing stuff... We _need_ to do this automatically! */
277 315
278 OConfig* c = oApp->config(); 316 OConfig* c = oApp->config();
279 317
280 c->setGroup( "Interface" ); 318 c->setGroup( "Interface" );
281 c->writeEntry( "name", interfaceName->currentText() ); 319 c->writeEntry( "name", interfaceName->currentText() );
282 c->writeEntry( "type", deviceType->currentText() ); 320 c->writeEntry( "type", deviceType->currentText() );
283 c->writeEntry( "prism", prismHeader->isChecked() ); 321 c->writeEntry( "prism", prismHeader->isChecked() );
284 c->writeEntry( "hop", hopChannels->isChecked() ); 322 c->writeEntry( "hop", hopChannels->isChecked() );
285 c->writeEntry( "interval", hopInterval->value() ); 323 c->writeEntry( "interval", hopInterval->value() );
286 c->writeEntry( "adaptive", adaptiveHopping->isChecked() ); 324 c->writeEntry( "adaptive", adaptiveHopping->isChecked() );
287 325
288 c->setGroup( "Capture" ); 326 c->setGroup( "Capture" );
289 c->writeEntry( "filename", captureFileName->text() ); 327 c->writeEntry( "filename", captureFileName->text() );
290 328
291 c->setGroup( "UI" ); 329 c->setGroup( "UI" );
292 c->writeEntry( "lookupVendor", lookupVendor->isChecked() ); 330 c->writeEntry( "lookupVendor", lookupVendor->isChecked() );
293 c->writeEntry( "openTree", openTree->isChecked() ); 331 c->writeEntry( "openTree", openTree->isChecked() );
294 c->writeEntry( "disablePM", disablePM->isChecked() ); 332 c->writeEntry( "disablePM", disablePM->isChecked() );
295 333
296 c->setGroup( "GPS" ); 334 c->setGroup( "GPS" );
297 c->writeEntry( "use", enableGPS->isChecked() ); 335 c->writeEntry( "use", enableGPS->isChecked() );
298 c->writeEntry( "host", gpsdHost->currentText() ); 336 c->writeEntry( "host", gpsdHost->currentText() );
299 c->writeEntry( "port", gpsdPort->value() ); 337 c->writeEntry( "port", gpsdPort->value() );
300 c->writeEntry( "start", startGPS->isChecked() ); 338 c->writeEntry( "start", startGPS->isChecked() );
301 c->writeEntry( "command", commandGPS->text() ); 339 c->writeEntry( "command", commandGPS->text() );
302 340
303#endif 341#endif
304} 342}
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h
index 2986320..80b4d2b 100644
--- a/noncore/net/wellenreiter/gui/configwindow.h
+++ b/noncore/net/wellenreiter/gui/configwindow.h
@@ -1,71 +1,71 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
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#ifndef WELLENREITERCONFIGWINDOW_H 16#ifndef WELLENREITERCONFIGWINDOW_H
17#define WELLENREITERCONFIGWINDOW_H 17#define WELLENREITERCONFIGWINDOW_H
18 18
19#include "configbase.h" 19#include "configbase.h"
20#include <qmap.h> 20#include <qmap.h>
21#include <qcombobox.h> 21#include <qcombobox.h>
22#include <qstring.h> 22#include <qstring.h>
23 23
24const int DEVTYPE_SELECT = 0; 24const int DEVTYPE_SELECT = 0;
25const int DEVTYPE_CISCO = 1; 25const int DEVTYPE_CISCO = 1;
26const int DEVTYPE_WLAN_NG = 2; 26const int DEVTYPE_WLAN_NG = 2;
27const int DEVTYPE_HOSTAP = 3; 27const int DEVTYPE_HOSTAP = 3;
28const int DEVTYPE_ORINOCO = 4; 28const int DEVTYPE_ORINOCO = 4;
29const int DEVTYPE_MANUAL = 5; 29const int DEVTYPE_MANUAL = 5;
30const int DEVTYPE_FILE = 6; 30const int DEVTYPE_FILE = 6;
31 31
32class WellenreiterConfigWindow; 32class WellenreiterConfigWindow;
33 33
34class WellenreiterConfigWindow : public WellenreiterConfigBase 34class WellenreiterConfigWindow : public WellenreiterConfigBase
35{ 35{
36 Q_OBJECT 36 Q_OBJECT
37 37
38 public: 38 public:
39 WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 ); 39 WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 );
40 ~WellenreiterConfigWindow(); 40 ~WellenreiterConfigWindow();
41 41
42 int driverType() const; 42 int driverType() const;
43 const QString soundOnNetwork() const { return "";/*netSound->currentText();*/ }; 43 const QString soundOnNetwork() const { return "";/*netSound->currentText();*/ };
44 const QString soundOnBeacon() const { return "";/*beaconSound->currentText();*/ }; 44 const QString soundOnBeacon() const { return "";/*beaconSound->currentText();*/ };
45 static WellenreiterConfigWindow* instance() { return _instance; }; 45 static WellenreiterConfigWindow* instance() { return _instance; };
46 46
47 int hoppingInterval() const; 47 int hoppingInterval() const;
48 bool usePrismHeader() const; 48 bool usePrismHeader() const;
49 bool isChannelChecked( int ) const; 49 bool isChannelChecked( int ) const;
50 50
51 bool useGPS() const; 51 bool useGPS() const;
52 const QString gpsHost() const; 52 const QString gpsHost() const;
53 int gpsPort() const; 53 int gpsPort() const;
54 54
55 void save(); 55 void save();
56 bool load(); 56 void load();
57 57
58 public slots: 58 public slots:
59 void changedDeviceType(int); 59 void changedDeviceType(int);
60 void getCaptureFileNameClicked(); 60 void getCaptureFileNameClicked();
61 61 void performAutodetection();
62 void channelAllClicked(int); 62 void channelAllClicked(int);
63 63
64 protected: 64 protected:
65 QMap<QString, int> _devicetype; 65 QMap<QString, int> _devicetype;
66 static WellenreiterConfigWindow* _instance; 66 static WellenreiterConfigWindow* _instance;
67 int _guess; 67 int _guess;
68 68
69}; 69};
70 70
71#endif 71#endif