summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui2
-rw-r--r--noncore/net/wellenreiter/gui/gps.cpp2
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp9
3 files changed, 8 insertions, 5 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index de6abfc..469effe 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -1,1510 +1,1510 @@
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>250</width> 14 <width>250</width>
15 <height>371</height> 15 <height>371</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 <vbox> 59 <vbox>
60 <property stdset="1"> 60 <property stdset="1">
61 <name>margin</name> 61 <name>margin</name>
62 <number>6</number> 62 <number>6</number>
63 </property> 63 </property>
64 <property stdset="1"> 64 <property stdset="1">
65 <name>spacing</name> 65 <name>spacing</name>
66 <number>6</number> 66 <number>6</number>
67 </property> 67 </property>
68 <widget> 68 <widget>
69 <class>QLayoutWidget</class> 69 <class>QLayoutWidget</class>
70 <property stdset="1"> 70 <property stdset="1">
71 <name>name</name> 71 <name>name</name>
72 <cstring>Layout7</cstring> 72 <cstring>Layout7</cstring>
73 </property> 73 </property>
74 <grid> 74 <grid>
75 <property stdset="1"> 75 <property stdset="1">
76 <name>margin</name> 76 <name>margin</name>
77 <number>0</number> 77 <number>0</number>
78 </property> 78 </property>
79 <property stdset="1"> 79 <property stdset="1">
80 <name>spacing</name> 80 <name>spacing</name>
81 <number>6</number> 81 <number>6</number>
82 </property> 82 </property>
83 <widget row="1" column="1" > 83 <widget row="1" column="1" >
84 <class>QComboBox</class> 84 <class>QComboBox</class>
85 <item> 85 <item>
86 <property> 86 <property>
87 <name>text</name> 87 <name>text</name>
88 <string>&lt;select&gt;</string> 88 <string>&lt;select&gt;</string>
89 </property> 89 </property>
90 </item> 90 </item>
91 <item> 91 <item>
92 <property> 92 <property>
93 <name>text</name> 93 <name>text</name>
94 <string>cisco</string> 94 <string>cisco</string>
95 </property> 95 </property>
96 </item> 96 </item>
97 <item> 97 <item>
98 <property> 98 <property>
99 <name>text</name> 99 <name>text</name>
100 <string>wlan-ng</string> 100 <string>wlan-ng</string>
101 </property> 101 </property>
102 </item> 102 </item>
103 <item> 103 <item>
104 <property> 104 <property>
105 <name>text</name> 105 <name>text</name>
106 <string>hostap</string> 106 <string>hostap</string>
107 </property> 107 </property>
108 </item> 108 </item>
109 <item> 109 <item>
110 <property> 110 <property>
111 <name>text</name> 111 <name>text</name>
112 <string>orinoco</string> 112 <string>orinoco</string>
113 </property> 113 </property>
114 </item> 114 </item>
115 <item> 115 <item>
116 <property> 116 <property>
117 <name>text</name> 117 <name>text</name>
118 <string>&lt;manual&gt;</string> 118 <string>&lt;manual&gt;</string>
119 </property> 119 </property>
120 </item> 120 </item>
121 <item> 121 <item>
122 <property> 122 <property>
123 <name>text</name> 123 <name>text</name>
124 <string>&lt;file&gt;</string> 124 <string>&lt;file&gt;</string>
125 </property> 125 </property>
126 </item> 126 </item>
127 <property stdset="1"> 127 <property stdset="1">
128 <name>name</name> 128 <name>name</name>
129 <cstring>deviceType</cstring> 129 <cstring>deviceType</cstring>
130 </property> 130 </property>
131 <property stdset="1"> 131 <property stdset="1">
132 <name>enabled</name> 132 <name>enabled</name>
133 <bool>true</bool> 133 <bool>true</bool>
134 </property> 134 </property>
135 <property stdset="1"> 135 <property stdset="1">
136 <name>sizePolicy</name> 136 <name>sizePolicy</name>
137 <sizepolicy> 137 <sizepolicy>
138 <hsizetype>7</hsizetype> 138 <hsizetype>7</hsizetype>
139 <vsizetype>0</vsizetype> 139 <vsizetype>0</vsizetype>
140 </sizepolicy> 140 </sizepolicy>
141 </property> 141 </property>
142 <property> 142 <property>
143 <name>whatsThis</name> 143 <name>whatsThis</name>
144 <string>Choose the type of driver used for sniffing.</string> 144 <string>Choose the type of driver used for sniffing.</string>
145 </property> 145 </property>
146 </widget> 146 </widget>
147 <widget row="1" column="0" > 147 <widget row="1" column="0" >
148 <class>QLabel</class> 148 <class>QLabel</class>
149 <property stdset="1"> 149 <property stdset="1">
150 <name>name</name> 150 <name>name</name>
151 <cstring>TextLabel2_3</cstring> 151 <cstring>TextLabel2_3</cstring>
152 </property> 152 </property>
153 <property stdset="1"> 153 <property stdset="1">
154 <name>enabled</name> 154 <name>enabled</name>
155 <bool>true</bool> 155 <bool>true</bool>
156 </property> 156 </property>
157 <property stdset="1"> 157 <property stdset="1">
158 <name>text</name> 158 <name>text</name>
159 <string>Driver:</string> 159 <string>Driver:</string>
160 </property> 160 </property>
161 </widget> 161 </widget>
162 <widget row="0" column="1" > 162 <widget row="0" column="1" >
163 <class>QComboBox</class> 163 <class>QComboBox</class>
164 <property stdset="1"> 164 <property stdset="1">
165 <name>name</name> 165 <name>name</name>
166 <cstring>interfaceName</cstring> 166 <cstring>interfaceName</cstring>
167 </property> 167 </property>
168 <property stdset="1"> 168 <property stdset="1">
169 <name>enabled</name> 169 <name>enabled</name>
170 <bool>true</bool> 170 <bool>true</bool>
171 </property> 171 </property>
172 <property stdset="1"> 172 <property stdset="1">
173 <name>sizePolicy</name> 173 <name>sizePolicy</name>
174 <sizepolicy> 174 <sizepolicy>
175 <hsizetype>7</hsizetype> 175 <hsizetype>7</hsizetype>
176 <vsizetype>0</vsizetype> 176 <vsizetype>0</vsizetype>
177 </sizepolicy> 177 </sizepolicy>
178 </property> 178 </property>
179 <property stdset="1"> 179 <property stdset="1">
180 <name>editable</name> 180 <name>editable</name>
181 <bool>false</bool> 181 <bool>false</bool>
182 </property> 182 </property>
183 <property> 183 <property>
184 <name>whatsThis</name> 184 <name>whatsThis</name>
185 <string>Choose the interface used for sniffing.</string> 185 <string>Choose the interface used for sniffing.</string>
186 </property> 186 </property>
187 </widget> 187 </widget>
188 <widget row="0" column="0" > 188 <widget row="0" column="0" >
189 <class>QLabel</class> 189 <class>QLabel</class>
190 <property stdset="1"> 190 <property stdset="1">
191 <name>name</name> 191 <name>name</name>
192 <cstring>TextLabel1_2</cstring> 192 <cstring>TextLabel1_2</cstring>
193 </property> 193 </property>
194 <property stdset="1"> 194 <property stdset="1">
195 <name>enabled</name> 195 <name>enabled</name>
196 <bool>true</bool> 196 <bool>true</bool>
197 </property> 197 </property>
198 <property stdset="1"> 198 <property stdset="1">
199 <name>text</name> 199 <name>text</name>
200 <string>Name:</string> 200 <string>Name:</string>
201 </property> 201 </property>
202 </widget> 202 </widget>
203 </grid> 203 </grid>
204 </widget> 204 </widget>
205 <widget> 205 <widget>
206 <class>QLayoutWidget</class> 206 <class>QLayoutWidget</class>
207 <property stdset="1"> 207 <property stdset="1">
208 <name>name</name> 208 <name>name</name>
209 <cstring>Layout5</cstring> 209 <cstring>Layout5</cstring>
210 </property> 210 </property>
211 <hbox> 211 <hbox>
212 <property stdset="1"> 212 <property stdset="1">
213 <name>margin</name> 213 <name>margin</name>
214 <number>0</number> 214 <number>0</number>
215 </property> 215 </property>
216 <property stdset="1"> 216 <property stdset="1">
217 <name>spacing</name> 217 <name>spacing</name>
218 <number>6</number> 218 <number>6</number>
219 </property> 219 </property>
220 <widget> 220 <widget>
221 <class>QPushButton</class> 221 <class>QPushButton</class>
222 <property stdset="1"> 222 <property stdset="1">
223 <name>name</name> 223 <name>name</name>
224 <cstring>autodetect</cstring> 224 <cstring>autodetect</cstring>
225 </property> 225 </property>
226 <property stdset="1"> 226 <property stdset="1">
227 <name>text</name> 227 <name>text</name>
228 <string>Perform Autodetection</string> 228 <string>Perform Autodetection</string>
229 </property> 229 </property>
230 </widget> 230 </widget>
231 </hbox> 231 </hbox>
232 </widget> 232 </widget>
233 <widget> 233 <widget>
234 <class>QCheckBox</class> 234 <class>QCheckBox</class>
235 <property stdset="1"> 235 <property stdset="1">
236 <name>name</name> 236 <name>name</name>
237 <cstring>prismHeader</cstring> 237 <cstring>prismHeader</cstring>
238 </property> 238 </property>
239 <property stdset="1"> 239 <property stdset="1">
240 <name>text</name> 240 <name>text</name>
241 <string>Use additional PRISM header</string> 241 <string>Use additional PRISM header</string>
242 </property> 242 </property>
243 </widget> 243 </widget>
244 <spacer> 244 <spacer>
245 <property> 245 <property>
246 <name>name</name> 246 <name>name</name>
247 <cstring>Spacer4</cstring> 247 <cstring>Spacer4</cstring>
248 </property> 248 </property>
249 <property stdset="1"> 249 <property stdset="1">
250 <name>orientation</name> 250 <name>orientation</name>
251 <enum>Vertical</enum> 251 <enum>Vertical</enum>
252 </property> 252 </property>
253 <property stdset="1"> 253 <property stdset="1">
254 <name>sizeType</name> 254 <name>sizeType</name>
255 <enum>Expanding</enum> 255 <enum>Expanding</enum>
256 </property> 256 </property>
257 <property> 257 <property>
258 <name>sizeHint</name> 258 <name>sizeHint</name>
259 <size> 259 <size>
260 <width>20</width> 260 <width>20</width>
261 <height>20</height> 261 <height>20</height>
262 </size> 262 </size>
263 </property> 263 </property>
264 </spacer> 264 </spacer>
265 <widget> 265 <widget>
266 <class>QLayoutWidget</class> 266 <class>QLayoutWidget</class>
267 <property stdset="1"> 267 <property stdset="1">
268 <name>name</name> 268 <name>name</name>
269 <cstring>Layout6</cstring> 269 <cstring>Layout6</cstring>
270 </property> 270 </property>
271 <hbox> 271 <hbox>
272 <property stdset="1"> 272 <property stdset="1">
273 <name>margin</name> 273 <name>margin</name>
274 <number>0</number> 274 <number>0</number>
275 </property> 275 </property>
276 <property stdset="1"> 276 <property stdset="1">
277 <name>spacing</name> 277 <name>spacing</name>
278 <number>6</number> 278 <number>6</number>
279 </property> 279 </property>
280 <widget> 280 <widget>
281 <class>QCheckBox</class> 281 <class>QCheckBox</class>
282 <property stdset="1"> 282 <property stdset="1">
283 <name>name</name> 283 <name>name</name>
284 <cstring>hopChannels</cstring> 284 <cstring>hopChannels</cstring>
285 </property> 285 </property>
286 <property stdset="1"> 286 <property stdset="1">
287 <name>text</name> 287 <name>text</name>
288 <string>Hop Channels</string> 288 <string>Hop Channels</string>
289 </property> 289 </property>
290 <property stdset="1"> 290 <property stdset="1">
291 <name>checked</name> 291 <name>checked</name>
292 <bool>true</bool> 292 <bool>true</bool>
293 </property> 293 </property>
294 </widget> 294 </widget>
295 <widget> 295 <widget>
296 <class>QLabel</class> 296 <class>QLabel</class>
297 <property stdset="1"> 297 <property stdset="1">
298 <name>name</name> 298 <name>name</name>
299 <cstring>TextLabel1</cstring> 299 <cstring>TextLabel1</cstring>
300 </property> 300 </property>
301 <property stdset="1"> 301 <property stdset="1">
302 <name>text</name> 302 <name>text</name>
303 <string>every</string> 303 <string>every</string>
304 </property> 304 </property>
305 </widget> 305 </widget>
306 <widget> 306 <widget>
307 <class>QSpinBox</class> 307 <class>QSpinBox</class>
308 <property stdset="1"> 308 <property stdset="1">
309 <name>name</name> 309 <name>name</name>
310 <cstring>hopInterval</cstring> 310 <cstring>hopInterval</cstring>
311 </property> 311 </property>
312 <property stdset="1"> 312 <property stdset="1">
313 <name>enabled</name> 313 <name>enabled</name>
314 <bool>true</bool> 314 <bool>true</bool>
315 </property> 315 </property>
316 <property stdset="1"> 316 <property stdset="1">
317 <name>suffix</name> 317 <name>suffix</name>
318 <string> ms</string> 318 <string> ms</string>
319 </property> 319 </property>
320 <property stdset="1"> 320 <property stdset="1">
321 <name>maxValue</name> 321 <name>maxValue</name>
322 <number>2000</number> 322 <number>2000</number>
323 </property> 323 </property>
324 <property stdset="1"> 324 <property stdset="1">
325 <name>minValue</name> 325 <name>minValue</name>
326 <number>100</number> 326 <number>100</number>
327 </property> 327 </property>
328 <property stdset="1"> 328 <property stdset="1">
329 <name>lineStep</name> 329 <name>lineStep</name>
330 <number>100</number> 330 <number>100</number>
331 </property> 331 </property>
332 <property stdset="1"> 332 <property stdset="1">
333 <name>value</name> 333 <name>value</name>
334 <number>1000</number> 334 <number>1000</number>
335 </property> 335 </property>
336 <property> 336 <property>
337 <name>whatsThis</name> 337 <name>whatsThis</name>
338 <string>Choose the channel hop interval.</string> 338 <string>Choose the channel hop interval.</string>
339 </property> 339 </property>
340 </widget> 340 </widget>
341 </hbox> 341 </hbox>
342 </widget> 342 </widget>
343 <widget> 343 <widget>
344 <class>QCheckBox</class> 344 <class>QCheckBox</class>
345 <property stdset="1"> 345 <property stdset="1">
346 <name>name</name> 346 <name>name</name>
347 <cstring>adaptiveHopping</cstring> 347 <cstring>adaptiveHopping</cstring>
348 </property> 348 </property>
349 <property stdset="1"> 349 <property stdset="1">
350 <name>enabled</name> 350 <name>enabled</name>
351 <bool>false</bool> 351 <bool>false</bool>
352 </property> 352 </property>
353 <property stdset="1"> 353 <property stdset="1">
354 <name>text</name> 354 <name>text</name>
355 <string>Use Adaptive(TM) Hop Scheme</string> 355 <string>Use Adaptive(TM) Hop Scheme</string>
356 </property> 356 </property>
357 </widget> 357 </widget>
358 <widget> 358 <widget>
359 <class>QGroupBox</class> 359 <class>QGroupBox</class>
360 <property stdset="1"> 360 <property stdset="1">
361 <name>name</name> 361 <name>name</name>
362 <cstring>GroupBox1</cstring> 362 <cstring>GroupBox1</cstring>
363 </property> 363 </property>
364 <property stdset="1"> 364 <property stdset="1">
365 <name>enabled</name> 365 <name>enabled</name>
366 <bool>false</bool> 366 <bool>false</bool>
367 </property> 367 </property>
368 <property stdset="1"> 368 <property stdset="1">
369 <name>title</name> 369 <name>title</name>
370 <string>Scan on channel</string> 370 <string>Scan on channel</string>
371 </property> 371 </property>
372 <property> 372 <property>
373 <name>layoutMargin</name> 373 <name>layoutMargin</name>
374 </property> 374 </property>
375 <property> 375 <property>
376 <name>layoutSpacing</name> 376 <name>layoutSpacing</name>
377 </property> 377 </property>
378 <grid> 378 <grid>
379 <property stdset="1"> 379 <property stdset="1">
380 <name>margin</name> 380 <name>margin</name>
381 <number>4</number> 381 <number>4</number>
382 </property> 382 </property>
383 <property stdset="1"> 383 <property stdset="1">
384 <name>spacing</name> 384 <name>spacing</name>
385 <number>2</number> 385 <number>2</number>
386 </property> 386 </property>
387 <widget row="1" column="1" > 387 <widget row="1" column="1" >
388 <class>QCheckBox</class> 388 <class>QCheckBox</class>
389 <property stdset="1"> 389 <property stdset="1">
390 <name>name</name> 390 <name>name</name>
391 <cstring>channel6</cstring> 391 <cstring>channel6</cstring>
392 </property> 392 </property>
393 <property stdset="1"> 393 <property stdset="1">
394 <name>text</name> 394 <name>text</name>
395 <string>6</string> 395 <string>6</string>
396 </property> 396 </property>
397 </widget> 397 </widget>
398 <widget row="1" column="3" > 398 <widget row="1" column="3" >
399 <class>QCheckBox</class> 399 <class>QCheckBox</class>
400 <property stdset="1"> 400 <property stdset="1">
401 <name>name</name> 401 <name>name</name>
402 <cstring>channel8</cstring> 402 <cstring>channel8</cstring>
403 </property> 403 </property>
404 <property stdset="1"> 404 <property stdset="1">
405 <name>text</name> 405 <name>text</name>
406 <string>8</string> 406 <string>8</string>
407 </property> 407 </property>
408 </widget> 408 </widget>
409 <widget row="0" column="2" > 409 <widget row="0" column="2" >
410 <class>QCheckBox</class> 410 <class>QCheckBox</class>
411 <property stdset="1"> 411 <property stdset="1">
412 <name>name</name> 412 <name>name</name>
413 <cstring>channel2</cstring> 413 <cstring>channel2</cstring>
414 </property> 414 </property>
415 <property stdset="1"> 415 <property stdset="1">
416 <name>text</name> 416 <name>text</name>
417 <string>2</string> 417 <string>2</string>
418 </property> 418 </property>
419 </widget> 419 </widget>
420 <widget row="1" column="4" > 420 <widget row="1" column="4" >
421 <class>QCheckBox</class> 421 <class>QCheckBox</class>
422 <property stdset="1"> 422 <property stdset="1">
423 <name>name</name> 423 <name>name</name>
424 <cstring>channel9</cstring> 424 <cstring>channel9</cstring>
425 </property> 425 </property>
426 <property stdset="1"> 426 <property stdset="1">
427 <name>text</name> 427 <name>text</name>
428 <string>9</string> 428 <string>9</string>
429 </property> 429 </property>
430 </widget> 430 </widget>
431 <widget row="0" column="1" > 431 <widget row="0" column="1" >
432 <class>QCheckBox</class> 432 <class>QCheckBox</class>
433 <property stdset="1"> 433 <property stdset="1">
434 <name>name</name> 434 <name>name</name>
435 <cstring>channel1</cstring> 435 <cstring>channel1</cstring>
436 </property> 436 </property>
437 <property stdset="1"> 437 <property stdset="1">
438 <name>text</name> 438 <name>text</name>
439 <string>1</string> 439 <string>1</string>
440 </property> 440 </property>
441 </widget> 441 </widget>
442 <widget row="0" column="0" > 442 <widget row="0" column="0" >
443 <class>QCheckBox</class> 443 <class>QCheckBox</class>
444 <property stdset="1"> 444 <property stdset="1">
445 <name>name</name> 445 <name>name</name>
446 <cstring>channelAll</cstring> 446 <cstring>channelAll</cstring>
447 </property> 447 </property>
448 <property stdset="1"> 448 <property stdset="1">
449 <name>text</name> 449 <name>text</name>
450 <string>All</string> 450 <string>All</string>
451 </property> 451 </property>
452 </widget> 452 </widget>
453 <widget row="2" column="1" > 453 <widget row="2" column="1" >
454 <class>QCheckBox</class> 454 <class>QCheckBox</class>
455 <property stdset="1"> 455 <property stdset="1">
456 <name>name</name> 456 <name>name</name>
457 <cstring>channel11</cstring> 457 <cstring>channel11</cstring>
458 </property> 458 </property>
459 <property stdset="1"> 459 <property stdset="1">
460 <name>text</name> 460 <name>text</name>
461 <string>11</string> 461 <string>11</string>
462 </property> 462 </property>
463 </widget> 463 </widget>
464 <widget row="2" column="0" > 464 <widget row="2" column="0" >
465 <class>QCheckBox</class> 465 <class>QCheckBox</class>
466 <property stdset="1"> 466 <property stdset="1">
467 <name>name</name> 467 <name>name</name>
468 <cstring>channel10</cstring> 468 <cstring>channel10</cstring>
469 </property> 469 </property>
470 <property stdset="1"> 470 <property stdset="1">
471 <name>text</name> 471 <name>text</name>
472 <string>10</string> 472 <string>10</string>
473 </property> 473 </property>
474 </widget> 474 </widget>
475 <widget row="1" column="2" > 475 <widget row="1" column="2" >
476 <class>QCheckBox</class> 476 <class>QCheckBox</class>
477 <property stdset="1"> 477 <property stdset="1">
478 <name>name</name> 478 <name>name</name>
479 <cstring>channel7</cstring> 479 <cstring>channel7</cstring>
480 </property> 480 </property>
481 <property stdset="1"> 481 <property stdset="1">
482 <name>text</name> 482 <name>text</name>
483 <string>7</string> 483 <string>7</string>
484 </property> 484 </property>
485 </widget> 485 </widget>
486 <widget row="0" column="3" > 486 <widget row="0" column="3" >
487 <class>QCheckBox</class> 487 <class>QCheckBox</class>
488 <property stdset="1"> 488 <property stdset="1">
489 <name>name</name> 489 <name>name</name>
490 <cstring>channel3</cstring> 490 <cstring>channel3</cstring>
491 </property> 491 </property>
492 <property stdset="1"> 492 <property stdset="1">
493 <name>text</name> 493 <name>text</name>
494 <string>3</string> 494 <string>3</string>
495 </property> 495 </property>
496 </widget> 496 </widget>
497 <widget row="1" column="0" > 497 <widget row="1" column="0" >
498 <class>QCheckBox</class> 498 <class>QCheckBox</class>
499 <property stdset="1"> 499 <property stdset="1">
500 <name>name</name> 500 <name>name</name>
501 <cstring>channel5</cstring> 501 <cstring>channel5</cstring>
502 </property> 502 </property>
503 <property stdset="1"> 503 <property stdset="1">
504 <name>text</name> 504 <name>text</name>
505 <string>5</string> 505 <string>5</string>
506 </property> 506 </property>
507 </widget> 507 </widget>
508 <widget row="0" column="4" > 508 <widget row="0" column="4" >
509 <class>QCheckBox</class> 509 <class>QCheckBox</class>
510 <property stdset="1"> 510 <property stdset="1">
511 <name>name</name> 511 <name>name</name>
512 <cstring>channel4</cstring> 512 <cstring>channel4</cstring>
513 </property> 513 </property>
514 <property stdset="1"> 514 <property stdset="1">
515 <name>text</name> 515 <name>text</name>
516 <string>4</string> 516 <string>4</string>
517 </property> 517 </property>
518 </widget> 518 </widget>
519 <widget row="2" column="2" > 519 <widget row="2" column="2" >
520 <class>QCheckBox</class> 520 <class>QCheckBox</class>
521 <property stdset="1"> 521 <property stdset="1">
522 <name>name</name> 522 <name>name</name>
523 <cstring>channel12</cstring> 523 <cstring>channel12</cstring>
524 </property> 524 </property>
525 <property stdset="1"> 525 <property stdset="1">
526 <name>text</name> 526 <name>text</name>
527 <string>12</string> 527 <string>12</string>
528 </property> 528 </property>
529 </widget> 529 </widget>
530 <widget row="2" column="3" > 530 <widget row="2" column="3" >
531 <class>QCheckBox</class> 531 <class>QCheckBox</class>
532 <property stdset="1"> 532 <property stdset="1">
533 <name>name</name> 533 <name>name</name>
534 <cstring>channel13</cstring> 534 <cstring>channel13</cstring>
535 </property> 535 </property>
536 <property stdset="1"> 536 <property stdset="1">
537 <name>text</name> 537 <name>text</name>
538 <string>13</string> 538 <string>13</string>
539 </property> 539 </property>
540 </widget> 540 </widget>
541 <widget row="2" column="4" > 541 <widget row="2" column="4" >
542 <class>QCheckBox</class> 542 <class>QCheckBox</class>
543 <property stdset="1"> 543 <property stdset="1">
544 <name>name</name> 544 <name>name</name>
545 <cstring>channel14</cstring> 545 <cstring>channel14</cstring>
546 </property> 546 </property>
547 <property stdset="1"> 547 <property stdset="1">
548 <name>text</name> 548 <name>text</name>
549 <string>14</string> 549 <string>14</string>
550 </property> 550 </property>
551 </widget> 551 </widget>
552 </grid> 552 </grid>
553 </widget> 553 </widget>
554 </vbox> 554 </vbox>
555 </widget> 555 </widget>
556 <widget> 556 <widget>
557 <class>QWidget</class> 557 <class>QWidget</class>
558 <property stdset="1"> 558 <property stdset="1">
559 <name>name</name> 559 <name>name</name>
560 <cstring>tab</cstring> 560 <cstring>tab</cstring>
561 </property> 561 </property>
562 <attribute> 562 <attribute>
563 <name>title</name> 563 <name>title</name>
564 <string>Capture</string> 564 <string>Capture</string>
565 </attribute> 565 </attribute>
566 <grid> 566 <grid>
567 <property stdset="1"> 567 <property stdset="1">
568 <name>margin</name> 568 <name>margin</name>
569 <number>5</number> 569 <number>5</number>
570 </property> 570 </property>
571 <property stdset="1"> 571 <property stdset="1">
572 <name>spacing</name> 572 <name>spacing</name>
573 <number>3</number> 573 <number>3</number>
574 </property> 574 </property>
575 <widget row="2" column="0" rowspan="1" colspan="3" > 575 <widget row="2" column="0" rowspan="1" colspan="3" >
576 <class>ProtocolListView</class> 576 <class>ProtocolListView</class>
577 <property stdset="1"> 577 <property stdset="1">
578 <name>name</name> 578 <name>name</name>
579 <cstring>capturePackets</cstring> 579 <cstring>capturePackets</cstring>
580 </property> 580 </property>
581 <property stdset="1"> 581 <property stdset="1">
582 <name>enabled</name> 582 <name>enabled</name>
583 <bool>false</bool> 583 <bool>false</bool>
584 </property> 584 </property>
585 <property stdset="1"> 585 <property stdset="1">
586 <name>sizePolicy</name> 586 <name>sizePolicy</name>
587 <sizepolicy> 587 <sizepolicy>
588 <hsizetype>7</hsizetype> 588 <hsizetype>7</hsizetype>
589 <vsizetype>7</vsizetype> 589 <vsizetype>7</vsizetype>
590 </sizepolicy> 590 </sizepolicy>
591 </property> 591 </property>
592 </widget> 592 </widget>
593 <widget row="1" column="0" rowspan="1" colspan="3" > 593 <widget row="1" column="0" rowspan="1" colspan="3" >
594 <class>QLineEdit</class> 594 <class>QLineEdit</class>
595 <property stdset="1"> 595 <property stdset="1">
596 <name>name</name> 596 <name>name</name>
597 <cstring>captureFileName</cstring> 597 <cstring>captureFileName</cstring>
598 </property> 598 </property>
599 <property stdset="1"> 599 <property stdset="1">
600 <name>enabled</name> 600 <name>enabled</name>
601 <bool>false</bool> 601 <bool>false</bool>
602 </property> 602 </property>
603 <property stdset="1"> 603 <property stdset="1">
604 <name>text</name> 604 <name>text</name>
605 <string>/tmp/capture</string> 605 <string>/tmp/capture</string>
606 </property> 606 </property>
607 </widget> 607 </widget>
608 <widget row="0" column="2" > 608 <widget row="0" column="2" >
609 <class>QToolButton</class> 609 <class>QToolButton</class>
610 <property stdset="1"> 610 <property stdset="1">
611 <name>name</name> 611 <name>name</name>
612 <cstring>getCaptureFileName</cstring> 612 <cstring>getCaptureFileName</cstring>
613 </property> 613 </property>
614 <property stdset="1"> 614 <property stdset="1">
615 <name>enabled</name> 615 <name>enabled</name>
616 <bool>false</bool> 616 <bool>false</bool>
617 </property> 617 </property>
618 <property stdset="1"> 618 <property stdset="1">
619 <name>text</name> 619 <name>text</name>
620 <string>Browse</string> 620 <string>Browse</string>
621 </property> 621 </property>
622 </widget> 622 </widget>
623 <spacer row="0" column="1" > 623 <spacer row="0" column="1" >
624 <property> 624 <property>
625 <name>name</name> 625 <name>name</name>
626 <cstring>Spacer2</cstring> 626 <cstring>Spacer2</cstring>
627 </property> 627 </property>
628 <property stdset="1"> 628 <property stdset="1">
629 <name>orientation</name> 629 <name>orientation</name>
630 <enum>Horizontal</enum> 630 <enum>Horizontal</enum>
631 </property> 631 </property>
632 <property stdset="1"> 632 <property stdset="1">
633 <name>sizeType</name> 633 <name>sizeType</name>
634 <enum>Expanding</enum> 634 <enum>Expanding</enum>
635 </property> 635 </property>
636 <property> 636 <property>
637 <name>sizeHint</name> 637 <name>sizeHint</name>
638 <size> 638 <size>
639 <width>20</width> 639 <width>20</width>
640 <height>20</height> 640 <height>20</height>
641 </size> 641 </size>
642 </property> 642 </property>
643 </spacer> 643 </spacer>
644 <widget row="0" column="0" > 644 <widget row="0" column="0" >
645 <class>QCheckBox</class> 645 <class>QCheckBox</class>
646 <property stdset="1"> 646 <property stdset="1">
647 <name>name</name> 647 <name>name</name>
648 <cstring>writeCaptureFile</cstring> 648 <cstring>writeCaptureFile</cstring>
649 </property> 649 </property>
650 <property stdset="1"> 650 <property stdset="1">
651 <name>enabled</name> 651 <name>enabled</name>
652 <bool>true</bool> 652 <bool>true</bool>
653 </property> 653 </property>
654 <property stdset="1"> 654 <property stdset="1">
655 <name>text</name> 655 <name>text</name>
656 <string>Write Capture Files To</string> 656 <string>Write Capture Files To</string>
657 </property> 657 </property>
658 </widget> 658 </widget>
659 </grid> 659 </grid>
660 </widget> 660 </widget>
661 <widget> 661 <widget>
662 <class>QWidget</class> 662 <class>QWidget</class>
663 <property stdset="1"> 663 <property stdset="1">
664 <name>name</name> 664 <name>name</name>
665 <cstring>tab</cstring> 665 <cstring>tab</cstring>
666 </property> 666 </property>
667 <attribute> 667 <attribute>
668 <name>title</name> 668 <name>title</name>
669 <string>Parse</string> 669 <string>Parse</string>
670 </attribute> 670 </attribute>
671 <grid> 671 <grid>
672 <property stdset="1"> 672 <property stdset="1">
673 <name>margin</name> 673 <name>margin</name>
674 <number>5</number> 674 <number>5</number>
675 </property> 675 </property>
676 <property stdset="1"> 676 <property stdset="1">
677 <name>spacing</name> 677 <name>spacing</name>
678 <number>3</number> 678 <number>3</number>
679 </property> 679 </property>
680 <widget row="0" column="0" > 680 <widget row="0" column="0" >
681 <class>ProtocolListView</class> 681 <class>ProtocolListView</class>
682 <property stdset="1"> 682 <property stdset="1">
683 <name>name</name> 683 <name>name</name>
684 <cstring>parsePackets</cstring> 684 <cstring>parsePackets</cstring>
685 </property> 685 </property>
686 <property stdset="1"> 686 <property stdset="1">
687 <name>sizePolicy</name> 687 <name>sizePolicy</name>
688 <sizepolicy> 688 <sizepolicy>
689 <hsizetype>7</hsizetype> 689 <hsizetype>7</hsizetype>
690 <vsizetype>7</vsizetype> 690 <vsizetype>7</vsizetype>
691 </sizepolicy> 691 </sizepolicy>
692 </property> 692 </property>
693 </widget> 693 </widget>
694 </grid> 694 </grid>
695 </widget> 695 </widget>
696 <widget> 696 <widget>
697 <class>QWidget</class> 697 <class>QWidget</class>
698 <property stdset="1"> 698 <property stdset="1">
699 <name>name</name> 699 <name>name</name>
700 <cstring>tab</cstring> 700 <cstring>tab</cstring>
701 </property> 701 </property>
702 <attribute> 702 <attribute>
703 <name>title</name> 703 <name>title</name>
704 <string>UI</string> 704 <string>UI</string>
705 </attribute> 705 </attribute>
706 <vbox> 706 <vbox>
707 <property stdset="1"> 707 <property stdset="1">
708 <name>margin</name> 708 <name>margin</name>
709 <number>5</number> 709 <number>5</number>
710 </property> 710 </property>
711 <property stdset="1"> 711 <property stdset="1">
712 <name>spacing</name> 712 <name>spacing</name>
713 <number>3</number> 713 <number>3</number>
714 </property> 714 </property>
715 <widget> 715 <widget>
716 <class>QCheckBox</class> 716 <class>QCheckBox</class>
717 <property stdset="1"> 717 <property stdset="1">
718 <name>name</name> 718 <name>name</name>
719 <cstring>lookupVendor</cstring> 719 <cstring>lookupVendor</cstring>
720 </property> 720 </property>
721 <property stdset="1"> 721 <property stdset="1">
722 <name>text</name> 722 <name>text</name>
723 <string>Lookup MAC vendor names</string> 723 <string>Lookup MAC vendor names</string>
724 </property> 724 </property>
725 </widget> 725 </widget>
726 <widget> 726 <widget>
727 <class>QCheckBox</class> 727 <class>QCheckBox</class>
728 <property stdset="1"> 728 <property stdset="1">
729 <name>name</name> 729 <name>name</name>
730 <cstring>openTree</cstring> 730 <cstring>openTree</cstring>
731 </property> 731 </property>
732 <property stdset="1"> 732 <property stdset="1">
733 <name>text</name> 733 <name>text</name>
734 <string>Open Tree On New Station</string> 734 <string>Open Tree On New Station</string>
735 </property> 735 </property>
736 </widget> 736 </widget>
737 <widget> 737 <widget>
738 <class>QCheckBox</class> 738 <class>QCheckBox</class>
739 <property stdset="1"> 739 <property stdset="1">
740 <name>name</name> 740 <name>name</name>
741 <cstring>disablePM</cstring> 741 <cstring>disablePM</cstring>
742 </property> 742 </property>
743 <property stdset="1"> 743 <property stdset="1">
744 <name>text</name> 744 <name>text</name>
745 <string>Disable Power Management</string> 745 <string>Disable Power Management</string>
746 </property> 746 </property>
747 </widget> 747 </widget>
748 <spacer> 748 <spacer>
749 <property> 749 <property>
750 <name>name</name> 750 <name>name</name>
751 <cstring>Spacer3</cstring> 751 <cstring>Spacer3</cstring>
752 </property> 752 </property>
753 <property stdset="1"> 753 <property stdset="1">
754 <name>orientation</name> 754 <name>orientation</name>
755 <enum>Vertical</enum> 755 <enum>Vertical</enum>
756 </property> 756 </property>
757 <property stdset="1"> 757 <property stdset="1">
758 <name>sizeType</name> 758 <name>sizeType</name>
759 <enum>Expanding</enum> 759 <enum>Expanding</enum>
760 </property> 760 </property>
761 <property> 761 <property>
762 <name>sizeHint</name> 762 <name>sizeHint</name>
763 <size> 763 <size>
764 <width>20</width> 764 <width>20</width>
765 <height>20</height> 765 <height>20</height>
766 </size> 766 </size>
767 </property> 767 </property>
768 </spacer> 768 </spacer>
769 <widget> 769 <widget>
770 <class>QGroupBox</class> 770 <class>QGroupBox</class>
771 <property stdset="1"> 771 <property stdset="1">
772 <name>name</name> 772 <name>name</name>
773 <cstring>GroupBox4_2</cstring> 773 <cstring>GroupBox4_2</cstring>
774 </property> 774 </property>
775 <property stdset="1"> 775 <property stdset="1">
776 <name>enabled</name> 776 <name>enabled</name>
777 <bool>true</bool> 777 <bool>true</bool>
778 </property> 778 </property>
779 <property stdset="1"> 779 <property stdset="1">
780 <name>title</name> 780 <name>title</name>
781 <string>Action on detecting a new</string> 781 <string>Action on detecting a new</string>
782 </property> 782 </property>
783 <property> 783 <property>
784 <name>layoutMargin</name> 784 <name>layoutMargin</name>
785 </property> 785 </property>
786 <property> 786 <property>
787 <name>layoutSpacing</name> 787 <name>layoutSpacing</name>
788 </property> 788 </property>
789 <grid> 789 <grid>
790 <property stdset="1"> 790 <property stdset="1">
791 <name>margin</name> 791 <name>margin</name>
792 <number>3</number> 792 <number>3</number>
793 </property> 793 </property>
794 <property stdset="1"> 794 <property stdset="1">
795 <name>spacing</name> 795 <name>spacing</name>
796 <number>0</number> 796 <number>0</number>
797 </property> 797 </property>
798 <widget row="0" column="0" > 798 <widget row="0" column="0" >
799 <class>QLayoutWidget</class> 799 <class>QLayoutWidget</class>
800 <property stdset="1"> 800 <property stdset="1">
801 <name>name</name> 801 <name>name</name>
802 <cstring>Layout6</cstring> 802 <cstring>Layout6</cstring>
803 </property> 803 </property>
804 <property> 804 <property>
805 <name>layoutMargin</name> 805 <name>layoutMargin</name>
806 </property> 806 </property>
807 <property> 807 <property>
808 <name>layoutSpacing</name> 808 <name>layoutSpacing</name>
809 </property> 809 </property>
810 <grid> 810 <grid>
811 <property stdset="1"> 811 <property stdset="1">
812 <name>margin</name> 812 <name>margin</name>
813 <number>2</number> 813 <number>2</number>
814 </property> 814 </property>
815 <property stdset="1"> 815 <property stdset="1">
816 <name>spacing</name> 816 <name>spacing</name>
817 <number>2</number> 817 <number>2</number>
818 </property> 818 </property>
819 <widget row="4" column="0" > 819 <widget row="4" column="0" >
820 <class>QLabel</class> 820 <class>QLabel</class>
821 <property stdset="1"> 821 <property stdset="1">
822 <name>name</name> 822 <name>name</name>
823 <cstring>TextLabel3</cstring> 823 <cstring>TextLabel3</cstring>
824 </property> 824 </property>
825 <property stdset="1"> 825 <property stdset="1">
826 <name>text</name> 826 <name>text</name>
827 <string>Wired Station:</string> 827 <string>Wired Station:</string>
828 </property> 828 </property>
829 </widget> 829 </widget>
830 <widget row="0" column="0" > 830 <widget row="0" column="0" >
831 <class>QLabel</class> 831 <class>QLabel</class>
832 <property stdset="1"> 832 <property stdset="1">
833 <name>name</name> 833 <name>name</name>
834 <cstring>TextLabel1_3</cstring> 834 <cstring>TextLabel1_3</cstring>
835 </property> 835 </property>
836 <property stdset="1"> 836 <property stdset="1">
837 <name>text</name> 837 <name>text</name>
838 <string>Network:</string> 838 <string>Network:</string>
839 </property> 839 </property>
840 </widget> 840 </widget>
841 <widget row="2" column="1" > 841 <widget row="2" column="1" >
842 <class>QComboBox</class> 842 <class>QComboBox</class>
843 <item> 843 <item>
844 <property> 844 <property>
845 <name>text</name> 845 <name>text</name>
846 <string>&lt;Ignore&gt;</string> 846 <string>&lt;Ignore&gt;</string>
847 </property> 847 </property>
848 </item> 848 </item>
849 <item> 849 <item>
850 <property> 850 <property>
851 <name>text</name> 851 <name>text</name>
852 <string>Play Alarm</string> 852 <string>Play Alarm</string>
853 </property> 853 </property>
854 </item> 854 </item>
855 <item> 855 <item>
856 <property> 856 <property>
857 <name>text</name> 857 <name>text</name>
858 <string>Play Click</string> 858 <string>Play Click</string>
859 </property> 859 </property>
860 </item> 860 </item>
861 <item> 861 <item>
862 <property> 862 <property>
863 <name>text</name> 863 <name>text</name>
864 <string>Blink LED</string> 864 <string>Blink LED</string>
865 </property> 865 </property>
866 </item> 866 </item>
867 <item> 867 <item>
868 <property> 868 <property>
869 <name>text</name> 869 <name>text</name>
870 <string>Run Script</string> 870 <string>Run Script</string>
871 </property> 871 </property>
872 </item> 872 </item>
873 <property stdset="1"> 873 <property stdset="1">
874 <name>name</name> 874 <name>name</name>
875 <cstring>newClientAction</cstring> 875 <cstring>newClientAction</cstring>
876 </property> 876 </property>
877 <property stdset="1"> 877 <property stdset="1">
878 <name>sizePolicy</name> 878 <name>sizePolicy</name>
879 <sizepolicy> 879 <sizepolicy>
880 <hsizetype>7</hsizetype> 880 <hsizetype>7</hsizetype>
881 <vsizetype>0</vsizetype> 881 <vsizetype>0</vsizetype>
882 </sizepolicy> 882 </sizepolicy>
883 </property> 883 </property>
884 </widget> 884 </widget>
885 <widget row="3" column="0" rowspan="1" colspan="2" > 885 <widget row="3" column="0" rowspan="1" colspan="2" >
886 <class>QLineEdit</class> 886 <class>QLineEdit</class>
887 <property stdset="1"> 887 <property stdset="1">
888 <name>name</name> 888 <name>name</name>
889 <cstring>newClientScript</cstring> 889 <cstring>newClientScript</cstring>
890 </property> 890 </property>
891 <property stdset="1"> 891 <property stdset="1">
892 <name>enabled</name> 892 <name>enabled</name>
893 <bool>true</bool> 893 <bool>true</bool>
894 </property> 894 </property>
895 </widget> 895 </widget>
896 <widget row="2" column="0" > 896 <widget row="2" column="0" >
897 <class>QLabel</class> 897 <class>QLabel</class>
898 <property stdset="1"> 898 <property stdset="1">
899 <name>name</name> 899 <name>name</name>
900 <cstring>TextLabel2</cstring> 900 <cstring>TextLabel2</cstring>
901 </property> 901 </property>
902 <property stdset="1"> 902 <property stdset="1">
903 <name>text</name> 903 <name>text</name>
904 <string>Wireless Station:</string> 904 <string>Wireless Station:</string>
905 </property> 905 </property>
906 </widget> 906 </widget>
907 <widget row="4" column="1" > 907 <widget row="4" column="1" >
908 <class>QComboBox</class> 908 <class>QComboBox</class>
909 <item> 909 <item>
910 <property> 910 <property>
911 <name>text</name> 911 <name>text</name>
912 <string>&lt;Ignore&gt;</string> 912 <string>&lt;Ignore&gt;</string>
913 </property> 913 </property>
914 </item> 914 </item>
915 <item> 915 <item>
916 <property> 916 <property>
917 <name>text</name> 917 <name>text</name>
918 <string>Play Alarm</string> 918 <string>Play Alarm</string>
919 </property> 919 </property>
920 </item> 920 </item>
921 <item> 921 <item>
922 <property> 922 <property>
923 <name>text</name> 923 <name>text</name>
924 <string>Play Click</string> 924 <string>Play Click</string>
925 </property> 925 </property>
926 </item> 926 </item>
927 <item> 927 <item>
928 <property> 928 <property>
929 <name>text</name> 929 <name>text</name>
930 <string>Blink LED</string> 930 <string>Blink LED</string>
931 </property> 931 </property>
932 </item> 932 </item>
933 <item> 933 <item>
934 <property> 934 <property>
935 <name>text</name> 935 <name>text</name>
936 <string>Run Script</string> 936 <string>Run Script</string>
937 </property> 937 </property>
938 </item> 938 </item>
939 <property stdset="1"> 939 <property stdset="1">
940 <name>name</name> 940 <name>name</name>
941 <cstring>newStationAction</cstring> 941 <cstring>newStationAction</cstring>
942 </property> 942 </property>
943 <property stdset="1"> 943 <property stdset="1">
944 <name>sizePolicy</name> 944 <name>sizePolicy</name>
945 <sizepolicy> 945 <sizepolicy>
946 <hsizetype>7</hsizetype> 946 <hsizetype>7</hsizetype>
947 <vsizetype>0</vsizetype> 947 <vsizetype>0</vsizetype>
948 </sizepolicy> 948 </sizepolicy>
949 </property> 949 </property>
950 </widget> 950 </widget>
951 <widget row="0" column="1" > 951 <widget row="0" column="1" >
952 <class>QComboBox</class> 952 <class>QComboBox</class>
953 <item> 953 <item>
954 <property> 954 <property>
955 <name>text</name> 955 <name>text</name>
956 <string>&lt;Ignore&gt;</string> 956 <string>&lt;Ignore&gt;</string>
957 </property> 957 </property>
958 </item> 958 </item>
959 <item> 959 <item>
960 <property> 960 <property>
961 <name>text</name> 961 <name>text</name>
962 <string>Play Alarm</string> 962 <string>Play Alarm</string>
963 </property> 963 </property>
964 </item> 964 </item>
965 <item> 965 <item>
966 <property> 966 <property>
967 <name>text</name> 967 <name>text</name>
968 <string>Play Click</string> 968 <string>Play Click</string>
969 </property> 969 </property>
970 </item> 970 </item>
971 <item> 971 <item>
972 <property> 972 <property>
973 <name>text</name> 973 <name>text</name>
974 <string>Blink LED</string> 974 <string>Blink LED</string>
975 </property> 975 </property>
976 </item> 976 </item>
977 <item> 977 <item>
978 <property> 978 <property>
979 <name>text</name> 979 <name>text</name>
980 <string>Run Script</string> 980 <string>Run Script</string>
981 </property> 981 </property>
982 </item> 982 </item>
983 <property stdset="1"> 983 <property stdset="1">
984 <name>name</name> 984 <name>name</name>
985 <cstring>newNetworkAction</cstring> 985 <cstring>newNetworkAction</cstring>
986 </property> 986 </property>
987 <property stdset="1"> 987 <property stdset="1">
988 <name>sizePolicy</name> 988 <name>sizePolicy</name>
989 <sizepolicy> 989 <sizepolicy>
990 <hsizetype>7</hsizetype> 990 <hsizetype>7</hsizetype>
991 <vsizetype>0</vsizetype> 991 <vsizetype>0</vsizetype>
992 </sizepolicy> 992 </sizepolicy>
993 </property> 993 </property>
994 <property stdset="1"> 994 <property stdset="1">
995 <name>editable</name> 995 <name>editable</name>
996 <bool>false</bool> 996 <bool>false</bool>
997 </property> 997 </property>
998 </widget> 998 </widget>
999 <widget row="1" column="0" rowspan="1" colspan="2" > 999 <widget row="1" column="0" rowspan="1" colspan="2" >
1000 <class>QLineEdit</class> 1000 <class>QLineEdit</class>
1001 <property stdset="1"> 1001 <property stdset="1">
1002 <name>name</name> 1002 <name>name</name>
1003 <cstring>newNetworkScript</cstring> 1003 <cstring>newNetworkScript</cstring>
1004 </property> 1004 </property>
1005 <property stdset="1"> 1005 <property stdset="1">
1006 <name>enabled</name> 1006 <name>enabled</name>
1007 <bool>true</bool> 1007 <bool>true</bool>
1008 </property> 1008 </property>
1009 </widget> 1009 </widget>
1010 <widget row="5" column="0" rowspan="1" colspan="2" > 1010 <widget row="5" column="0" rowspan="1" colspan="2" >
1011 <class>QLineEdit</class> 1011 <class>QLineEdit</class>
1012 <property stdset="1"> 1012 <property stdset="1">
1013 <name>name</name> 1013 <name>name</name>
1014 <cstring>newStationScript</cstring> 1014 <cstring>newStationScript</cstring>
1015 </property> 1015 </property>
1016 <property stdset="1"> 1016 <property stdset="1">
1017 <name>enabled</name> 1017 <name>enabled</name>
1018 <bool>true</bool> 1018 <bool>true</bool>
1019 </property> 1019 </property>
1020 </widget> 1020 </widget>
1021 </grid> 1021 </grid>
1022 </widget> 1022 </widget>
1023 </grid> 1023 </grid>
1024 </widget> 1024 </widget>
1025 </vbox> 1025 </vbox>
1026 </widget> 1026 </widget>
1027 <widget> 1027 <widget>
1028 <class>QWidget</class> 1028 <class>QWidget</class>
1029 <property stdset="1"> 1029 <property stdset="1">
1030 <name>name</name> 1030 <name>name</name>
1031 <cstring>tab</cstring> 1031 <cstring>tab</cstring>
1032 </property> 1032 </property>
1033 <attribute> 1033 <attribute>
1034 <name>title</name> 1034 <name>title</name>
1035 <string>Intrusion</string> 1035 <string>Intrusion</string>
1036 </attribute> 1036 </attribute>
1037 <grid> 1037 <grid>
1038 <property stdset="1"> 1038 <property stdset="1">
1039 <name>margin</name> 1039 <name>margin</name>
1040 <number>6</number> 1040 <number>6</number>
1041 </property> 1041 </property>
1042 <property stdset="1"> 1042 <property stdset="1">
1043 <name>spacing</name> 1043 <name>spacing</name>
1044 <number>6</number> 1044 <number>6</number>
1045 </property> 1045 </property>
1046 <widget row="1" column="0" > 1046 <widget row="1" column="0" >
1047 <class>QGroupBox</class> 1047 <class>QGroupBox</class>
1048 <property stdset="1"> 1048 <property stdset="1">
1049 <name>name</name> 1049 <name>name</name>
1050 <cstring>GroupBox3</cstring> 1050 <cstring>GroupBox3</cstring>
1051 </property> 1051 </property>
1052 <property stdset="1"> 1052 <property stdset="1">
1053 <name>enabled</name> 1053 <name>enabled</name>
1054 <bool>false</bool> 1054 <bool>false</bool>
1055 </property> 1055 </property>
1056 <property stdset="1"> 1056 <property stdset="1">
1057 <name>title</name> 1057 <name>title</name>
1058 <string>Link Level</string> 1058 <string>Link Level</string>
1059 </property> 1059 </property>
1060 <grid> 1060 <grid>
1061 <property stdset="1"> 1061 <property stdset="1">
1062 <name>margin</name> 1062 <name>margin</name>
1063 <number>11</number> 1063 <number>11</number>
1064 </property> 1064 </property>
1065 <property stdset="1"> 1065 <property stdset="1">
1066 <name>spacing</name> 1066 <name>spacing</name>
1067 <number>6</number> 1067 <number>6</number>
1068 </property> 1068 </property>
1069 <widget row="0" column="0" > 1069 <widget row="0" column="0" >
1070 <class>QLabel</class> 1070 <class>QLabel</class>
1071 <property stdset="1"> 1071 <property stdset="1">
1072 <name>name</name> 1072 <name>name</name>
1073 <cstring>TextLabel1_5</cstring> 1073 <cstring>TextLabel1_5</cstring>
1074 </property> 1074 </property>
1075 <property stdset="1"> 1075 <property stdset="1">
1076 <name>text</name> 1076 <name>text</name>
1077 <string>Fake Mac:</string> 1077 <string>Fake Mac:</string>
1078 </property> 1078 </property>
1079 </widget> 1079 </widget>
1080 <widget row="1" column="0" rowspan="1" colspan="2" > 1080 <widget row="1" column="0" rowspan="1" colspan="2" >
1081 <class>QCheckBox</class> 1081 <class>QCheckBox</class>
1082 <property stdset="1"> 1082 <property stdset="1">
1083 <name>name</name> 1083 <name>name</name>
1084 <cstring>sendProbeRequests</cstring> 1084 <cstring>sendProbeRequests</cstring>
1085 </property> 1085 </property>
1086 <property stdset="1"> 1086 <property stdset="1">
1087 <name>text</name> 1087 <name>text</name>
1088 <string>Send proble requests</string> 1088 <string>Send proble requests</string>
1089 </property> 1089 </property>
1090 </widget> 1090 </widget>
1091 <widget row="0" column="1" > 1091 <widget row="0" column="1" >
1092 <class>QComboBox</class> 1092 <class>QComboBox</class>
1093 <item> 1093 <item>
1094 <property> 1094 <property>
1095 <name>text</name> 1095 <name>text</name>
1096 <string>&lt;automatic&gt;</string> 1096 <string>&lt;automatic&gt;</string>
1097 </property> 1097 </property>
1098 </item> 1098 </item>
1099 <item> 1099 <item>
1100 <property> 1100 <property>
1101 <name>text</name> 1101 <name>text</name>
1102 <string>44:44:44:44:44:44</string> 1102 <string>44:44:44:44:44:44</string>
1103 </property> 1103 </property>
1104 </item> 1104 </item>
1105 <property stdset="1"> 1105 <property stdset="1">
1106 <name>name</name> 1106 <name>name</name>
1107 <cstring>fakeMac</cstring> 1107 <cstring>fakeMac</cstring>
1108 </property> 1108 </property>
1109 <property stdset="1"> 1109 <property stdset="1">
1110 <name>sizePolicy</name> 1110 <name>sizePolicy</name>
1111 <sizepolicy> 1111 <sizepolicy>
1112 <hsizetype>7</hsizetype> 1112 <hsizetype>7</hsizetype>
1113 <vsizetype>0</vsizetype> 1113 <vsizetype>0</vsizetype>
1114 </sizepolicy> 1114 </sizepolicy>
1115 </property> 1115 </property>
1116 <property stdset="1"> 1116 <property stdset="1">
1117 <name>editable</name> 1117 <name>editable</name>
1118 <bool>true</bool> 1118 <bool>true</bool>
1119 </property> 1119 </property>
1120 <property stdset="1"> 1120 <property stdset="1">
1121 <name>currentItem</name> 1121 <name>currentItem</name>
1122 <number>1</number> 1122 <number>1</number>
1123 </property> 1123 </property>
1124 <property stdset="1"> 1124 <property stdset="1">
1125 <name>autoCompletion</name> 1125 <name>autoCompletion</name>
1126 <bool>true</bool> 1126 <bool>true</bool>
1127 </property> 1127 </property>
1128 </widget> 1128 </widget>
1129 <widget row="2" column="0" rowspan="1" colspan="2" > 1129 <widget row="2" column="0" rowspan="1" colspan="2" >
1130 <class>QCheckBox</class> 1130 <class>QCheckBox</class>
1131 <property stdset="1"> 1131 <property stdset="1">
1132 <name>name</name> 1132 <name>name</name>
1133 <cstring>tryToAuthenticate</cstring> 1133 <cstring>tryToAuthenticate</cstring>
1134 </property> 1134 </property>
1135 <property stdset="1"> 1135 <property stdset="1">
1136 <name>text</name> 1136 <name>text</name>
1137 <string>Try to authenticate</string> 1137 <string>Try to authenticate</string>
1138 </property> 1138 </property>
1139 </widget> 1139 </widget>
1140 </grid> 1140 </grid>
1141 </widget> 1141 </widget>
1142 <widget row="0" column="0" > 1142 <widget row="0" column="0" >
1143 <class>QCheckBox</class> 1143 <class>QCheckBox</class>
1144 <property stdset="1"> 1144 <property stdset="1">
1145 <name>name</name> 1145 <name>name</name>
1146 <cstring>enableActiveScanning</cstring> 1146 <cstring>enableActiveScanning</cstring>
1147 </property> 1147 </property>
1148 <property stdset="1"> 1148 <property stdset="1">
1149 <name>enabled</name> 1149 <name>enabled</name>
1150 <bool>false</bool> 1150 <bool>false</bool>
1151 </property> 1151 </property>
1152 <property stdset="1"> 1152 <property stdset="1">
1153 <name>text</name> 1153 <name>text</name>
1154 <string>Enable active scanning</string> 1154 <string>Enable active scanning</string>
1155 </property> 1155 </property>
1156 </widget> 1156 </widget>
1157 <widget row="2" column="0" > 1157 <widget row="2" column="0" >
1158 <class>QGroupBox</class> 1158 <class>QGroupBox</class>
1159 <property stdset="1"> 1159 <property stdset="1">
1160 <name>name</name> 1160 <name>name</name>
1161 <cstring>GroupBox4</cstring> 1161 <cstring>GroupBox4</cstring>
1162 </property> 1162 </property>
1163 <property stdset="1"> 1163 <property stdset="1">
1164 <name>enabled</name> 1164 <name>enabled</name>
1165 <bool>false</bool> 1165 <bool>false</bool>
1166 </property> 1166 </property>
1167 <property stdset="1"> 1167 <property stdset="1">
1168 <name>title</name> 1168 <name>title</name>
1169 <string>IP Level</string> 1169 <string>IP Level</string>
1170 </property> 1170 </property>
1171 <grid> 1171 <grid>
1172 <property stdset="1"> 1172 <property stdset="1">
1173 <name>margin</name> 1173 <name>margin</name>
1174 <number>11</number> 1174 <number>11</number>
1175 </property> 1175 </property>
1176 <property stdset="1"> 1176 <property stdset="1">
1177 <name>spacing</name> 1177 <name>spacing</name>
1178 <number>6</number> 1178 <number>6</number>
1179 </property> 1179 </property>
1180 <widget row="1" column="0" rowspan="1" colspan="2" > 1180 <widget row="1" column="0" rowspan="1" colspan="2" >
1181 <class>QCheckBox</class> 1181 <class>QCheckBox</class>
1182 <property stdset="1"> 1182 <property stdset="1">
1183 <name>name</name> 1183 <name>name</name>
1184 <cstring>CheckBox24</cstring> 1184 <cstring>CheckBox24</cstring>
1185 </property> 1185 </property>
1186 <property stdset="1"> 1186 <property stdset="1">
1187 <name>text</name> 1187 <name>text</name>
1188 <string>Request DHCP Address</string> 1188 <string>Request DHCP Address</string>
1189 </property> 1189 </property>
1190 </widget> 1190 </widget>
1191 <widget row="0" column="0" > 1191 <widget row="0" column="0" >
1192 <class>QLabel</class> 1192 <class>QLabel</class>
1193 <property stdset="1"> 1193 <property stdset="1">
1194 <name>name</name> 1194 <name>name</name>
1195 <cstring>TextLabel1_5_2</cstring> 1195 <cstring>TextLabel1_5_2</cstring>
1196 </property> 1196 </property>
1197 <property stdset="1"> 1197 <property stdset="1">
1198 <name>text</name> 1198 <name>text</name>
1199 <string>Fake IP:</string> 1199 <string>Fake IP:</string>
1200 </property> 1200 </property>
1201 </widget> 1201 </widget>
1202 <widget row="0" column="1" > 1202 <widget row="0" column="1" >
1203 <class>QComboBox</class> 1203 <class>QComboBox</class>
1204 <item> 1204 <item>
1205 <property> 1205 <property>
1206 <name>text</name> 1206 <name>text</name>
1207 <string>192.168.125.1</string> 1207 <string>192.168.125.1</string>
1208 </property> 1208 </property>
1209 </item> 1209 </item>
1210 <item> 1210 <item>
1211 <property> 1211 <property>
1212 <name>text</name> 1212 <name>text</name>
1213 <string>&lt;automatic&gt;</string> 1213 <string>&lt;automatic&gt;</string>
1214 </property> 1214 </property>
1215 </item> 1215 </item>
1216 <property stdset="1"> 1216 <property stdset="1">
1217 <name>name</name> 1217 <name>name</name>
1218 <cstring>fakeIP</cstring> 1218 <cstring>fakeIP</cstring>
1219 </property> 1219 </property>
1220 <property stdset="1"> 1220 <property stdset="1">
1221 <name>sizePolicy</name> 1221 <name>sizePolicy</name>
1222 <sizepolicy> 1222 <sizepolicy>
1223 <hsizetype>7</hsizetype> 1223 <hsizetype>7</hsizetype>
1224 <vsizetype>0</vsizetype> 1224 <vsizetype>0</vsizetype>
1225 </sizepolicy> 1225 </sizepolicy>
1226 </property> 1226 </property>
1227 <property stdset="1"> 1227 <property stdset="1">
1228 <name>editable</name> 1228 <name>editable</name>
1229 <bool>true</bool> 1229 <bool>true</bool>
1230 </property> 1230 </property>
1231 <property stdset="1"> 1231 <property stdset="1">
1232 <name>currentItem</name> 1232 <name>currentItem</name>
1233 <number>0</number> 1233 <number>0</number>
1234 </property> 1234 </property>
1235 </widget> 1235 </widget>
1236 </grid> 1236 </grid>
1237 </widget> 1237 </widget>
1238 </grid> 1238 </grid>
1239 </widget> 1239 </widget>
1240 <widget> 1240 <widget>
1241 <class>QWidget</class> 1241 <class>QWidget</class>
1242 <property stdset="1"> 1242 <property stdset="1">
1243 <name>name</name> 1243 <name>name</name>
1244 <cstring>tab</cstring> 1244 <cstring>tab</cstring>
1245 </property> 1245 </property>
1246 <attribute> 1246 <attribute>
1247 <name>title</name> 1247 <name>title</name>
1248 <string>GPS</string> 1248 <string>GPS</string>
1249 </attribute> 1249 </attribute>
1250 <grid> 1250 <grid>
1251 <property stdset="1"> 1251 <property stdset="1">
1252 <name>margin</name> 1252 <name>margin</name>
1253 <number>5</number> 1253 <number>5</number>
1254 </property> 1254 </property>
1255 <property stdset="1"> 1255 <property stdset="1">
1256 <name>spacing</name> 1256 <name>spacing</name>
1257 <number>4</number> 1257 <number>4</number>
1258 </property> 1258 </property>
1259 <widget row="0" column="0" > 1259 <widget row="0" column="0" >
1260 <class>QLayoutWidget</class> 1260 <class>QLayoutWidget</class>
1261 <property stdset="1"> 1261 <property stdset="1">
1262 <name>name</name> 1262 <name>name</name>
1263 <cstring>Layout6</cstring> 1263 <cstring>Layout6</cstring>
1264 </property> 1264 </property>
1265 <vbox> 1265 <vbox>
1266 <property stdset="1"> 1266 <property stdset="1">
1267 <name>margin</name> 1267 <name>margin</name>
1268 <number>0</number> 1268 <number>0</number>
1269 </property> 1269 </property>
1270 <property stdset="1"> 1270 <property stdset="1">
1271 <name>spacing</name> 1271 <name>spacing</name>
1272 <number>6</number> 1272 <number>6</number>
1273 </property> 1273 </property>
1274 <widget> 1274 <widget>
1275 <class>QCheckBox</class> 1275 <class>QCheckBox</class>
1276 <property stdset="1"> 1276 <property stdset="1">
1277 <name>name</name> 1277 <name>name</name>
1278 <cstring>enableGPS</cstring> 1278 <cstring>enableGPS</cstring>
1279 </property> 1279 </property>
1280 <property stdset="1"> 1280 <property stdset="1">
1281 <name>text</name> 1281 <name>text</name>
1282 <string>Enable GPS logging w/ gpsd</string> 1282 <string>Enable GPS logging w/ gpsd</string>
1283 </property> 1283 </property>
1284 </widget> 1284 </widget>
1285 <widget> 1285 <widget>
1286 <class>QLayoutWidget</class> 1286 <class>QLayoutWidget</class>
1287 <property stdset="1"> 1287 <property stdset="1">
1288 <name>name</name> 1288 <name>name</name>
1289 <cstring>Layout1</cstring> 1289 <cstring>Layout1</cstring>
1290 </property> 1290 </property>
1291 <hbox> 1291 <hbox>
1292 <property stdset="1"> 1292 <property stdset="1">
1293 <name>margin</name> 1293 <name>margin</name>
1294 <number>0</number> 1294 <number>0</number>
1295 </property> 1295 </property>
1296 <property stdset="1"> 1296 <property stdset="1">
1297 <name>spacing</name> 1297 <name>spacing</name>
1298 <number>6</number> 1298 <number>6</number>
1299 </property> 1299 </property>
1300 <widget> 1300 <widget>
1301 <class>QLabel</class> 1301 <class>QLabel</class>
1302 <property stdset="1"> 1302 <property stdset="1">
1303 <name>name</name> 1303 <name>name</name>
1304 <cstring>TextLabel1_4</cstring> 1304 <cstring>TextLabel1_4</cstring>
1305 </property> 1305 </property>
1306 <property stdset="1"> 1306 <property stdset="1">
1307 <name>text</name> 1307 <name>text</name>
1308 <string>Host</string> 1308 <string>Host</string>
1309 </property> 1309 </property>
1310 </widget> 1310 </widget>
1311 <widget> 1311 <widget>
1312 <class>QComboBox</class> 1312 <class>QComboBox</class>
1313 <item> 1313 <item>
1314 <property> 1314 <property>
1315 <name>text</name> 1315 <name>text</name>
1316 <string>localhost</string> 1316 <string>localhost</string>
1317 </property> 1317 </property>
1318 </item> 1318 </item>
1319 <property stdset="1"> 1319 <property stdset="1">
1320 <name>name</name> 1320 <name>name</name>
1321 <cstring>gpsdHost</cstring> 1321 <cstring>gpsdHost</cstring>
1322 </property> 1322 </property>
1323 <property stdset="1"> 1323 <property stdset="1">
1324 <name>enabled</name> 1324 <name>enabled</name>
1325 <bool>false</bool> 1325 <bool>false</bool>
1326 </property> 1326 </property>
1327 <property stdset="1"> 1327 <property stdset="1">
1328 <name>editable</name> 1328 <name>editable</name>
1329 <bool>true</bool> 1329 <bool>true</bool>
1330 </property> 1330 </property>
1331 <property stdset="1"> 1331 <property stdset="1">
1332 <name>currentItem</name> 1332 <name>currentItem</name>
1333 <number>0</number> 1333 <number>0</number>
1334 </property> 1334 </property>
1335 </widget> 1335 </widget>
1336 <widget> 1336 <widget>
1337 <class>QLabel</class> 1337 <class>QLabel</class>
1338 <property stdset="1"> 1338 <property stdset="1">
1339 <name>name</name> 1339 <name>name</name>
1340 <cstring>TextLabel2_2</cstring> 1340 <cstring>TextLabel2_2</cstring>
1341 </property> 1341 </property>
1342 <property stdset="1"> 1342 <property stdset="1">
1343 <name>text</name> 1343 <name>text</name>
1344 <string>:</string> 1344 <string>:</string>
1345 </property> 1345 </property>
1346 </widget> 1346 </widget>
1347 <widget> 1347 <widget>
1348 <class>QSpinBox</class> 1348 <class>QSpinBox</class>
1349 <property stdset="1"> 1349 <property stdset="1">
1350 <name>name</name> 1350 <name>name</name>
1351 <cstring>gpsdPort</cstring> 1351 <cstring>gpsdPort</cstring>
1352 </property> 1352 </property>
1353 <property stdset="1"> 1353 <property stdset="1">
1354 <name>enabled</name> 1354 <name>enabled</name>
1355 <bool>false</bool> 1355 <bool>false</bool>
1356 </property> 1356 </property>
1357 <property stdset="1"> 1357 <property stdset="1">
1358 <name>maxValue</name> 1358 <name>maxValue</name>
1359 <number>65535</number> 1359 <number>65535</number>
1360 </property> 1360 </property>
1361 <property stdset="1"> 1361 <property stdset="1">
1362 <name>minValue</name> 1362 <name>minValue</name>
1363 <number>1024</number> 1363 <number>1024</number>
1364 </property> 1364 </property>
1365 <property stdset="1"> 1365 <property stdset="1">
1366 <name>value</name> 1366 <name>value</name>
1367 <number>2947</number> 1367 <number>2947</number>
1368 </property> 1368 </property>
1369 </widget> 1369 </widget>
1370 </hbox> 1370 </hbox>
1371 </widget> 1371 </widget>
1372 <widget> 1372 <widget>
1373 <class>QCheckBox</class> 1373 <class>QCheckBox</class>
1374 <property stdset="1"> 1374 <property stdset="1">
1375 <name>name</name> 1375 <name>name</name>
1376 <cstring>startGPS</cstring> 1376 <cstring>startGPS</cstring>
1377 </property> 1377 </property>
1378 <property stdset="1"> 1378 <property stdset="1">
1379 <name>text</name> 1379 <name>text</name>
1380 <string>Start gpsd on localhost</string> 1380 <string>Start gpsd on localhost</string>
1381 </property> 1381 </property>
1382 </widget> 1382 </widget>
1383 <widget> 1383 <widget>
1384 <class>QLineEdit</class> 1384 <class>QLineEdit</class>
1385 <property stdset="1"> 1385 <property stdset="1">
1386 <name>name</name> 1386 <name>name</name>
1387 <cstring>commandGPS</cstring> 1387 <cstring>commandGPS</cstring>
1388 </property> 1388 </property>
1389 <property stdset="1"> 1389 <property stdset="1">
1390 <name>enabled</name> 1390 <name>enabled</name>
1391 <bool>false</bool> 1391 <bool>false</bool>
1392 </property> 1392 </property>
1393 <property stdset="1"> 1393 <property stdset="1">
1394 <name>text</name> 1394 <name>text</name>
1395 <string>gpsd -p /dev/ttyS3 -s 57600</string> 1395 <string>gpsd -p /dev/ttyS3 -s 4800</string>
1396 </property> 1396 </property>
1397 </widget> 1397 </widget>
1398 <spacer> 1398 <spacer>
1399 <property> 1399 <property>
1400 <name>name</name> 1400 <name>name</name>
1401 <cstring>Spacer4_2</cstring> 1401 <cstring>Spacer4_2</cstring>
1402 </property> 1402 </property>
1403 <property stdset="1"> 1403 <property stdset="1">
1404 <name>orientation</name> 1404 <name>orientation</name>
1405 <enum>Vertical</enum> 1405 <enum>Vertical</enum>
1406 </property> 1406 </property>
1407 <property stdset="1"> 1407 <property stdset="1">
1408 <name>sizeType</name> 1408 <name>sizeType</name>
1409 <enum>Expanding</enum> 1409 <enum>Expanding</enum>
1410 </property> 1410 </property>
1411 <property> 1411 <property>
1412 <name>sizeHint</name> 1412 <name>sizeHint</name>
1413 <size> 1413 <size>
1414 <width>20</width> 1414 <width>20</width>
1415 <height>20</height> 1415 <height>20</height>
1416 </size> 1416 </size>
1417 </property> 1417 </property>
1418 </spacer> 1418 </spacer>
1419 </vbox> 1419 </vbox>
1420 </widget> 1420 </widget>
1421 </grid> 1421 </grid>
1422 </widget> 1422 </widget>
1423 </widget> 1423 </widget>
1424 </grid> 1424 </grid>
1425</widget> 1425</widget>
1426<customwidgets> 1426<customwidgets>
1427 <customwidget> 1427 <customwidget>
1428 <class>ProtocolListView</class> 1428 <class>ProtocolListView</class>
1429 <header location="local">protolistview.h</header> 1429 <header location="local">protolistview.h</header>
1430 <sizehint> 1430 <sizehint>
1431 <width>100</width> 1431 <width>100</width>
1432 <height>100</height> 1432 <height>100</height>
1433 </sizehint> 1433 </sizehint>
1434 <container>0</container> 1434 <container>0</container>
1435 <sizepolicy> 1435 <sizepolicy>
1436 <hordata>3</hordata> 1436 <hordata>3</hordata>
1437 <verdata>3</verdata> 1437 <verdata>3</verdata>
1438 </sizepolicy> 1438 </sizepolicy>
1439 <pixmap>image0</pixmap> 1439 <pixmap>image0</pixmap>
1440 </customwidget> 1440 </customwidget>
1441</customwidgets> 1441</customwidgets>
1442<images> 1442<images>
1443 <image> 1443 <image>
1444 <name>image0</name> 1444 <name>image0</name>
1445 <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data> 1445 <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data>
1446 </image> 1446 </image>
1447</images> 1447</images>
1448<connections> 1448<connections>
1449 <connection> 1449 <connection>
1450 <sender>hopChannels</sender> 1450 <sender>hopChannels</sender>
1451 <signal>toggled(bool)</signal> 1451 <signal>toggled(bool)</signal>
1452 <receiver>hopInterval</receiver> 1452 <receiver>hopInterval</receiver>
1453 <slot>setEnabled(bool)</slot> 1453 <slot>setEnabled(bool)</slot>
1454 </connection> 1454 </connection>
1455 <connection> 1455 <connection>
1456 <sender>hopChannels</sender> 1456 <sender>hopChannels</sender>
1457 <signal>toggled(bool)</signal> 1457 <signal>toggled(bool)</signal>
1458 <receiver>TextLabel1</receiver> 1458 <receiver>TextLabel1</receiver>
1459 <slot>setEnabled(bool)</slot> 1459 <slot>setEnabled(bool)</slot>
1460 </connection> 1460 </connection>
1461 <connection> 1461 <connection>
1462 <sender>enableActiveScanning</sender> 1462 <sender>enableActiveScanning</sender>
1463 <signal>toggled(bool)</signal> 1463 <signal>toggled(bool)</signal>
1464 <receiver>GroupBox3</receiver> 1464 <receiver>GroupBox3</receiver>
1465 <slot>setEnabled(bool)</slot> 1465 <slot>setEnabled(bool)</slot>
1466 </connection> 1466 </connection>
1467 <connection> 1467 <connection>
1468 <sender>enableActiveScanning</sender> 1468 <sender>enableActiveScanning</sender>
1469 <signal>toggled(bool)</signal> 1469 <signal>toggled(bool)</signal>
1470 <receiver>GroupBox4</receiver> 1470 <receiver>GroupBox4</receiver>
1471 <slot>setEnabled(bool)</slot> 1471 <slot>setEnabled(bool)</slot>
1472 </connection> 1472 </connection>
1473 <connection> 1473 <connection>
1474 <sender>writeCaptureFile</sender> 1474 <sender>writeCaptureFile</sender>
1475 <signal>toggled(bool)</signal> 1475 <signal>toggled(bool)</signal>
1476 <receiver>getCaptureFileName</receiver> 1476 <receiver>getCaptureFileName</receiver>
1477 <slot>setEnabled(bool)</slot> 1477 <slot>setEnabled(bool)</slot>
1478 </connection> 1478 </connection>
1479 <connection> 1479 <connection>
1480 <sender>writeCaptureFile</sender> 1480 <sender>writeCaptureFile</sender>
1481 <signal>toggled(bool)</signal> 1481 <signal>toggled(bool)</signal>
1482 <receiver>captureFileName</receiver> 1482 <receiver>captureFileName</receiver>
1483 <slot>setEnabled(bool)</slot> 1483 <slot>setEnabled(bool)</slot>
1484 </connection> 1484 </connection>
1485 <connection> 1485 <connection>
1486 <sender>writeCaptureFile</sender> 1486 <sender>writeCaptureFile</sender>
1487 <signal>toggled(bool)</signal> 1487 <signal>toggled(bool)</signal>
1488 <receiver>capturePackets</receiver> 1488 <receiver>capturePackets</receiver>
1489 <slot>setEnabled(bool)</slot> 1489 <slot>setEnabled(bool)</slot>
1490 </connection> 1490 </connection>
1491 <connection> 1491 <connection>
1492 <sender>enableGPS</sender> 1492 <sender>enableGPS</sender>
1493 <signal>toggled(bool)</signal> 1493 <signal>toggled(bool)</signal>
1494 <receiver>gpsdHost</receiver> 1494 <receiver>gpsdHost</receiver>
1495 <slot>setEnabled(bool)</slot> 1495 <slot>setEnabled(bool)</slot>
1496 </connection> 1496 </connection>
1497 <connection> 1497 <connection>
1498 <sender>enableGPS</sender> 1498 <sender>enableGPS</sender>
1499 <signal>toggled(bool)</signal> 1499 <signal>toggled(bool)</signal>
1500 <receiver>gpsdPort</receiver> 1500 <receiver>gpsdPort</receiver>
1501 <slot>setEnabled(bool)</slot> 1501 <slot>setEnabled(bool)</slot>
1502 </connection> 1502 </connection>
1503 <connection> 1503 <connection>
1504 <sender>startGPS</sender> 1504 <sender>startGPS</sender>
1505 <signal>toggled(bool)</signal> 1505 <signal>toggled(bool)</signal>
1506 <receiver>commandGPS</receiver> 1506 <receiver>commandGPS</receiver>
1507 <slot>setEnabled(bool)</slot> 1507 <slot>setEnabled(bool)</slot>
1508 </connection> 1508 </connection>
1509</connections> 1509</connections>
1510</UI> 1510</UI>
diff --git a/noncore/net/wellenreiter/gui/gps.cpp b/noncore/net/wellenreiter/gui/gps.cpp
index 5b1b4a4..b845aa1 100644
--- a/noncore/net/wellenreiter/gui/gps.cpp
+++ b/noncore/net/wellenreiter/gui/gps.cpp
@@ -1,127 +1,127 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2003 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2003 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#include "gps.h" 16#include "gps.h"
17 17
18/* QT */ 18/* QT */
19#include <qtextstream.h> 19#include <qtextstream.h>
20 20
21/* STD */ 21/* STD */
22#include <stdlib.h> 22#include <stdlib.h>
23#include <unistd.h> 23#include <unistd.h>
24 24
25GPS::GPS( QObject* parent, const char * name ) 25GPS::GPS( QObject* parent, const char * name )
26 :QObject( parent, name ) 26 :QObject( parent, name )
27{ 27{
28 qDebug( "GPS::GPS()" ); 28 qDebug( "GPS::GPS()" );
29 _socket = new QSocket( this, "gpsd commsock" ); 29 _socket = new QSocket( this, "gpsd commsock" );
30} 30}
31 31
32 32
33GPS::~GPS() 33GPS::~GPS()
34{ 34{
35 qDebug( "GPS::~GPS()" ); 35 qDebug( "GPS::~GPS()" );
36} 36}
37 37
38 38
39bool GPS::open( const QString& host, int port ) 39bool GPS::open( const QString& host, int port )
40{ 40{
41 _socket->connectToHost( host, port ); 41 _socket->connectToHost( host, port );
42} 42}
43 43
44 44
45GpsLocation GPS::position() const 45GpsLocation GPS::position() const
46{ 46{
47 char buf[256]; 47 char buf[256];
48 double lat = -111.0; 48 double lat = -111.0;
49 double lon = -111.0; 49 double lon = -111.0;
50 50
51 int result = _socket->writeBlock( "p\r\n", 3 ); 51 int result = _socket->writeBlock( "p\r\n", 3 );
52 _socket->flush(); 52 _socket->flush();
53 if ( result ) 53 if ( result )
54 { 54 {
55 int numAvail = _socket->bytesAvailable(); 55 int numAvail = _socket->bytesAvailable();
56 qDebug( "GPS write succeeded, %d bytes available for reading...", numAvail ); 56 qDebug( "GPS write succeeded, %d bytes available for reading...", numAvail );
57 if ( numAvail ) 57 if ( numAvail )
58 { 58 {
59 int numRead = _socket->readBlock( &buf[0], sizeof buf ); 59 int numRead = _socket->readBlock( &buf[0], sizeof buf );
60 int numScan = sscanf( &buf[0], "GPSD,P=%lg %lg", &lat, &lon); 60 int numScan = ::sscanf( &buf[0], "GPSD,P=%lg %lg", &lat, &lon);
61 61
62 if ( numRead < 7 || numScan != 2 ) 62 if ( numRead < 7 || numScan != 2 )
63 { 63 {
64 qDebug( "GPS read %d bytes succeeded, invalid response: '%s'", numRead, &buf[0] ); 64 qDebug( "GPS read %d bytes succeeded, invalid response: '%s'", numRead, &buf[0] );
65 return GpsLocation( -111, -111 ); 65 return GpsLocation( -111, -111 );
66 } 66 }
67 else 67 else
68 { 68 {
69 return GpsLocation( lat, lon ); 69 return GpsLocation( lat, lon );
70 } 70 }
71 } 71 }
72 } 72 }
73 return GpsLocation( -111, -111 ); 73 return GpsLocation( -111, -111 );
74} 74}
75 75
76 76
77QString GpsLocation::dmsPosition() const 77QString GpsLocation::dmsPosition() const
78{ 78{
79 if ( _latitude == -111 || _longitude == -111 ) 79 if ( _latitude == -111 || _longitude == -111 )
80 return "N/A"; 80 return "N/A";
81 if ( _latitude == 0.0 && _longitude == 0.0 ) 81 if ( _latitude == 0.0 && _longitude == 0.0 )
82 return "NULL"; 82 return "NULL";
83 83
84 /* compute latitude */ 84 /* compute latitude */
85 85
86 QString dms = "N"; 86 QString dms = "N";
87 if ( _latitude >= 0 ) dms.append( "+" ); 87 if ( _latitude >= 0 ) dms.append( "+" );
88 88
89 int trunc = int( _latitude ); 89 int trunc = int( _latitude );
90 float rest = _latitude - trunc; 90 float rest = _latitude - trunc;
91 91
92 float minf = rest * 60; 92 float minf = rest * 60;
93 int minutes = int( minf ); 93 int minutes = int( minf );
94 94
95 rest = minf - minutes; 95 rest = minf - minutes;
96 int seconds = int( rest * 60 ); 96 int seconds = int( rest * 60 );
97 97
98 dms.append( QString::number( trunc ) ); 98 dms.append( QString::number( trunc ) );
99 dms.append( "° " ); 99 dms.append( "° " );
100 dms.append( QString::number( ::abs( minutes ) ) ); 100 dms.append( QString::number( ::abs( minutes ) ) );
101 dms.append( "' " ); 101 dms.append( "' " );
102 dms.append( QString::number( ::abs( seconds ) ) ); 102 dms.append( QString::number( ::abs( seconds ) ) );
103 dms.append( "'' " ); 103 dms.append( "'' " );
104 104
105 /* compute longitude */ 105 /* compute longitude */
106 106
107 dms.append( " | W" ); 107 dms.append( " | W" );
108 if ( _longitude > 0 ) dms.append( "+" ); 108 if ( _longitude > 0 ) dms.append( "+" );
109 109
110 trunc = int( _longitude ); 110 trunc = int( _longitude );
111 rest = _longitude - trunc; 111 rest = _longitude - trunc;
112 112
113 minf = rest * 60; 113 minf = rest * 60;
114 minutes = int( minf ); 114 minutes = int( minf );
115 115
116 rest = minf - minutes; 116 rest = minf - minutes;
117 seconds = int( rest * 60 ); 117 seconds = int( rest * 60 );
118 118
119 dms.append( QString::number( trunc ) ); 119 dms.append( QString::number( trunc ) );
120 dms.append( "° " ); 120 dms.append( "° " );
121 dms.append( QString::number( ::abs( minutes ) ) ); 121 dms.append( QString::number( ::abs( minutes ) ) );
122 dms.append( "' " ); 122 dms.append( "' " );
123 dms.append( QString::number( ::abs( seconds ) ) ); 123 dms.append( QString::number( ::abs( seconds ) ) );
124 dms.append( "'' " ); 124 dms.append( "'' " );
125 125
126 return dms; 126 return dms;
127} 127}
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 72624f7..3729ed0 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -1,555 +1,558 @@
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#include "configwindow.h" 16#include "configwindow.h"
17#include "gps.h" 17#include "gps.h"
18#include "logwindow.h" 18#include "logwindow.h"
19#include "hexwindow.h" 19#include "hexwindow.h"
20#include "mainwindow.h" 20#include "mainwindow.h"
21#include "wellenreiter.h" 21#include "wellenreiter.h"
22#include "scanlist.h" 22#include "scanlist.h"
23 23
24#include <qcombobox.h> 24#include <qcombobox.h>
25#include <qdatastream.h> 25#include <qdatastream.h>
26#include <qfile.h> 26#include <qfile.h>
27#include <qfileinfo.h> 27#include <qfileinfo.h>
28#include <qlabel.h> 28#include <qlabel.h>
29#include <qlayout.h> 29#include <qlayout.h>
30#include <qlineedit.h> 30#include <qlineedit.h>
31#include <qiconset.h> 31#include <qiconset.h>
32#include <qmenubar.h> 32#include <qmenubar.h>
33#include <qmessagebox.h> 33#include <qmessagebox.h>
34#include <qpopupmenu.h> 34#include <qpopupmenu.h>
35#include <qpushbutton.h> 35#include <qpushbutton.h>
36#include <qstatusbar.h> 36#include <qstatusbar.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qtextstream.h> 38#include <qtextstream.h>
39#include <qtoolbutton.h> 39#include <qtoolbutton.h>
40 40
41#ifdef QWS 41#ifdef QWS
42#include <qpe/resource.h> 42#include <qpe/resource.h>
43#include <opie2/ofiledialog.h> 43#include <opie2/ofiledialog.h>
44using namespace Opie; 44using namespace Opie;
45#else 45#else
46#include "resource.h" 46#include "resource.h"
47#include <qapplication.h> 47#include <qapplication.h>
48#include <qfiledialog.h> 48#include <qfiledialog.h>
49#endif 49#endif
50 50
51#include <unistd.h>
52
51WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f ) 53WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f )
52 :QMainWindow( parent, name, f ) 54 :QMainWindow( parent, name, f )
53{ 55{
54 cw = new WellenreiterConfigWindow( this ); 56 cw = new WellenreiterConfigWindow( this );
55 mw = new Wellenreiter( this ); 57 mw = new Wellenreiter( this );
56 mw->setConfigWindow( cw ); 58 mw->setConfigWindow( cw );
57 setCentralWidget( mw ); 59 setCentralWidget( mw );
58 60
59 // setup application icon 61 // setup application icon
60 62
61 #ifndef QWS 63 #ifndef QWS
62 setIcon( Resource::loadPixmap( "wellenreiter/appicon-trans" ) ); 64 setIcon( Resource::loadPixmap( "wellenreiter/appicon-trans" ) );
63 setIconText( "Wellenreiter/X11" ); 65 setIconText( "Wellenreiter/X11" );
64 #endif 66 #endif
65 67
66 // setup tool buttons 68 // setup tool buttons
67 69
68 startButton = new QToolButton( 0 ); 70 startButton = new QToolButton( 0 );
69 #ifdef QWS 71 #ifdef QWS
70 startButton->setAutoRaise( true ); 72 startButton->setAutoRaise( true );
71 #endif 73 #endif
72 startButton->setIconSet( Resource::loadIconSet( "wellenreiter/SearchIcon" ) ); 74 startButton->setIconSet( Resource::loadIconSet( "wellenreiter/SearchIcon" ) );
73 startButton->setEnabled( false ); 75 startButton->setEnabled( false );
74 connect( startButton, SIGNAL( clicked() ), mw, SLOT( startClicked() ) ); 76 connect( startButton, SIGNAL( clicked() ), mw, SLOT( startClicked() ) );
75 77
76 stopButton = new QToolButton( 0 ); 78 stopButton = new QToolButton( 0 );
77 #ifdef QWS 79 #ifdef QWS
78 stopButton->setAutoRaise( true ); 80 stopButton->setAutoRaise( true );
79 #endif 81 #endif
80 stopButton->setIconSet( Resource::loadIconSet( "wellenreiter/CancelIcon" ) ); 82 stopButton->setIconSet( Resource::loadIconSet( "wellenreiter/CancelIcon" ) );
81 stopButton->setEnabled( false ); 83 stopButton->setEnabled( false );
82 connect( stopButton, SIGNAL( clicked() ), mw, SLOT( stopClicked() ) ); 84 connect( stopButton, SIGNAL( clicked() ), mw, SLOT( stopClicked() ) );
83 85
84 QToolButton* d = new QToolButton( 0 ); 86 QToolButton* d = new QToolButton( 0 );
85 #ifdef QWS 87 #ifdef QWS
86 d->setAutoRaise( true ); 88 d->setAutoRaise( true );
87 #endif 89 #endif
88 d->setIconSet( Resource::loadIconSet( "wellenreiter/SettingsIcon" ) ); 90 d->setIconSet( Resource::loadIconSet( "wellenreiter/SettingsIcon" ) );
89 connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) ); 91 connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) );
90 92
91 uploadButton = new QToolButton( 0 ); 93 uploadButton = new QToolButton( 0 );
92 #ifdef QWS 94 #ifdef QWS
93 uploadButton->setAutoRaise( true ); 95 uploadButton->setAutoRaise( true );
94 #endif 96 #endif
95 uploadButton->setIconSet( Resource::loadIconSet( "up" ) ); 97 uploadButton->setIconSet( Resource::loadIconSet( "up" ) );
96 uploadButton->setEnabled( false ); 98 uploadButton->setEnabled( false );
97 //uploadButton->setEnabled( true ); // DEBUGGING 99 //uploadButton->setEnabled( true ); // DEBUGGING
98 connect( uploadButton, SIGNAL( clicked() ), this, SLOT( uploadSession() ) ); 100 connect( uploadButton, SIGNAL( clicked() ), this, SLOT( uploadSession() ) );
99 101
100 // setup menu bar 102 // setup menu bar
101 103
102 int id; 104 int id;
103 105
104 QMenuBar* mb = menuBar(); 106 QMenuBar* mb = menuBar();
105 107
106 QPopupMenu* fileSave = new QPopupMenu( mb ); 108 QPopupMenu* fileSave = new QPopupMenu( mb );
107 fileSave->insertItem( tr( "&Session..." ), this, SLOT( fileSaveSession() ) ); 109 fileSave->insertItem( tr( "&Session..." ), this, SLOT( fileSaveSession() ) );
108 fileSave->insertItem( tr( "&Text Log..." ), this, SLOT( fileSaveLog() ) ); 110 fileSave->insertItem( tr( "&Text Log..." ), this, SLOT( fileSaveLog() ) );
109 fileSave->insertItem( tr( "&Hex Log..." ), this, SLOT( fileSaveHex() ) ); 111 fileSave->insertItem( tr( "&Hex Log..." ), this, SLOT( fileSaveHex() ) );
110 112
111 QPopupMenu* fileLoad = new QPopupMenu( mb ); 113 QPopupMenu* fileLoad = new QPopupMenu( mb );
112 fileLoad->insertItem( tr( "&Session..." ), this, SLOT( fileLoadSession() ) ); 114 fileLoad->insertItem( tr( "&Session..." ), this, SLOT( fileLoadSession() ) );
113 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) ); 115 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) );
114 116
115 QPopupMenu* file = new QPopupMenu( mb ); 117 QPopupMenu* file = new QPopupMenu( mb );
116 file->insertItem( tr( "&New" ), this, SLOT( fileNew() ) ); 118 file->insertItem( tr( "&New" ), this, SLOT( fileNew() ) );
117 id = file->insertItem( tr( "&Load" ), fileLoad ); 119 id = file->insertItem( tr( "&Load" ), fileLoad );
118 file->insertItem( tr( "&Save" ), fileSave ); 120 file->insertItem( tr( "&Save" ), fileSave );
119 file->insertSeparator(); 121 file->insertSeparator();
120 uploadID = file->insertItem( tr( "&Upload Session" ), this, SLOT( uploadSession() ) ); 122 uploadID = file->insertItem( tr( "&Upload Session" ), this, SLOT( uploadSession() ) );
121 file->insertSeparator(); 123 file->insertSeparator();
122 file->insertItem( tr( "&Exit" ), qApp, SLOT( quit() ) ); 124 file->insertItem( tr( "&Exit" ), qApp, SLOT( quit() ) );
123 125
124 QPopupMenu* view = new QPopupMenu( mb ); 126 QPopupMenu* view = new QPopupMenu( mb );
125 view->insertItem( tr( "&Configure..." ) ); 127 view->insertItem( tr( "&Configure..." ) );
126 128
127 QPopupMenu* sniffer = new QPopupMenu( mb ); 129 QPopupMenu* sniffer = new QPopupMenu( mb );
128 sniffer->insertItem( tr( "&Configure..." ), this, SLOT( showConfigure() ) ); 130 sniffer->insertItem( tr( "&Configure..." ), this, SLOT( showConfigure() ) );
129 sniffer->insertSeparator(); 131 sniffer->insertSeparator();
130 startID = sniffer->insertItem( tr( "&Start" ), mw, SLOT( startClicked() ) ); 132 startID = sniffer->insertItem( tr( "&Start" ), mw, SLOT( startClicked() ) );
131 sniffer->setItemEnabled( startID, false ); 133 sniffer->setItemEnabled( startID, false );
132 stopID = sniffer->insertItem( tr( "Sto&p" ), mw, SLOT( stopClicked() ) ); 134 stopID = sniffer->insertItem( tr( "Sto&p" ), mw, SLOT( stopClicked() ) );
133 sniffer->setItemEnabled( stopID, false ); 135 sniffer->setItemEnabled( stopID, false );
134 136
135 QPopupMenu* demo = new QPopupMenu( mb ); 137 QPopupMenu* demo = new QPopupMenu( mb );
136 demo->insertItem( tr( "&Add something" ), this, SLOT( demoAddStations() ) ); 138 demo->insertItem( tr( "&Add something" ), this, SLOT( demoAddStations() ) );
137 demo->insertItem( tr( "&Read from GPSd" ), this, SLOT( demoReadFromGps() ) ); 139 //demo->insertItem( tr( "&Read from GPSd" ), this, SLOT( demoReadFromGps() ) );
138 140
139 id = mb->insertItem( tr( "&File" ), file ); 141 id = mb->insertItem( tr( "&File" ), file );
140 //id = mb->insertItem( tr( "&View" ), view ); 142 //id = mb->insertItem( tr( "&View" ), view );
141 //mb->setItemEnabled( id, false ); 143 //mb->setItemEnabled( id, false );
142 id = mb->insertItem( tr( "&Sniffer" ), sniffer ); 144 id = mb->insertItem( tr( "&Sniffer" ), sniffer );
143 145
144 id = mb->insertItem( tr( "&Demo" ), demo ); 146 id = mb->insertItem( tr( "&Demo" ), demo );
145 mb->setItemEnabled( id, true ); 147 mb->setItemEnabled( id, true );
146 mb->setItemEnabled( uploadID, false ); 148 mb->setItemEnabled( uploadID, false );
147 149
148 #ifdef QWS 150 #ifdef QWS
149 mb->insertItem( startButton ); 151 mb->insertItem( startButton );
150 mb->insertItem( stopButton ); 152 mb->insertItem( stopButton );
151 mb->insertItem( uploadButton ); 153 mb->insertItem( uploadButton );
152 mb->insertItem( d ); 154 mb->insertItem( d );
153 #else // Qt3 changed the insertion order. It's now totally random :( 155 #else // Qt3 changed the insertion order. It's now totally random :(
154 mb->insertItem( d ); 156 mb->insertItem( d );
155 mb->insertItem( uploadButton ); 157 mb->insertItem( uploadButton );
156 mb->insertItem( stopButton ); 158 mb->insertItem( stopButton );
157 mb->insertItem( startButton ); 159 mb->insertItem( startButton );
158 #endif 160 #endif
159 161
160 updateToolButtonState(); 162 updateToolButtonState();
161 163
162 // setup status bar (for now only on X11) 164 // setup status bar (for now only on X11)
163 165
164 #ifndef QWS 166 #ifndef QWS
165 statusBar()->message( tr( "Ready." ) ); 167 statusBar()->message( tr( "Ready." ) );
166 #endif 168 #endif
167 169
168 connect( mw, SIGNAL( startedSniffing() ), this, SLOT( changedSniffingState() ) ); 170 connect( mw, SIGNAL( startedSniffing() ), this, SLOT( changedSniffingState() ) );
169 connect( mw, SIGNAL( stoppedSniffing() ), this, SLOT( changedSniffingState() ) ); 171 connect( mw, SIGNAL( stoppedSniffing() ), this, SLOT( changedSniffingState() ) );
170}; 172};
171 173
172 174
173 175
174void WellenreiterMainWindow::showConfigure() 176void WellenreiterMainWindow::showConfigure()
175{ 177{
176 qDebug( "show configure..." ); 178 qDebug( "show configure..." );
177 cw->setCaption( tr( "Configure" ) ); 179 cw->setCaption( tr( "Configure" ) );
178 #ifdef QWS 180 #ifdef QWS
179 cw->showMaximized(); 181 cw->showMaximized();
180 #endif 182 #endif
181 int result = cw->exec(); 183 int result = cw->exec();
182 184
183 if ( result ) updateToolButtonState(); 185 if ( result ) updateToolButtonState();
184} 186}
185 187
186 188
187void WellenreiterMainWindow::updateToolButtonState() 189void WellenreiterMainWindow::updateToolButtonState()
188{ 190{
189 const QString& interface = cw->interfaceName->currentText(); 191 const QString& interface = cw->interfaceName->currentText();
190 const int cardtype = cw->driverType(); 192 const int cardtype = cw->driverType();
191 193
192 if ( ( interface != "<select>" ) && ( cardtype != 0 ) ) 194 if ( ( interface != "<select>" ) && ( cardtype != 0 ) )
193 { 195 {
194 startButton->setEnabled( true ); 196 startButton->setEnabled( true );
195 menuBar()->setItemEnabled( startID, true ); 197 menuBar()->setItemEnabled( startID, true );
196 } 198 }
197 else 199 else
198 { 200 {
199 startButton->setEnabled( false ); 201 startButton->setEnabled( false );
200 menuBar()->setItemEnabled( startID, false ); 202 menuBar()->setItemEnabled( startID, false );
201 } 203 }
202} 204}
203 205
204 206
205void WellenreiterMainWindow::changedSniffingState() 207void WellenreiterMainWindow::changedSniffingState()
206{ 208{
207 startButton->setEnabled( !mw->sniffing ); 209 startButton->setEnabled( !mw->sniffing );
208 menuBar()->setItemEnabled( startID, !mw->sniffing ); 210 menuBar()->setItemEnabled( startID, !mw->sniffing );
209 stopButton->setEnabled( mw->sniffing ); 211 stopButton->setEnabled( mw->sniffing );
210 menuBar()->setItemEnabled( stopID, mw->sniffing ); 212 menuBar()->setItemEnabled( stopID, mw->sniffing );
211 213
212 if ( !mw->sniffing ) 214 if ( !mw->sniffing )
213 { 215 {
214 menuBar()->setItemEnabled( uploadID, true ); 216 menuBar()->setItemEnabled( uploadID, true );
215 uploadButton->setEnabled( true ); 217 uploadButton->setEnabled( true );
216 } 218 }
217} 219}
218 220
219 221
220WellenreiterMainWindow::~WellenreiterMainWindow() 222WellenreiterMainWindow::~WellenreiterMainWindow()
221{ 223{
222 qDebug( "Wellenreiter:: bye." ); 224 qDebug( "Wellenreiter: bye." );
223}; 225};
224 226
225 227
226void WellenreiterMainWindow::demoAddStations() 228void WellenreiterMainWindow::demoAddStations()
227{ 229{
228 //mw = 0; // test SIGSEGV handling 230 //mw = 0; // test SIGSEGV handling
229 231
230 mw->netView()->addNewItem( "managed", "Vanille", OMacAddress::fromString("00:00:20:EF:A6:43"), true, 6, 80, GpsLocation( 39.8794, -94.0936) ); 232 mw->netView()->addNewItem( "managed", "Vanille", OMacAddress::fromString("00:00:20:EF:A6:43"), true, 6, 80, GpsLocation( 39.8794, -94.0936) );
231 mw->netView()->addNewItem( "managed", "Vanille", OMacAddress::fromString("00:30:6D:EF:A6:23"), true, 11, 10, GpsLocation( 0.0, 0.0 ) ); 233 mw->netView()->addNewItem( "managed", "Vanille", OMacAddress::fromString("00:30:6D:EF:A6:23"), true, 11, 10, GpsLocation( 0.0, 0.0 ) );
232 mw->netView()->addNewItem( "adhoc", "ELAN", OMacAddress::fromString("00:03:F8:E7:16:22"), false, 3, 10, GpsLocation( 5.5, 2.3 ) ); 234 mw->netView()->addNewItem( "adhoc", "ELAN", OMacAddress::fromString("00:03:F8:E7:16:22"), false, 3, 10, GpsLocation( 5.5, 2.3 ) );
233 mw->netView()->addNewItem( "adhoc", "ELAN", OMacAddress::fromString("00:04:01:E7:56:62"), false, 3, 15, GpsLocation( 2.3, 5.5 ) ); 235 mw->netView()->addNewItem( "adhoc", "ELAN", OMacAddress::fromString("00:04:01:E7:56:62"), false, 3, 15, GpsLocation( 2.3, 5.5 ) );
234 mw->netView()->addNewItem( "adhoc", "ELAN", OMacAddress::fromString("00:05:8E:E7:56:E2"), false, 3, 20, GpsLocation( -10.0, -20.5 ) ); 236 mw->netView()->addNewItem( "adhoc", "ELAN", OMacAddress::fromString("00:05:8E:E7:56:E2"), false, 3, 20, GpsLocation( -10.0, -20.5 ) );
235} 237}
236 238
237 239
238void WellenreiterMainWindow::demoReadFromGps() 240void WellenreiterMainWindow::demoReadFromGps()
239{ 241{
240 WellenreiterConfigWindow* configwindow = WellenreiterConfigWindow::instance(); 242 WellenreiterConfigWindow* configwindow = WellenreiterConfigWindow::instance();
241 GPS* gps = new GPS( this ); 243 GPS* gps = new GPS( this );
244 qDebug( "Wellenreiter::demoReadFromGps(): url=gps://%s:%d/", (const char*) configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() );
242 gps->open( configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() ); 245 gps->open( configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() );
243 GpsLocation loc = gps->position(); 246 GpsLocation loc = gps->position();
244
245 QMessageBox::information( this, "Wellenreiter/Opie", tr( "GPS said:\n%1" ).arg( loc.dmsPosition() ) ); 247 QMessageBox::information( this, "Wellenreiter/Opie", tr( "GPS said:\n%1" ).arg( loc.dmsPosition() ) );
248 delete gps;
246} 249}
247 250
248 251
249QString WellenreiterMainWindow::getFileName( bool save ) 252QString WellenreiterMainWindow::getFileName( bool save )
250{ 253{
251 QMap<QString, QStringList> map; 254 QMap<QString, QStringList> map;
252 map.insert( tr("All"), QStringList() ); 255 map.insert( tr("All"), QStringList() );
253 QStringList text; 256 QStringList text;
254 text << "text/*"; 257 text << "text/*";
255 map.insert( tr("Text"), text ); 258 map.insert( tr("Text"), text );
256 text << "*"; 259 text << "*";
257 map.insert( tr("All"), text ); 260 map.insert( tr("All"), text );
258 261
259 QString str; 262 QString str;
260 if ( save ) 263 if ( save )
261 { 264 {
262 #ifdef QWS 265 #ifdef QWS
263 str = OFileDialog::getSaveFileName( 2, "/", QString::null, map ); 266 str = OFileDialog::getSaveFileName( 2, "/", QString::null, map );
264 #else 267 #else
265 str = QFileDialog::getSaveFileName(); 268 str = QFileDialog::getSaveFileName();
266 #endif 269 #endif
267 if ( str.isEmpty() /*|| QFileInfo(str).isDir()*/ ) 270 if ( str.isEmpty() /*|| QFileInfo(str).isDir()*/ )
268 return ""; 271 return "";
269 } 272 }
270 else 273 else
271 { 274 {
272 #ifdef QWS 275 #ifdef QWS
273 str = OFileDialog::getOpenFileName( 2, "/", QString::null, map ); 276 str = OFileDialog::getOpenFileName( 2, "/", QString::null, map );
274 #else 277 #else
275 str = QFileDialog::getOpenFileName(); 278 str = QFileDialog::getOpenFileName();
276 #endif 279 #endif
277 if ( str.isEmpty() || !QFile(str).exists() || QFileInfo(str).isDir() ) 280 if ( str.isEmpty() || !QFile(str).exists() || QFileInfo(str).isDir() )
278 return ""; 281 return "";
279 } 282 }
280 return str; 283 return str;
281} 284}
282 285
283 286
284void WellenreiterMainWindow::fileSaveLog() 287void WellenreiterMainWindow::fileSaveLog()
285{ 288{
286 QString fname = getFileName( true ); 289 QString fname = getFileName( true );
287 if ( !fname.isEmpty() ) 290 if ( !fname.isEmpty() )
288 { 291 {
289 QFile f( fname ); 292 QFile f( fname );
290 if ( f.open(IO_WriteOnly) ) 293 if ( f.open(IO_WriteOnly) )
291 { 294 {
292 QTextStream t( &f ); 295 QTextStream t( &f );
293 t << mw->logWindow()->getLog(); 296 t << mw->logWindow()->getLog();
294 f.close(); 297 f.close();
295 qDebug( "Saved log to file '%s'", (const char*) fname ); 298 qDebug( "Saved log to file '%s'", (const char*) fname );
296 } 299 }
297 else 300 else
298 { 301 {
299 qDebug( "Problem saving log to file '%s'", (const char*) fname ); 302 qDebug( "Problem saving log to file '%s'", (const char*) fname );
300 } 303 }
301 } 304 }
302} 305}
303 306
304void WellenreiterMainWindow::fileSaveSession() 307void WellenreiterMainWindow::fileSaveSession()
305{ 308{
306 QString fname = getFileName( true ); 309 QString fname = getFileName( true );
307 if ( !fname.isEmpty() ) 310 if ( !fname.isEmpty() )
308 { 311 {
309 312
310 QFile f( fname ); 313 QFile f( fname );
311 if ( f.open(IO_WriteOnly) ) 314 if ( f.open(IO_WriteOnly) )
312 { 315 {
313 QDataStream t( &f ); 316 QDataStream t( &f );
314 t << *mw->netView(); 317 t << *mw->netView();
315 f.close(); 318 f.close();
316 qDebug( "Saved session to file '%s'", (const char*) fname ); 319 qDebug( "Saved session to file '%s'", (const char*) fname );
317 } 320 }
318 else 321 else
319 { 322 {
320 qDebug( "Problem saving session to file '%s'", (const char*) fname ); 323 qDebug( "Problem saving session to file '%s'", (const char*) fname );
321 } 324 }
322 } 325 }
323} 326}
324 327
325void WellenreiterMainWindow::fileSaveHex() 328void WellenreiterMainWindow::fileSaveHex()
326{ 329{
327 QString fname = getFileName( true ); 330 QString fname = getFileName( true );
328 if ( !fname.isEmpty() ) 331 if ( !fname.isEmpty() )
329 { 332 {
330 QFile f( fname ); 333 QFile f( fname );
331 if ( f.open(IO_WriteOnly) ) 334 if ( f.open(IO_WriteOnly) )
332 { 335 {
333 QTextStream t( &f ); 336 QTextStream t( &f );
334 t << mw->hexWindow()->getLog(); 337 t << mw->hexWindow()->getLog();
335 f.close(); 338 f.close();
336 qDebug( "Saved hex log to file '%s'", (const char*) fname ); 339 qDebug( "Saved hex log to file '%s'", (const char*) fname );
337 } 340 }
338 else 341 else
339 { 342 {
340 qDebug( "Problem saving hex log to file '%s'", (const char*) fname ); 343 qDebug( "Problem saving hex log to file '%s'", (const char*) fname );
341 } 344 }
342 } 345 }
343} 346}
344 347
345void WellenreiterMainWindow::fileLoadSession() 348void WellenreiterMainWindow::fileLoadSession()
346{ 349{
347 QString fname = getFileName( false ); 350 QString fname = getFileName( false );
348 if ( !fname.isEmpty() ) 351 if ( !fname.isEmpty() )
349 { 352 {
350 QFile f( fname ); 353 QFile f( fname );
351 if ( f.open(IO_ReadOnly) ) 354 if ( f.open(IO_ReadOnly) )
352 { 355 {
353 QDataStream t( &f ); 356 QDataStream t( &f );
354 t >> *mw->netView(); 357 t >> *mw->netView();
355 f.close(); 358 f.close();
356 qDebug( "Loaded session from file '%s'", (const char*) fname ); 359 qDebug( "Loaded session from file '%s'", (const char*) fname );
357 } 360 }
358 else 361 else
359 { 362 {
360 qDebug( "Problem loading session from file '%s'", (const char*) fname ); 363 qDebug( "Problem loading session from file '%s'", (const char*) fname );
361 } 364 }
362 } 365 }
363} 366}
364 367
365 368
366void WellenreiterMainWindow::fileNew() 369void WellenreiterMainWindow::fileNew()
367{ 370{
368 mw->netView()->clear(); 371 mw->netView()->clear();
369 mw->logWindow()->clear(); 372 mw->logWindow()->clear();
370 mw->hexWindow()->clear(); 373 mw->hexWindow()->clear();
371} 374}
372 375
373 376
374void WellenreiterMainWindow::closeEvent( QCloseEvent* e ) 377void WellenreiterMainWindow::closeEvent( QCloseEvent* e )
375{ 378{
376 if ( mw->isDaemonRunning() ) 379 if ( mw->isDaemonRunning() )
377 { 380 {
378 QMessageBox::warning( this, "Wellenreiter/Opie", 381 QMessageBox::warning( this, "Wellenreiter/Opie",
379 tr( "Sniffing in progress!\nPlease stop sniffing before closing." ) ); 382 tr( "Sniffing in progress!\nPlease stop sniffing before closing." ) );
380 e->ignore(); 383 e->ignore();
381 } 384 }
382 else 385 else
383 { 386 {
384 QMainWindow::closeEvent( e ); 387 QMainWindow::closeEvent( e );
385 } 388 }
386} 389}
387 390
388static const char* CAP_hostname = "www.vanille.de"; 391static const char* CAP_hostname = "www.vanille.de";
389 392
390#include <netdb.h> 393#include <netdb.h>
391#include <unistd.h> 394#include <unistd.h>
392#include <sys/types.h> 395#include <sys/types.h>
393#include <sys/socket.h> 396#include <sys/socket.h>
394 397
395void WellenreiterMainWindow::uploadSession() 398void WellenreiterMainWindow::uploadSession()
396{ 399{
397 QLineEdit* from; 400 QLineEdit* from;
398 QLineEdit* location; 401 QLineEdit* location;
399 QLineEdit* comments; 402 QLineEdit* comments;
400 QPushButton* accept; 403 QPushButton* accept;
401 QPushButton* reject; 404 QPushButton* reject;
402 405
403 QDialog* d = new QDialog( 0, "session upload", true ); 406 QDialog* d = new QDialog( 0, "session upload", true );
404 d->setCaption( tr( "Upload Session" ) ); 407 d->setCaption( tr( "Upload Session" ) );
405 QGridLayout* g = new QGridLayout( d, 4, 2, 3 ); 408 QGridLayout* g = new QGridLayout( d, 4, 2, 3 );
406 g->addWidget( new QLabel( tr( "From: " ), d ), 0, 0 ); 409 g->addWidget( new QLabel( tr( "From: " ), d ), 0, 0 );
407 g->addWidget( from = new QLineEdit( d ), 0, 1 ); 410 g->addWidget( from = new QLineEdit( d ), 0, 1 );
408 g->addWidget( new QLabel( tr( "Location: " ), d ), 1, 0 ); 411 g->addWidget( new QLabel( tr( "Location: " ), d ), 1, 0 );
409 g->addWidget( location = new QLineEdit( d ), 1, 1 ); 412 g->addWidget( location = new QLineEdit( d ), 1, 1 );
410 g->addWidget( new QLabel( tr( "Comments: " ), d ), 2, 0 ); 413 g->addWidget( new QLabel( tr( "Comments: " ), d ), 2, 0 );
411 g->addWidget( comments = new QLineEdit( d ), 2, 1 ); 414 g->addWidget( comments = new QLineEdit( d ), 2, 1 );
412 g->addWidget( accept = new QPushButton( tr( "&Ok" ), d ), 3, 0 ); 415 g->addWidget( accept = new QPushButton( tr( "&Ok" ), d ), 3, 0 );
413 g->addWidget( reject = new QPushButton( tr( "&Cancel" ), d ), 3, 1 ); 416 g->addWidget( reject = new QPushButton( tr( "&Cancel" ), d ), 3, 1 );
414 accept->setDefault( true ); 417 accept->setDefault( true );
415 accept->setAutoDefault( true ); 418 accept->setAutoDefault( true );
416 from->setText( "WL II User" ); 419 from->setText( "WL II User" );
417 location->setText( "WL II Location" ); 420 location->setText( "WL II Location" );
418 comments->setText( "No Comments." ); 421 comments->setText( "No Comments." );
419 connect( accept, SIGNAL( clicked() ), d, SLOT( accept() ) ); 422 connect( accept, SIGNAL( clicked() ), d, SLOT( accept() ) );
420 connect( reject, SIGNAL( clicked() ), d, SLOT( reject() ) ); 423 connect( reject, SIGNAL( clicked() ), d, SLOT( reject() ) );
421 int result = d->exec(); 424 int result = d->exec();
422 425
423 if ( !result ) 426 if ( !result )
424 { 427 {
425 qDebug( "Session upload cancelled :(" ); 428 qDebug( "Session upload cancelled :(" );
426 return; 429 return;
427 } 430 }
428 431
429 qDebug( "Starting upload..." ); 432 qDebug( "Starting upload..." );
430 433
431 struct sockaddr_in raddr; 434 struct sockaddr_in raddr;
432 struct hostent *rhost_info; 435 struct hostent *rhost_info;
433 int sock = -1; 436 int sock = -1;
434 bool ok = false; 437 bool ok = false;
435 438
436 rhost_info = (struct hostent *) ::gethostbyname( CAP_hostname ); 439 rhost_info = (struct hostent *) ::gethostbyname( CAP_hostname );
437 if ( rhost_info ) 440 if ( rhost_info )
438 { 441 {
439 442
440 443
441 if ( !QFile::exists( mw->captureFileName() ) ) 444 if ( !QFile::exists( mw->captureFileName() ) )
442 { 445 {
443 QMessageBox::warning( 0, tr( "Error" ), tr( "<p>Logfile '%1' doesn't exist</p>").arg( mw->captureFileName() ) ); 446 QMessageBox::warning( 0, tr( "Error" ), tr( "<p>Logfile '%1' doesn't exist</p>").arg( mw->captureFileName() ) );
444 return; 447 return;
445 } 448 }
446 449
447 QFile f( mw->captureFileName() ); 450 QFile f( mw->captureFileName() );
448 if ( !f.open( IO_ReadOnly ) ) 451 if ( !f.open( IO_ReadOnly ) )
449 { 452 {
450 QMessageBox::warning( 0, tr( "Error" ), tr( "<p>Can't open Logfile '%1'</p>").arg( mw->captureFileName() ) ); 453 QMessageBox::warning( 0, tr( "Error" ), tr( "<p>Can't open Logfile '%1'</p>").arg( mw->captureFileName() ) );
451 return; 454 return;
452 } 455 }
453 456
454 int content_length = f.size(); 457 int content_length = f.size();
455 458
456 ::memset( &raddr, 0, sizeof (struct sockaddr_in) ); 459 ::memset( &raddr, 0, sizeof (struct sockaddr_in) );
457 ::memcpy( &raddr. sin_addr, rhost_info-> h_addr, rhost_info-> h_length ); 460 ::memcpy( &raddr. sin_addr, rhost_info-> h_addr, rhost_info-> h_length );
458 raddr.sin_family = rhost_info-> h_addrtype; 461 raddr.sin_family = rhost_info-> h_addrtype;
459 raddr.sin_port = htons ( 80 ); 462 raddr.sin_port = htons ( 80 );
460 463
461 sock = ::socket( AF_INET, SOCK_STREAM, 0 ); 464 sock = ::socket( AF_INET, SOCK_STREAM, 0 );
462 465
463 if ( sock >= 0 ) 466 if ( sock >= 0 )
464 { 467 {
465 if ( ::connect ( sock, (struct sockaddr *) & raddr, sizeof (struct sockaddr)) >= 0 ) 468 if ( ::connect ( sock, (struct sockaddr *) & raddr, sizeof (struct sockaddr)) >= 0 )
466 { 469 {
467 QString header; 470 QString header;
468 QString content; 471 QString content;
469 QString preambel; 472 QString preambel;
470 473
471 header = "" 474 header = ""
472 "POST /projects/capturedump.spy HTTP/1.1\r\n" 475 "POST /projects/capturedump.spy HTTP/1.1\r\n"
473 "Host: www.vanille.de\r\n" 476 "Host: www.vanille.de\r\n"
474 "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031010 Galeon/1.3.10\r\n" 477 "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031010 Galeon/1.3.10\r\n"
475 "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\r\n" 478 "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\r\n"
476 "Accept-Language: en\r\n" 479 "Accept-Language: en\r\n"
477 "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n" 480 "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n"
478 "Accept-Charset: us-ascii,utf-8;q=0.7,*;q=0.7\r\n" 481 "Accept-Charset: us-ascii,utf-8;q=0.7,*;q=0.7\r\n"
479 "Keep-Alive: 300\r\n" 482 "Keep-Alive: 300\r\n"
480 "Connection: keep-alive\r\n" 483 "Connection: keep-alive\r\n"
481 "Referer: http://www.vanille.de/projects/capturedump.spy\r\n" 484 "Referer: http://www.vanille.de/projects/capturedump.spy\r\n"
482 "Content-Type: multipart/form-data; boundary=---------------------------97267758015830030481215568065\r\n" 485 "Content-Type: multipart/form-data; boundary=---------------------------97267758015830030481215568065\r\n"
483 "Content-Length: %1\r\n" 486 "Content-Length: %1\r\n"
484 "\r\n"; 487 "\r\n";
485 488
486 content = "" 489 content = ""
487 "-----------------------------97267758015830030481215568065\r\n" 490 "-----------------------------97267758015830030481215568065\r\n"
488 "Content-Disposition: form-data; name=\"Name\"\r\n" 491 "Content-Disposition: form-data; name=\"Name\"\r\n"
489 "\r\n" 492 "\r\n"
490 "%1\r\n" 493 "%1\r\n"
491 "-----------------------------97267758015830030481215568065\r\n" 494 "-----------------------------97267758015830030481215568065\r\n"
492 "Content-Disposition: form-data; name=\"Location\"\r\n" 495 "Content-Disposition: form-data; name=\"Location\"\r\n"
493 "\r\n" 496 "\r\n"
494 "%2\r\n" 497 "%2\r\n"
495 "-----------------------------97267758015830030481215568065\r\n" 498 "-----------------------------97267758015830030481215568065\r\n"
496 "Content-Disposition: form-data; name=\"Comments\"\r\n" 499 "Content-Disposition: form-data; name=\"Comments\"\r\n"
497 "\r\n" 500 "\r\n"
498 "%3\r\n" 501 "%3\r\n"
499 "-----------------------------97267758015830030481215568065\r\n" 502 "-----------------------------97267758015830030481215568065\r\n"
500 "Content-Disposition: form-data; name=\"upfile\"; filename=\"%4\"\r\n" 503 "Content-Disposition: form-data; name=\"upfile\"; filename=\"%4\"\r\n"
501 "Content-Type: application/octet-stream\r\n" 504 "Content-Type: application/octet-stream\r\n"
502 "\r\n"; 505 "\r\n";
503 506
504 preambel = "" 507 preambel = ""
505 "\r\n-----------------------------97267758015830030481215568065--\r\n"; 508 "\r\n-----------------------------97267758015830030481215568065--\r\n";
506 509
507 content = content.arg( from->text().isEmpty() ? QString( "Anonymous Wellenreiter II User" ) : from->text() ); 510 content = content.arg( from->text().isEmpty() ? QString( "Anonymous Wellenreiter II User" ) : from->text() );
508 content = content.arg( location->text().isEmpty() ? QString( "Anonymous Wellenreiter II Location" ) : location->text() ); 511 content = content.arg( location->text().isEmpty() ? QString( "Anonymous Wellenreiter II Location" ) : location->text() );
509 content = content.arg( comments->text().isEmpty() ? QString( "Anonymous Wellenreiter II Comments" ) : comments->text() ); 512 content = content.arg( comments->text().isEmpty() ? QString( "Anonymous Wellenreiter II Comments" ) : comments->text() );
510 content = content.arg( mw->captureFileName() ); 513 content = content.arg( mw->captureFileName() );
511 514
512 header = header.arg( QString::number( content.length() + f.size() + preambel.length() ) ); 515 header = header.arg( QString::number( content.length() + f.size() + preambel.length() ) );
513 516
514 // write header 517 // write header
515 518
516 const char* ascii = header.latin1(); 519 const char* ascii = header.latin1();
517 uint ascii_len = ::strlen( ascii ); 520 uint ascii_len = ::strlen( ascii );
518 ::write ( sock, ascii, ascii_len ); 521 ::write ( sock, ascii, ascii_len );
519 522
520 // write fixed content 523 // write fixed content
521 524
522 ascii = content.latin1(); 525 ascii = content.latin1();
523 ascii_len = ::strlen( ascii ); 526 ascii_len = ::strlen( ascii );
524 ::write ( sock, ascii, ascii_len ); 527 ::write ( sock, ascii, ascii_len );
525 528
526 // write variable content 529 // write variable content
527 530
528 char ch; 531 char ch;
529 while ( !f.atEnd() ) 532 while ( !f.atEnd() )
530 { 533 {
531 f.readBlock( &ch, 1 ); 534 f.readBlock( &ch, 1 );
532 ::write ( sock, &ch, 1 ); 535 ::write ( sock, &ch, 1 );
533 } 536 }
534 537
535 // write preambel 538 // write preambel
536 539
537 ascii = preambel.latin1(); 540 ascii = preambel.latin1();
538 ascii_len = ::strlen( ascii ); 541 ascii_len = ::strlen( ascii );
539 ::write ( sock, ascii, ascii_len ); 542 ::write ( sock, ascii, ascii_len );
540 543
541 // done! 544 // done!
542 545
543 ok = true; 546 ok = true;
544 } 547 }
545 } 548 }
546 ::close ( sock ); 549 ::close ( sock );
547 } 550 }
548 if ( ok ) 551 if ( ok )
549 QMessageBox::information( 0, tr( "Success" ), 552 QMessageBox::information( 0, tr( "Success" ),
550 QString ( "<p>%1</p>" ).arg( tr( "Capture Dump was uploaded to %1" ) ).arg( CAP_hostname ) ); 553 QString ( "<p>%1</p>" ).arg( tr( "Capture Dump was uploaded to %1" ) ).arg( CAP_hostname ) );
551 else 554 else
552 QMessageBox::warning( 0, tr( "Error" ), 555 QMessageBox::warning( 0, tr( "Error" ),
553 QString ( "<p>%1</p>" ).arg ( tr( "Connection to %1 failed" ) ).arg( CAP_hostname ) ); 556 QString ( "<p>%1</p>" ).arg ( tr( "Connection to %1 failed" ) ).arg( CAP_hostname ) );
554} 557}
555 558