summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-03-05 21:39:40 (UTC)
committer mickeyl <mickeyl>2004-03-05 21:39:40 (UTC)
commita12943ccab6b39dda5cf8561efb10eeec856f13e (patch) (unidiff)
treeb22cd5c74bd4daad201eea5e485ea9856471d1f2
parent8851dc992ab535bde6cb417cafc44658953f495d (diff)
downloadopie-a12943ccab6b39dda5cf8561efb10eeec856f13e.zip
opie-a12943ccab6b39dda5cf8561efb10eeec856f13e.tar.gz
opie-a12943ccab6b39dda5cf8561efb10eeec856f13e.tar.bz2
change copyright notice
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/ChangeLog4
-rw-r--r--noncore/net/wellenreiter/TODO2
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui94
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h4
-rw-r--r--noncore/net/wellenreiter/gui/gps.cpp2
-rw-r--r--noncore/net/wellenreiter/gui/gps.h2
-rw-r--r--noncore/net/wellenreiter/gui/graphwindow.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/graphwindow.h4
-rw-r--r--noncore/net/wellenreiter/gui/gui.pro2
-rw-r--r--noncore/net/wellenreiter/gui/hexwindow.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/hexwindow.h4
-rw-r--r--noncore/net/wellenreiter/gui/logwindow.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/logwindow.h4
-rw-r--r--noncore/net/wellenreiter/gui/main.cpp2
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp32
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.h7
-rw-r--r--noncore/net/wellenreiter/gui/protolistview.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/protolistview.h4
-rw-r--r--noncore/net/wellenreiter/gui/resource.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/resource.h4
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp5
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.h4
-rw-r--r--noncore/net/wellenreiter/gui/statwindow.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/statwindow.h4
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp8
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.h4
28 files changed, 175 insertions, 53 deletions
diff --git a/noncore/net/wellenreiter/ChangeLog b/noncore/net/wellenreiter/ChangeLog
index 6c2e52b..fdc8aa7 100644
--- a/noncore/net/wellenreiter/ChangeLog
+++ b/noncore/net/wellenreiter/ChangeLog
@@ -1,76 +1,78 @@
1 2004-??-?? Michael Lauer <mickey@Vanille.de> 1 2004-??-?? Michael Lauer <mickey@Vanille.de>
2 2
3 * Added sanity check isPresent(interface) before starting the engine.
4 * Added a View submenu. Added actions to expand and collapse all items.
3 * Switched to a (hopefully) more reliable method reading from gpsd. 5 * Switched to a (hopefully) more reliable method reading from gpsd.
4 * Added parsing of named ProbeRequests. Display only-probed-yet SSIDs in a different network color. 6 * Added parsing of named ProbeRequests. Display only-probed-yet SSIDs in a different network color.
5 * Rewrote the simple actions on new {Network, Client, Station}. Besides playing a sound or 7 * Rewrote the simple actions on new {Network, Client, Station}. Besides playing a sound or
6 blinking a LED, a user customizable script can now be executed, if something has been 8 blinking a LED, a user customizable script can now be executed, if something has been
7 detected. This opens up many possibilities, i.e. a qcop to qpegps or exec'ing flite (speech). 9 detected. This opens up many possibilities, i.e. a qcop to qpegps or exec'ing flite (speech).
8 * Added decloaking of cloaked ESSIDs (length != 0, but essid[0] == \0). 10 * Added decloaking of cloaked ESSIDs (length != 0, but essid[0] == \0).
9 * Hided the 'Parse' Tab in the configuration window. Not functional now and may come later 11 * Hided the 'Parse' Tab in the configuration window. Not functional now and may come later
10 * Added parsing of control frames. Display stations sending them SSID "<unknown>" for now. 12 * Added parsing of control frames. Display stations sending them SSID "<unknown>" for now.
11 * Added command line option "-nocheck" to skip non-root and dhcp tests. 13 * Added command line option "-nocheck" to skip non-root and dhcp tests.
12 * Improved the speed reading the manufacturer list. 14 * Improved the speed of and user feedback during reading the manufacturer list.
13 * GPS coordinates are now presented in the DMS (as opposed to decimal) format. 15 * GPS coordinates are now presented in the DMS (as opposed to decimal) format.
14 16
15 2003-12-18 Michael Lauer <mickey@Vanille.de> 17 2003-12-18 Michael Lauer <mickey@Vanille.de>
16 18
17 * Released as Version 1.0.2 (Development Snapshot) 19 * Released as Version 1.0.2 (Development Snapshot)
18 * Added automatic uploading of capture files to "The Capture Dump" site at 20 * Added automatic uploading of capture files to "The Capture Dump" site at
19 http://www.Vanille.de/projects/capturedump.spy 21 http://www.Vanille.de/projects/capturedump.spy
20 * Initial reading of the manufacturer database happens now in background 22 * Initial reading of the manufacturer database happens now in background
21 * Removed deprecated setMonitorMode() API ==> Use setMode( "monitor" ) now. 23 * Removed deprecated setMonitorMode() API ==> Use setMode( "monitor" ) now.
22 The monitor mode now tries to use the standard IW_MODE_MONITOR first. If that 24 The monitor mode now tries to use the standard IW_MODE_MONITOR first. If that
23 doesn't work, it falls back to using the proprietary iwpriv commands 25 doesn't work, it falls back to using the proprietary iwpriv commands
24 26
25 2003-11-30 Michael Lauer <mickey@Vanille.de> 27 2003-11-30 Michael Lauer <mickey@Vanille.de>
26 28
27 * Released as Version 1.0.1 (Development Snapshot) 29 * Released as Version 1.0.1 (Development Snapshot)
28 * Fixed ARP decoding for wired networks. 30 * Fixed ARP decoding for wired networks.
29 Interestingly, 802.11 encapsulates these in IP packets, while wired ethernet just tags the type_of_protocol. 31 Interestingly, 802.11 encapsulates these in IP packets, while wired ethernet just tags the type_of_protocol.
30 * Added reading GPS data from a gps daemon. 32 * Added reading GPS data from a gps daemon.
31 * Started preparations for utilizing Wellenreiter II in wired networks. 33 * Started preparations for utilizing Wellenreiter II in wired networks.
32 * Implemented persistant configuration interface and retriggerable auto detection. 34 * Implemented persistant configuration interface and retriggerable auto detection.
33 * Added QCOP interface for talking to opie-networksettings. 35 * Added QCOP interface for talking to opie-networksettings.
34 * Added parsing of DHCP packets and detecting DHCP servers. 36 * Added parsing of DHCP packets and detecting DHCP servers.
35 * Overhauled the configuration window and started with the customizable event system. 37 * Overhauled the configuration window and started with the customizable event system.
36 * Added disabling the screensaver. 38 * Added disabling the screensaver.
37 * Added automatic opening and scrolling to the network tree if a new station appears. 39 * Added automatic opening and scrolling to the network tree if a new station appears.
38 40
39 2003-05-10 Michael Lauer <mickey@Vanille.de> 41 2003-05-10 Michael Lauer <mickey@Vanille.de>
40 42
41 * Released as Version 1.0 (Stable) 43 * Released as Version 1.0 (Stable)
42 * Added restarting the dhcp client if having killed it before. 44 * Added restarting the dhcp client if having killed it before.
43 * Decouple dump files from live capture to shift control over 'what' is dumped to applications. 45 * Decouple dump files from live capture to shift control over 'what' is dumped to applications.
44 46
45 2003-05-05 Michael Lauer <mickey@Vanille.de> 47 2003-05-05 Michael Lauer <mickey@Vanille.de>
46 48
47 * Released as Version 1.0-RC1 (Release Candidate) 49 * Released as Version 1.0-RC1 (Release Candidate)
48 * Fixed rare segfaults while sniffing and operating the GUI simultaenously. 50 * Fixed rare segfaults while sniffing and operating the GUI simultaenously.
49 * Parse more data packets and detect more participating stations. 51 * Parse more data packets and detect more participating stations.
50 * Added live graph window showing the signal strength on all channels. 52 * Added live graph window showing the signal strength on all channels.
51 * Added parsing ARP packets and identifying IP addresses of participating stations. 53 * Added parsing ARP packets and identifying IP addresses of participating stations.
52 * Added parsing with optionally enabled PRISM headers (signal strength). 54 * Added parsing with optionally enabled PRISM headers (signal strength).
53 55
54 2003-04-12 Michael Lauer <mickey@Vanille.de> 56 2003-04-12 Michael Lauer <mickey@Vanille.de>
55 57
56 * Released as Version 1.0 (Beta) 58 * Released as Version 1.0 (Beta)
57 * GUI enhancements in the Menubar and the Toolbar. 59 * GUI enhancements in the Menubar and the Toolbar.
58 * Improved keyboard handling. 60 * Improved keyboard handling.
59 * Added sanity checks for running Wellenreiter II as non-root or with dhcp clients in the background. 61 * Added sanity checks for running Wellenreiter II as non-root or with dhcp clients in the background.
60 * Add writing and replaying of libpcap compatible capture files. 62 * Add writing and replaying of libpcap compatible capture files.
61 63
62 2003-04-08 Michael Lauer <mickey@Vanille.de> 64 2003-04-08 Michael Lauer <mickey@Vanille.de>
63 65
64 * Released as Version 0.2 (Alpha) 66 * Released as Version 0.2 (Alpha)
65 * Closed memory leak in packet capturer. 67 * Closed memory leak in packet capturer.
66 * Fixed client stations appearing under essid as access points. 68 * Fixed client stations appearing under essid as access points.
67 * Fixed false WEP reporting in some cases. 69 * Fixed false WEP reporting in some cases.
68 * Started with inspecting data packages. 70 * Started with inspecting data packages.
69 * Add detecting associated client stations in infrastructural networks (if they transmit data). 71 * Add detecting associated client stations in infrastructural networks (if they transmit data).
70 * Worked around buggy hostap drivers writing past fixed-length-structures on arm. 72 * Worked around buggy hostap drivers writing past fixed-length-structures on arm.
71 * Added dynamic checking of available private ioctls. 73 * Added dynamic checking of available private ioctls.
72 * Added a saveable hex window for packet dissection. 74 * Added a saveable hex window for packet dissection.
73 75
74 2003-03-30 Michael Lauer <mickey@Vanille.de> 76 2003-03-30 Michael Lauer <mickey@Vanille.de>
75 77
76 * Released as Version 0.1 (Alpha) 78 * Released as Version 0.1 (Alpha)
diff --git a/noncore/net/wellenreiter/TODO b/noncore/net/wellenreiter/TODO
index 01e731f..f3fd205 100644
--- a/noncore/net/wellenreiter/TODO
+++ b/noncore/net/wellenreiter/TODO
@@ -1,62 +1,60 @@
1/************************************************************************ 1/************************************************************************
2/* W e l l e n r e i t e r I I 2/* W e l l e n r e i t e r I I
3/* =============================== 3/* ===============================
4/* 4/*
5/* Version: 1.0.2 5/* Version: 1.0.2
6/************************************************************************ 6/************************************************************************
7 7
8---------------------------------------------------- 8----------------------------------------------------
9 Ideas as of Wellenreiter II / December 2003 9 Ideas as of Wellenreiter II / December 2003
10---------------------------------------------------- 10----------------------------------------------------
11 11
12-------- 12--------
13ENGINE 13ENGINE
14-------- 14--------
15 15
16- enable multiple packet sources 16- enable multiple packet sources
17 - infrared 17 - infrared
18 - bluetooth 18 - bluetooth
19 - usb? 19 - usb?
20 20
21- define packet structure in a metalanguage and generate 21- define packet structure in a metalanguage and generate
22 the actual parsing code (hmmm) 22 the actual parsing code (hmmm)
23 23
24- pester the ethereal folks to settle for an application independant 24- pester the ethereal folks to settle for an application independant
25 packet dissection framework... (unlikely) 25 packet dissection framework... (unlikely)
26 26
27- adaptive hopping scheme ! 27- adaptive hopping scheme !
28 28
29- gather interface capabilities 29- gather interface capabilities
30 30
31- enable sniffing in wired networks 31- enable sniffing in wired networks
32 32
33- fix autodetection (interface name) 33- fix autodetection (interface name)
34 34
35--------- 35---------
36 UI 36 UI
37--------- 37---------
38 38
39- display interface capabilities (or rewrite networksettings?) 39- display interface capabilities (or rewrite networksettings?)
40 40
41- distinguish wireless bridges (WDS traffic) 41- distinguish wireless bridges (WDS traffic)
42 42
43- expand/collapse all
44
45- add configuration for scrollback buffer in hex window and log window 43- add configuration for scrollback buffer in hex window and log window
46 44
47- revamp hex window, make it more sophisticated than just a QMultiLineEdit 45- revamp hex window, make it more sophisticated than just a QMultiLineEdit
48 - tree view 46 - tree view
49 47
50- beep over headphone / customizable 48- beep over headphone / customizable
51 49
52- count/display number of wireless networks / APs since last start/stop 50- count/display number of wireless networks / APs since last start/stop
53 51
54--------- 52---------
55 FILES 53 FILES
56--------- 54---------
57 55
58- write kismet-like .network format and format to be importable into AutoRoute 56- write kismet-like .network format and format to be importable into AutoRoute
59 57
60- implement beacon stripping (the first beacon is enough to detect a 58- implement beacon stripping (the first beacon is enough to detect a
61 new network - further beacons just blow up the capture file) 59 new network - further beacons just blow up the capture file)
62 60
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index 469effe..113e783 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -1,112 +1,116 @@
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>246</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 <property>
50 <name>whatsThis</name>
51 <string></string>
52 </property>
49 <widget> 53 <widget>
50 <class>QWidget</class> 54 <class>QWidget</class>
51 <property stdset="1"> 55 <property stdset="1">
52 <name>name</name> 56 <name>name</name>
53 <cstring>tab</cstring> 57 <cstring>tab</cstring>
54 </property> 58 </property>
55 <attribute> 59 <attribute>
56 <name>title</name> 60 <name>title</name>
57 <string>Interface</string> 61 <string>Interface</string>
58 </attribute> 62 </attribute>
59 <vbox> 63 <vbox>
60 <property stdset="1"> 64 <property stdset="1">
61 <name>margin</name> 65 <name>margin</name>
62 <number>6</number> 66 <number>6</number>
63 </property> 67 </property>
64 <property stdset="1"> 68 <property stdset="1">
65 <name>spacing</name> 69 <name>spacing</name>
66 <number>6</number> 70 <number>6</number>
67 </property> 71 </property>
68 <widget> 72 <widget>
69 <class>QLayoutWidget</class> 73 <class>QLayoutWidget</class>
70 <property stdset="1"> 74 <property stdset="1">
71 <name>name</name> 75 <name>name</name>
72 <cstring>Layout7</cstring> 76 <cstring>Layout7</cstring>
73 </property> 77 </property>
74 <grid> 78 <grid>
75 <property stdset="1"> 79 <property stdset="1">
76 <name>margin</name> 80 <name>margin</name>
77 <number>0</number> 81 <number>0</number>
78 </property> 82 </property>
79 <property stdset="1"> 83 <property stdset="1">
80 <name>spacing</name> 84 <name>spacing</name>
81 <number>6</number> 85 <number>6</number>
82 </property> 86 </property>
83 <widget row="1" column="1" > 87 <widget row="1" column="1" >
84 <class>QComboBox</class> 88 <class>QComboBox</class>
85 <item> 89 <item>
86 <property> 90 <property>
87 <name>text</name> 91 <name>text</name>
88 <string>&lt;select&gt;</string> 92 <string>&lt;select&gt;</string>
89 </property> 93 </property>
90 </item> 94 </item>
91 <item> 95 <item>
92 <property> 96 <property>
93 <name>text</name> 97 <name>text</name>
94 <string>cisco</string> 98 <string>cisco</string>
95 </property> 99 </property>
96 </item> 100 </item>
97 <item> 101 <item>
98 <property> 102 <property>
99 <name>text</name> 103 <name>text</name>
100 <string>wlan-ng</string> 104 <string>wlan-ng</string>
101 </property> 105 </property>
102 </item> 106 </item>
103 <item> 107 <item>
104 <property> 108 <property>
105 <name>text</name> 109 <name>text</name>
106 <string>hostap</string> 110 <string>hostap</string>
107 </property> 111 </property>
108 </item> 112 </item>
109 <item> 113 <item>
110 <property> 114 <property>
111 <name>text</name> 115 <name>text</name>
112 <string>orinoco</string> 116 <string>orinoco</string>
@@ -166,276 +170,296 @@
166 <cstring>interfaceName</cstring> 170 <cstring>interfaceName</cstring>
167 </property> 171 </property>
168 <property stdset="1"> 172 <property stdset="1">
169 <name>enabled</name> 173 <name>enabled</name>
170 <bool>true</bool> 174 <bool>true</bool>
171 </property> 175 </property>
172 <property stdset="1"> 176 <property stdset="1">
173 <name>sizePolicy</name> 177 <name>sizePolicy</name>
174 <sizepolicy> 178 <sizepolicy>
175 <hsizetype>7</hsizetype> 179 <hsizetype>7</hsizetype>
176 <vsizetype>0</vsizetype> 180 <vsizetype>0</vsizetype>
177 </sizepolicy> 181 </sizepolicy>
178 </property> 182 </property>
179 <property stdset="1"> 183 <property stdset="1">
180 <name>editable</name> 184 <name>editable</name>
181 <bool>false</bool> 185 <bool>false</bool>
182 </property> 186 </property>
183 <property> 187 <property>
184 <name>whatsThis</name> 188 <name>whatsThis</name>
185 <string>Choose the interface used for sniffing.</string> 189 <string>Choose the interface used for sniffing.</string>
186 </property> 190 </property>
187 </widget> 191 </widget>
188 <widget row="0" column="0" > 192 <widget row="0" column="0" >
189 <class>QLabel</class> 193 <class>QLabel</class>
190 <property stdset="1"> 194 <property stdset="1">
191 <name>name</name> 195 <name>name</name>
192 <cstring>TextLabel1_2</cstring> 196 <cstring>TextLabel1_2</cstring>
193 </property> 197 </property>
194 <property stdset="1"> 198 <property stdset="1">
195 <name>enabled</name> 199 <name>enabled</name>
196 <bool>true</bool> 200 <bool>true</bool>
197 </property> 201 </property>
198 <property stdset="1"> 202 <property stdset="1">
199 <name>text</name> 203 <name>text</name>
200 <string>Name:</string> 204 <string>Name:</string>
201 </property> 205 </property>
202 </widget> 206 </widget>
203 </grid> 207 </grid>
204 </widget> 208 </widget>
205 <widget> 209 <widget>
206 <class>QLayoutWidget</class> 210 <class>QLayoutWidget</class>
207 <property stdset="1"> 211 <property stdset="1">
208 <name>name</name> 212 <name>name</name>
209 <cstring>Layout5</cstring> 213 <cstring>Layout5</cstring>
210 </property> 214 </property>
211 <hbox> 215 <hbox>
212 <property stdset="1"> 216 <property stdset="1">
213 <name>margin</name> 217 <name>margin</name>
214 <number>0</number> 218 <number>0</number>
215 </property> 219 </property>
216 <property stdset="1"> 220 <property stdset="1">
217 <name>spacing</name> 221 <name>spacing</name>
218 <number>6</number> 222 <number>6</number>
219 </property> 223 </property>
220 <widget> 224 <widget>
221 <class>QPushButton</class> 225 <class>QPushButton</class>
222 <property stdset="1"> 226 <property stdset="1">
223 <name>name</name> 227 <name>name</name>
224 <cstring>autodetect</cstring> 228 <cstring>autodetect</cstring>
225 </property> 229 </property>
226 <property stdset="1"> 230 <property stdset="1">
227 <name>text</name> 231 <name>text</name>
228 <string>Perform Autodetection</string> 232 <string>Perform Autodetection</string>
229 </property> 233 </property>
234 <property>
235 <name>whatsThis</name>
236 <string>Retrigger the autodetection algorithm</string>
237 </property>
230 </widget> 238 </widget>
231 </hbox> 239 </hbox>
232 </widget> 240 </widget>
233 <widget> 241 <widget>
234 <class>QCheckBox</class> 242 <class>QCheckBox</class>
235 <property stdset="1"> 243 <property stdset="1">
236 <name>name</name> 244 <name>name</name>
237 <cstring>prismHeader</cstring> 245 <cstring>prismHeader</cstring>
238 </property> 246 </property>
239 <property stdset="1"> 247 <property stdset="1">
240 <name>text</name> 248 <name>text</name>
241 <string>Use additional PRISM header</string> 249 <string>Use additional PRISM header</string>
242 </property> 250 </property>
251 <property>
252 <name>whatsThis</name>
253 <string>Use additional PRISM headers, if available.</string>
254 </property>
243 </widget> 255 </widget>
244 <spacer> 256 <spacer>
245 <property> 257 <property>
246 <name>name</name> 258 <name>name</name>
247 <cstring>Spacer4</cstring> 259 <cstring>Spacer4</cstring>
248 </property> 260 </property>
249 <property stdset="1"> 261 <property stdset="1">
250 <name>orientation</name> 262 <name>orientation</name>
251 <enum>Vertical</enum> 263 <enum>Vertical</enum>
252 </property> 264 </property>
253 <property stdset="1"> 265 <property stdset="1">
254 <name>sizeType</name> 266 <name>sizeType</name>
255 <enum>Expanding</enum> 267 <enum>Expanding</enum>
256 </property> 268 </property>
257 <property> 269 <property>
258 <name>sizeHint</name> 270 <name>sizeHint</name>
259 <size> 271 <size>
260 <width>20</width> 272 <width>20</width>
261 <height>20</height> 273 <height>20</height>
262 </size> 274 </size>
263 </property> 275 </property>
264 </spacer> 276 </spacer>
265 <widget> 277 <widget>
266 <class>QLayoutWidget</class> 278 <class>QLayoutWidget</class>
267 <property stdset="1"> 279 <property stdset="1">
268 <name>name</name> 280 <name>name</name>
269 <cstring>Layout6</cstring> 281 <cstring>Layout6</cstring>
270 </property> 282 </property>
271 <hbox> 283 <hbox>
272 <property stdset="1"> 284 <property stdset="1">
273 <name>margin</name> 285 <name>margin</name>
274 <number>0</number> 286 <number>0</number>
275 </property> 287 </property>
276 <property stdset="1"> 288 <property stdset="1">
277 <name>spacing</name> 289 <name>spacing</name>
278 <number>6</number> 290 <number>6</number>
279 </property> 291 </property>
280 <widget> 292 <widget>
281 <class>QCheckBox</class> 293 <class>QCheckBox</class>
282 <property stdset="1"> 294 <property stdset="1">
283 <name>name</name> 295 <name>name</name>
284 <cstring>hopChannels</cstring> 296 <cstring>hopChannels</cstring>
285 </property> 297 </property>
286 <property stdset="1"> 298 <property stdset="1">
287 <name>text</name> 299 <name>text</name>
288 <string>Hop Channels</string> 300 <string>Hop Channels</string>
289 </property> 301 </property>
290 <property stdset="1"> 302 <property stdset="1">
291 <name>checked</name> 303 <name>checked</name>
292 <bool>true</bool> 304 <bool>true</bool>
293 </property> 305 </property>
306 <property>
307 <name>whatsThis</name>
308 <string>Check this, if you want to start a channel hopper.</string>
309 </property>
294 </widget> 310 </widget>
295 <widget> 311 <widget>
296 <class>QLabel</class> 312 <class>QLabel</class>
297 <property stdset="1"> 313 <property stdset="1">
298 <name>name</name> 314 <name>name</name>
299 <cstring>TextLabel1</cstring> 315 <cstring>TextLabel1</cstring>
300 </property> 316 </property>
301 <property stdset="1"> 317 <property stdset="1">
302 <name>text</name> 318 <name>text</name>
303 <string>every</string> 319 <string>every</string>
304 </property> 320 </property>
305 </widget> 321 </widget>
306 <widget> 322 <widget>
307 <class>QSpinBox</class> 323 <class>QSpinBox</class>
308 <property stdset="1"> 324 <property stdset="1">
309 <name>name</name> 325 <name>name</name>
310 <cstring>hopInterval</cstring> 326 <cstring>hopInterval</cstring>
311 </property> 327 </property>
312 <property stdset="1"> 328 <property stdset="1">
313 <name>enabled</name> 329 <name>enabled</name>
314 <bool>true</bool> 330 <bool>true</bool>
315 </property> 331 </property>
316 <property stdset="1"> 332 <property stdset="1">
317 <name>suffix</name> 333 <name>suffix</name>
318 <string> ms</string> 334 <string> ms</string>
319 </property> 335 </property>
320 <property stdset="1"> 336 <property stdset="1">
321 <name>maxValue</name> 337 <name>maxValue</name>
322 <number>2000</number> 338 <number>2000</number>
323 </property> 339 </property>
324 <property stdset="1"> 340 <property stdset="1">
325 <name>minValue</name> 341 <name>minValue</name>
326 <number>100</number> 342 <number>100</number>
327 </property> 343 </property>
328 <property stdset="1"> 344 <property stdset="1">
329 <name>lineStep</name> 345 <name>lineStep</name>
330 <number>100</number> 346 <number>100</number>
331 </property> 347 </property>
332 <property stdset="1"> 348 <property stdset="1">
333 <name>value</name> 349 <name>value</name>
334 <number>1000</number> 350 <number>1000</number>
335 </property> 351 </property>
336 <property> 352 <property>
337 <name>whatsThis</name> 353 <name>whatsThis</name>
338 <string>Choose the channel hop interval.</string> 354 <string>Choose the channel hop interval.</string>
339 </property> 355 </property>
340 </widget> 356 </widget>
341 </hbox> 357 </hbox>
342 </widget> 358 </widget>
343 <widget> 359 <widget>
344 <class>QCheckBox</class> 360 <class>QCheckBox</class>
345 <property stdset="1"> 361 <property stdset="1">
346 <name>name</name> 362 <name>name</name>
347 <cstring>adaptiveHopping</cstring> 363 <cstring>adaptiveHopping</cstring>
348 </property> 364 </property>
349 <property stdset="1"> 365 <property stdset="1">
350 <name>enabled</name> 366 <name>enabled</name>
351 <bool>false</bool> 367 <bool>false</bool>
352 </property> 368 </property>
353 <property stdset="1"> 369 <property stdset="1">
354 <name>text</name> 370 <name>text</name>
355 <string>Use Adaptive(TM) Hop Scheme</string> 371 <string>Use Adaptive(TM) Hop Scheme</string>
356 </property> 372 </property>
373 <property>
374 <name>whatsThis</name>
375 <string>An adaptive hopping interval dynamically changes the channel hopping parameters to listen longer on channels where traffic comes in.</string>
376 </property>
357 </widget> 377 </widget>
358 <widget> 378 <widget>
359 <class>QGroupBox</class> 379 <class>QGroupBox</class>
360 <property stdset="1"> 380 <property stdset="1">
361 <name>name</name> 381 <name>name</name>
362 <cstring>GroupBox1</cstring> 382 <cstring>GroupBox1</cstring>
363 </property> 383 </property>
364 <property stdset="1"> 384 <property stdset="1">
365 <name>enabled</name> 385 <name>enabled</name>
366 <bool>false</bool> 386 <bool>false</bool>
367 </property> 387 </property>
368 <property stdset="1"> 388 <property stdset="1">
369 <name>title</name> 389 <name>title</name>
370 <string>Scan on channel</string> 390 <string>Scan on channel</string>
371 </property> 391 </property>
372 <property> 392 <property>
373 <name>layoutMargin</name> 393 <name>layoutMargin</name>
374 </property> 394 </property>
375 <property> 395 <property>
376 <name>layoutSpacing</name> 396 <name>layoutSpacing</name>
377 </property> 397 </property>
398 <property>
399 <name>whatsThis</name>
400 <string>Check the channels which should be included in the channel hopping scheme. Note that due to the 802.11 channel overlay scheme you may receive data on neighbour channels of channels, even if they're not checked here.</string>
401 </property>
378 <grid> 402 <grid>
379 <property stdset="1"> 403 <property stdset="1">
380 <name>margin</name> 404 <name>margin</name>
381 <number>4</number> 405 <number>4</number>
382 </property> 406 </property>
383 <property stdset="1"> 407 <property stdset="1">
384 <name>spacing</name> 408 <name>spacing</name>
385 <number>2</number> 409 <number>2</number>
386 </property> 410 </property>
387 <widget row="1" column="1" > 411 <widget row="1" column="1" >
388 <class>QCheckBox</class> 412 <class>QCheckBox</class>
389 <property stdset="1"> 413 <property stdset="1">
390 <name>name</name> 414 <name>name</name>
391 <cstring>channel6</cstring> 415 <cstring>channel6</cstring>
392 </property> 416 </property>
393 <property stdset="1"> 417 <property stdset="1">
394 <name>text</name> 418 <name>text</name>
395 <string>6</string> 419 <string>6</string>
396 </property> 420 </property>
397 </widget> 421 </widget>
398 <widget row="1" column="3" > 422 <widget row="1" column="3" >
399 <class>QCheckBox</class> 423 <class>QCheckBox</class>
400 <property stdset="1"> 424 <property stdset="1">
401 <name>name</name> 425 <name>name</name>
402 <cstring>channel8</cstring> 426 <cstring>channel8</cstring>
403 </property> 427 </property>
404 <property stdset="1"> 428 <property stdset="1">
405 <name>text</name> 429 <name>text</name>
406 <string>8</string> 430 <string>8</string>
407 </property> 431 </property>
408 </widget> 432 </widget>
409 <widget row="0" column="2" > 433 <widget row="0" column="2" >
410 <class>QCheckBox</class> 434 <class>QCheckBox</class>
411 <property stdset="1"> 435 <property stdset="1">
412 <name>name</name> 436 <name>name</name>
413 <cstring>channel2</cstring> 437 <cstring>channel2</cstring>
414 </property> 438 </property>
415 <property stdset="1"> 439 <property stdset="1">
416 <name>text</name> 440 <name>text</name>
417 <string>2</string> 441 <string>2</string>
418 </property> 442 </property>
419 </widget> 443 </widget>
420 <widget row="1" column="4" > 444 <widget row="1" column="4" >
421 <class>QCheckBox</class> 445 <class>QCheckBox</class>
422 <property stdset="1"> 446 <property stdset="1">
423 <name>name</name> 447 <name>name</name>
424 <cstring>channel9</cstring> 448 <cstring>channel9</cstring>
425 </property> 449 </property>
426 <property stdset="1"> 450 <property stdset="1">
427 <name>text</name> 451 <name>text</name>
428 <string>9</string> 452 <string>9</string>
429 </property> 453 </property>
430 </widget> 454 </widget>
431 <widget row="0" column="1" > 455 <widget row="0" column="1" >
432 <class>QCheckBox</class> 456 <class>QCheckBox</class>
433 <property stdset="1"> 457 <property stdset="1">
434 <name>name</name> 458 <name>name</name>
435 <cstring>channel1</cstring> 459 <cstring>channel1</cstring>
436 </property> 460 </property>
437 <property stdset="1"> 461 <property stdset="1">
438 <name>text</name> 462 <name>text</name>
439 <string>1</string> 463 <string>1</string>
440 </property> 464 </property>
441 </widget> 465 </widget>
@@ -543,268 +567,292 @@
543 <property stdset="1"> 567 <property stdset="1">
544 <name>name</name> 568 <name>name</name>
545 <cstring>channel14</cstring> 569 <cstring>channel14</cstring>
546 </property> 570 </property>
547 <property stdset="1"> 571 <property stdset="1">
548 <name>text</name> 572 <name>text</name>
549 <string>14</string> 573 <string>14</string>
550 </property> 574 </property>
551 </widget> 575 </widget>
552 </grid> 576 </grid>
553 </widget> 577 </widget>
554 </vbox> 578 </vbox>
555 </widget> 579 </widget>
556 <widget> 580 <widget>
557 <class>QWidget</class> 581 <class>QWidget</class>
558 <property stdset="1"> 582 <property stdset="1">
559 <name>name</name> 583 <name>name</name>
560 <cstring>tab</cstring> 584 <cstring>tab</cstring>
561 </property> 585 </property>
562 <attribute> 586 <attribute>
563 <name>title</name> 587 <name>title</name>
564 <string>Capture</string> 588 <string>Capture</string>
565 </attribute> 589 </attribute>
566 <grid> 590 <grid>
567 <property stdset="1"> 591 <property stdset="1">
568 <name>margin</name> 592 <name>margin</name>
569 <number>5</number> 593 <number>5</number>
570 </property> 594 </property>
571 <property stdset="1"> 595 <property stdset="1">
572 <name>spacing</name> 596 <name>spacing</name>
573 <number>3</number> 597 <number>3</number>
574 </property> 598 </property>
575 <widget row="2" column="0" rowspan="1" colspan="3" > 599 <widget row="2" column="0" rowspan="1" colspan="3" >
576 <class>ProtocolListView</class> 600 <class>ProtocolListView</class>
577 <property stdset="1"> 601 <property stdset="1">
578 <name>name</name> 602 <name>name</name>
579 <cstring>capturePackets</cstring> 603 <cstring>capturePackets</cstring>
580 </property> 604 </property>
581 <property stdset="1"> 605 <property stdset="1">
582 <name>enabled</name> 606 <name>enabled</name>
583 <bool>false</bool> 607 <bool>false</bool>
584 </property> 608 </property>
585 <property stdset="1"> 609 <property stdset="1">
586 <name>sizePolicy</name> 610 <name>sizePolicy</name>
587 <sizepolicy> 611 <sizepolicy>
588 <hsizetype>7</hsizetype> 612 <hsizetype>7</hsizetype>
589 <vsizetype>7</vsizetype> 613 <vsizetype>7</vsizetype>
590 </sizepolicy> 614 </sizepolicy>
591 </property> 615 </property>
592 </widget> 616 </widget>
593 <widget row="1" column="0" rowspan="1" colspan="3" > 617 <widget row="1" column="0" rowspan="1" colspan="3" >
594 <class>QLineEdit</class> 618 <class>QLineEdit</class>
595 <property stdset="1"> 619 <property stdset="1">
596 <name>name</name> 620 <name>name</name>
597 <cstring>captureFileName</cstring> 621 <cstring>captureFileName</cstring>
598 </property> 622 </property>
599 <property stdset="1"> 623 <property stdset="1">
600 <name>enabled</name> 624 <name>enabled</name>
601 <bool>false</bool> 625 <bool>false</bool>
602 </property> 626 </property>
603 <property stdset="1"> 627 <property stdset="1">
604 <name>text</name> 628 <name>text</name>
605 <string>/tmp/capture</string> 629 <string>/tmp/capture</string>
606 </property> 630 </property>
631 <property>
632 <name>whatsThis</name>
633 <string>Configure the name of the capture file.</string>
634 </property>
607 </widget> 635 </widget>
608 <widget row="0" column="2" > 636 <widget row="0" column="2" >
609 <class>QToolButton</class> 637 <class>QToolButton</class>
610 <property stdset="1"> 638 <property stdset="1">
611 <name>name</name> 639 <name>name</name>
612 <cstring>getCaptureFileName</cstring> 640 <cstring>getCaptureFileName</cstring>
613 </property> 641 </property>
614 <property stdset="1"> 642 <property stdset="1">
615 <name>enabled</name> 643 <name>enabled</name>
616 <bool>false</bool> 644 <bool>false</bool>
617 </property> 645 </property>
618 <property stdset="1"> 646 <property stdset="1">
619 <name>text</name> 647 <name>text</name>
620 <string>Browse</string> 648 <string>Browse</string>
621 </property> 649 </property>
650 <property>
651 <name>whatsThis</name>
652 <string>Click to open a file requester to choose a capture file name.</string>
653 </property>
622 </widget> 654 </widget>
623 <spacer row="0" column="1" > 655 <spacer row="0" column="1" >
624 <property> 656 <property>
625 <name>name</name> 657 <name>name</name>
626 <cstring>Spacer2</cstring> 658 <cstring>Spacer2</cstring>
627 </property> 659 </property>
628 <property stdset="1"> 660 <property stdset="1">
629 <name>orientation</name> 661 <name>orientation</name>
630 <enum>Horizontal</enum> 662 <enum>Horizontal</enum>
631 </property> 663 </property>
632 <property stdset="1"> 664 <property stdset="1">
633 <name>sizeType</name> 665 <name>sizeType</name>
634 <enum>Expanding</enum> 666 <enum>Expanding</enum>
635 </property> 667 </property>
636 <property> 668 <property>
637 <name>sizeHint</name> 669 <name>sizeHint</name>
638 <size> 670 <size>
639 <width>20</width> 671 <width>20</width>
640 <height>20</height> 672 <height>20</height>
641 </size> 673 </size>
642 </property> 674 </property>
643 </spacer> 675 </spacer>
644 <widget row="0" column="0" > 676 <widget row="0" column="0" >
645 <class>QCheckBox</class> 677 <class>QCheckBox</class>
646 <property stdset="1"> 678 <property stdset="1">
647 <name>name</name> 679 <name>name</name>
648 <cstring>writeCaptureFile</cstring> 680 <cstring>writeCaptureFile</cstring>
649 </property> 681 </property>
650 <property stdset="1"> 682 <property stdset="1">
651 <name>enabled</name> 683 <name>enabled</name>
652 <bool>true</bool> 684 <bool>true</bool>
653 </property> 685 </property>
654 <property stdset="1"> 686 <property stdset="1">
655 <name>text</name> 687 <name>text</name>
656 <string>Write Capture Files To</string> 688 <string>Write Capture Files To</string>
657 </property> 689 </property>
690 <property>
691 <name>whatsThis</name>
692 <string>Check this to write an ethereal compatible capture file.</string>
693 </property>
658 </widget> 694 </widget>
659 </grid> 695 </grid>
660 </widget> 696 </widget>
661 <widget> 697 <widget>
662 <class>QWidget</class> 698 <class>QWidget</class>
663 <property stdset="1"> 699 <property stdset="1">
664 <name>name</name> 700 <name>name</name>
665 <cstring>tab</cstring> 701 <cstring>tab</cstring>
666 </property> 702 </property>
667 <attribute> 703 <attribute>
668 <name>title</name> 704 <name>title</name>
669 <string>Parse</string> 705 <string>Parse</string>
670 </attribute> 706 </attribute>
671 <grid> 707 <grid>
672 <property stdset="1"> 708 <property stdset="1">
673 <name>margin</name> 709 <name>margin</name>
674 <number>5</number> 710 <number>5</number>
675 </property> 711 </property>
676 <property stdset="1"> 712 <property stdset="1">
677 <name>spacing</name> 713 <name>spacing</name>
678 <number>3</number> 714 <number>3</number>
679 </property> 715 </property>
680 <widget row="0" column="0" > 716 <widget row="0" column="0" >
681 <class>ProtocolListView</class> 717 <class>ProtocolListView</class>
682 <property stdset="1"> 718 <property stdset="1">
683 <name>name</name> 719 <name>name</name>
684 <cstring>parsePackets</cstring> 720 <cstring>parsePackets</cstring>
685 </property> 721 </property>
686 <property stdset="1"> 722 <property stdset="1">
687 <name>sizePolicy</name> 723 <name>sizePolicy</name>
688 <sizepolicy> 724 <sizepolicy>
689 <hsizetype>7</hsizetype> 725 <hsizetype>7</hsizetype>
690 <vsizetype>7</vsizetype> 726 <vsizetype>7</vsizetype>
691 </sizepolicy> 727 </sizepolicy>
692 </property> 728 </property>
693 </widget> 729 </widget>
694 </grid> 730 </grid>
695 </widget> 731 </widget>
696 <widget> 732 <widget>
697 <class>QWidget</class> 733 <class>QWidget</class>
698 <property stdset="1"> 734 <property stdset="1">
699 <name>name</name> 735 <name>name</name>
700 <cstring>tab</cstring> 736 <cstring>tab</cstring>
701 </property> 737 </property>
702 <attribute> 738 <attribute>
703 <name>title</name> 739 <name>title</name>
704 <string>UI</string> 740 <string>UI</string>
705 </attribute> 741 </attribute>
706 <vbox> 742 <vbox>
707 <property stdset="1"> 743 <property stdset="1">
708 <name>margin</name> 744 <name>margin</name>
709 <number>5</number> 745 <number>5</number>
710 </property> 746 </property>
711 <property stdset="1"> 747 <property stdset="1">
712 <name>spacing</name> 748 <name>spacing</name>
713 <number>3</number> 749 <number>3</number>
714 </property> 750 </property>
715 <widget> 751 <widget>
716 <class>QCheckBox</class> 752 <class>QCheckBox</class>
717 <property stdset="1"> 753 <property stdset="1">
718 <name>name</name> 754 <name>name</name>
719 <cstring>lookupVendor</cstring> 755 <cstring>lookupVendor</cstring>
720 </property> 756 </property>
721 <property stdset="1"> 757 <property stdset="1">
722 <name>text</name> 758 <name>text</name>
723 <string>Lookup MAC vendor names</string> 759 <string>Lookup MAC vendor names</string>
724 </property> 760 </property>
761 <property>
762 <name>whatsThis</name>
763 <string>Check this to lookup MAC vendor names.</string>
764 </property>
725 </widget> 765 </widget>
726 <widget> 766 <widget>
727 <class>QCheckBox</class> 767 <class>QCheckBox</class>
728 <property stdset="1"> 768 <property stdset="1">
729 <name>name</name> 769 <name>name</name>
730 <cstring>openTree</cstring> 770 <cstring>openTree</cstring>
731 </property> 771 </property>
732 <property stdset="1"> 772 <property stdset="1">
733 <name>text</name> 773 <name>text</name>
734 <string>Open Tree On New Station</string> 774 <string>Open Tree On New Station</string>
735 </property> 775 </property>
776 <property>
777 <name>whatsThis</name>
778 <string>Check this to automatically make a tree visible when a new station is detected.</string>
779 </property>
736 </widget> 780 </widget>
737 <widget> 781 <widget>
738 <class>QCheckBox</class> 782 <class>QCheckBox</class>
739 <property stdset="1"> 783 <property stdset="1">
740 <name>name</name> 784 <name>name</name>
741 <cstring>disablePM</cstring> 785 <cstring>disablePM</cstring>
742 </property> 786 </property>
743 <property stdset="1"> 787 <property stdset="1">
744 <name>text</name> 788 <name>text</name>
745 <string>Disable Power Management</string> 789 <string>Disable Power Management</string>
746 </property> 790 </property>
791 <property>
792 <name>whatsThis</name>
793 <string>Check this to disable power management while scanning.</string>
794 </property>
747 </widget> 795 </widget>
748 <spacer> 796 <spacer>
749 <property> 797 <property>
750 <name>name</name> 798 <name>name</name>
751 <cstring>Spacer3</cstring> 799 <cstring>Spacer3</cstring>
752 </property> 800 </property>
753 <property stdset="1"> 801 <property stdset="1">
754 <name>orientation</name> 802 <name>orientation</name>
755 <enum>Vertical</enum> 803 <enum>Vertical</enum>
756 </property> 804 </property>
757 <property stdset="1"> 805 <property stdset="1">
758 <name>sizeType</name> 806 <name>sizeType</name>
759 <enum>Expanding</enum> 807 <enum>Expanding</enum>
760 </property> 808 </property>
761 <property> 809 <property>
762 <name>sizeHint</name> 810 <name>sizeHint</name>
763 <size> 811 <size>
764 <width>20</width> 812 <width>20</width>
765 <height>20</height> 813 <height>20</height>
766 </size> 814 </size>
767 </property> 815 </property>
768 </spacer> 816 </spacer>
769 <widget> 817 <widget>
770 <class>QGroupBox</class> 818 <class>QGroupBox</class>
771 <property stdset="1"> 819 <property stdset="1">
772 <name>name</name> 820 <name>name</name>
773 <cstring>GroupBox4_2</cstring> 821 <cstring>GroupBox4_2</cstring>
774 </property> 822 </property>
775 <property stdset="1"> 823 <property stdset="1">
776 <name>enabled</name> 824 <name>enabled</name>
777 <bool>true</bool> 825 <bool>true</bool>
778 </property> 826 </property>
779 <property stdset="1"> 827 <property stdset="1">
780 <name>title</name> 828 <name>title</name>
781 <string>Action on detecting a new</string> 829 <string>Action on detecting a new</string>
782 </property> 830 </property>
783 <property> 831 <property>
784 <name>layoutMargin</name> 832 <name>layoutMargin</name>
785 </property> 833 </property>
786 <property> 834 <property>
787 <name>layoutSpacing</name> 835 <name>layoutSpacing</name>
788 </property> 836 </property>
789 <grid> 837 <grid>
790 <property stdset="1"> 838 <property stdset="1">
791 <name>margin</name> 839 <name>margin</name>
792 <number>3</number> 840 <number>3</number>
793 </property> 841 </property>
794 <property stdset="1"> 842 <property stdset="1">
795 <name>spacing</name> 843 <name>spacing</name>
796 <number>0</number> 844 <number>0</number>
797 </property> 845 </property>
798 <widget row="0" column="0" > 846 <widget row="0" column="0" >
799 <class>QLayoutWidget</class> 847 <class>QLayoutWidget</class>
800 <property stdset="1"> 848 <property stdset="1">
801 <name>name</name> 849 <name>name</name>
802 <cstring>Layout6</cstring> 850 <cstring>Layout6</cstring>
803 </property> 851 </property>
804 <property> 852 <property>
805 <name>layoutMargin</name> 853 <name>layoutMargin</name>
806 </property> 854 </property>
807 <property> 855 <property>
808 <name>layoutSpacing</name> 856 <name>layoutSpacing</name>
809 </property> 857 </property>
810 <grid> 858 <grid>
@@ -820,264 +868,288 @@
820 <class>QLabel</class> 868 <class>QLabel</class>
821 <property stdset="1"> 869 <property stdset="1">
822 <name>name</name> 870 <name>name</name>
823 <cstring>TextLabel3</cstring> 871 <cstring>TextLabel3</cstring>
824 </property> 872 </property>
825 <property stdset="1"> 873 <property stdset="1">
826 <name>text</name> 874 <name>text</name>
827 <string>Wired Station:</string> 875 <string>Wired Station:</string>
828 </property> 876 </property>
829 </widget> 877 </widget>
830 <widget row="0" column="0" > 878 <widget row="0" column="0" >
831 <class>QLabel</class> 879 <class>QLabel</class>
832 <property stdset="1"> 880 <property stdset="1">
833 <name>name</name> 881 <name>name</name>
834 <cstring>TextLabel1_3</cstring> 882 <cstring>TextLabel1_3</cstring>
835 </property> 883 </property>
836 <property stdset="1"> 884 <property stdset="1">
837 <name>text</name> 885 <name>text</name>
838 <string>Network:</string> 886 <string>Network:</string>
839 </property> 887 </property>
840 </widget> 888 </widget>
841 <widget row="2" column="1" > 889 <widget row="2" column="1" >
842 <class>QComboBox</class> 890 <class>QComboBox</class>
843 <item> 891 <item>
844 <property> 892 <property>
845 <name>text</name> 893 <name>text</name>
846 <string>&lt;Ignore&gt;</string> 894 <string>&lt;Ignore&gt;</string>
847 </property> 895 </property>
848 </item> 896 </item>
849 <item> 897 <item>
850 <property> 898 <property>
851 <name>text</name> 899 <name>text</name>
852 <string>Play Alarm</string> 900 <string>Play Alarm</string>
853 </property> 901 </property>
854 </item> 902 </item>
855 <item> 903 <item>
856 <property> 904 <property>
857 <name>text</name> 905 <name>text</name>
858 <string>Play Click</string> 906 <string>Play Click</string>
859 </property> 907 </property>
860 </item> 908 </item>
861 <item> 909 <item>
862 <property> 910 <property>
863 <name>text</name> 911 <name>text</name>
864 <string>Blink LED</string> 912 <string>Blink LED</string>
865 </property> 913 </property>
866 </item> 914 </item>
867 <item> 915 <item>
868 <property> 916 <property>
869 <name>text</name> 917 <name>text</name>
870 <string>Run Script</string> 918 <string>Run Script</string>
871 </property> 919 </property>
872 </item> 920 </item>
873 <property stdset="1"> 921 <property stdset="1">
874 <name>name</name> 922 <name>name</name>
875 <cstring>newClientAction</cstring> 923 <cstring>newClientAction</cstring>
876 </property> 924 </property>
877 <property stdset="1"> 925 <property stdset="1">
878 <name>sizePolicy</name> 926 <name>sizePolicy</name>
879 <sizepolicy> 927 <sizepolicy>
880 <hsizetype>7</hsizetype> 928 <hsizetype>7</hsizetype>
881 <vsizetype>0</vsizetype> 929 <vsizetype>0</vsizetype>
882 </sizepolicy> 930 </sizepolicy>
883 </property> 931 </property>
932 <property>
933 <name>whatsThis</name>
934 <string>Choose an action to perform when a new wireless station is detected.</string>
935 </property>
884 </widget> 936 </widget>
885 <widget row="3" column="0" rowspan="1" colspan="2" > 937 <widget row="3" column="0" rowspan="1" colspan="2" >
886 <class>QLineEdit</class> 938 <class>QLineEdit</class>
887 <property stdset="1"> 939 <property stdset="1">
888 <name>name</name> 940 <name>name</name>
889 <cstring>newClientScript</cstring> 941 <cstring>newClientScript</cstring>
890 </property> 942 </property>
891 <property stdset="1"> 943 <property stdset="1">
892 <name>enabled</name> 944 <name>enabled</name>
893 <bool>true</bool> 945 <bool>true</bool>
894 </property> 946 </property>
947 <property>
948 <name>whatsThis</name>
949 <string>The command line to execute when a script action is performed.</string>
950 </property>
895 </widget> 951 </widget>
896 <widget row="2" column="0" > 952 <widget row="2" column="0" >
897 <class>QLabel</class> 953 <class>QLabel</class>
898 <property stdset="1"> 954 <property stdset="1">
899 <name>name</name> 955 <name>name</name>
900 <cstring>TextLabel2</cstring> 956 <cstring>TextLabel2</cstring>
901 </property> 957 </property>
902 <property stdset="1"> 958 <property stdset="1">
903 <name>text</name> 959 <name>text</name>
904 <string>Wireless Station:</string> 960 <string>Wireless Station:</string>
905 </property> 961 </property>
906 </widget> 962 </widget>
907 <widget row="4" column="1" > 963 <widget row="4" column="1" >
908 <class>QComboBox</class> 964 <class>QComboBox</class>
909 <item> 965 <item>
910 <property> 966 <property>
911 <name>text</name> 967 <name>text</name>
912 <string>&lt;Ignore&gt;</string> 968 <string>&lt;Ignore&gt;</string>
913 </property> 969 </property>
914 </item> 970 </item>
915 <item> 971 <item>
916 <property> 972 <property>
917 <name>text</name> 973 <name>text</name>
918 <string>Play Alarm</string> 974 <string>Play Alarm</string>
919 </property> 975 </property>
920 </item> 976 </item>
921 <item> 977 <item>
922 <property> 978 <property>
923 <name>text</name> 979 <name>text</name>
924 <string>Play Click</string> 980 <string>Play Click</string>
925 </property> 981 </property>
926 </item> 982 </item>
927 <item> 983 <item>
928 <property> 984 <property>
929 <name>text</name> 985 <name>text</name>
930 <string>Blink LED</string> 986 <string>Blink LED</string>
931 </property> 987 </property>
932 </item> 988 </item>
933 <item> 989 <item>
934 <property> 990 <property>
935 <name>text</name> 991 <name>text</name>
936 <string>Run Script</string> 992 <string>Run Script</string>
937 </property> 993 </property>
938 </item> 994 </item>
939 <property stdset="1"> 995 <property stdset="1">
940 <name>name</name> 996 <name>name</name>
941 <cstring>newStationAction</cstring> 997 <cstring>newStationAction</cstring>
942 </property> 998 </property>
943 <property stdset="1"> 999 <property stdset="1">
944 <name>sizePolicy</name> 1000 <name>sizePolicy</name>
945 <sizepolicy> 1001 <sizepolicy>
946 <hsizetype>7</hsizetype> 1002 <hsizetype>7</hsizetype>
947 <vsizetype>0</vsizetype> 1003 <vsizetype>0</vsizetype>
948 </sizepolicy> 1004 </sizepolicy>
949 </property> 1005 </property>
1006 <property>
1007 <name>whatsThis</name>
1008 <string>Choose the action to perform when a new wired station is detected.</string>
1009 </property>
950 </widget> 1010 </widget>
951 <widget row="0" column="1" > 1011 <widget row="0" column="1" >
952 <class>QComboBox</class> 1012 <class>QComboBox</class>
953 <item> 1013 <item>
954 <property> 1014 <property>
955 <name>text</name> 1015 <name>text</name>
956 <string>&lt;Ignore&gt;</string> 1016 <string>&lt;Ignore&gt;</string>
957 </property> 1017 </property>
958 </item> 1018 </item>
959 <item> 1019 <item>
960 <property> 1020 <property>
961 <name>text</name> 1021 <name>text</name>
962 <string>Play Alarm</string> 1022 <string>Play Alarm</string>
963 </property> 1023 </property>
964 </item> 1024 </item>
965 <item> 1025 <item>
966 <property> 1026 <property>
967 <name>text</name> 1027 <name>text</name>
968 <string>Play Click</string> 1028 <string>Play Click</string>
969 </property> 1029 </property>
970 </item> 1030 </item>
971 <item> 1031 <item>
972 <property> 1032 <property>
973 <name>text</name> 1033 <name>text</name>
974 <string>Blink LED</string> 1034 <string>Blink LED</string>
975 </property> 1035 </property>
976 </item> 1036 </item>
977 <item> 1037 <item>
978 <property> 1038 <property>
979 <name>text</name> 1039 <name>text</name>
980 <string>Run Script</string> 1040 <string>Run Script</string>
981 </property> 1041 </property>
982 </item> 1042 </item>
983 <property stdset="1"> 1043 <property stdset="1">
984 <name>name</name> 1044 <name>name</name>
985 <cstring>newNetworkAction</cstring> 1045 <cstring>newNetworkAction</cstring>
986 </property> 1046 </property>
987 <property stdset="1"> 1047 <property stdset="1">
988 <name>sizePolicy</name> 1048 <name>sizePolicy</name>
989 <sizepolicy> 1049 <sizepolicy>
990 <hsizetype>7</hsizetype> 1050 <hsizetype>7</hsizetype>
991 <vsizetype>0</vsizetype> 1051 <vsizetype>0</vsizetype>
992 </sizepolicy> 1052 </sizepolicy>
993 </property> 1053 </property>
994 <property stdset="1"> 1054 <property stdset="1">
995 <name>editable</name> 1055 <name>editable</name>
996 <bool>false</bool> 1056 <bool>false</bool>
997 </property> 1057 </property>
1058 <property>
1059 <name>whatsThis</name>
1060 <string>Choose an action to perform when a new network is detected.</string>
1061 </property>
998 </widget> 1062 </widget>
999 <widget row="1" column="0" rowspan="1" colspan="2" > 1063 <widget row="1" column="0" rowspan="1" colspan="2" >
1000 <class>QLineEdit</class> 1064 <class>QLineEdit</class>
1001 <property stdset="1"> 1065 <property stdset="1">
1002 <name>name</name> 1066 <name>name</name>
1003 <cstring>newNetworkScript</cstring> 1067 <cstring>newNetworkScript</cstring>
1004 </property> 1068 </property>
1005 <property stdset="1"> 1069 <property stdset="1">
1006 <name>enabled</name> 1070 <name>enabled</name>
1007 <bool>true</bool> 1071 <bool>true</bool>
1008 </property> 1072 </property>
1073 <property>
1074 <name>whatsThis</name>
1075 <string>The command line to execute when a script action is performed.</string>
1076 </property>
1009 </widget> 1077 </widget>
1010 <widget row="5" column="0" rowspan="1" colspan="2" > 1078 <widget row="5" column="0" rowspan="1" colspan="2" >
1011 <class>QLineEdit</class> 1079 <class>QLineEdit</class>
1012 <property stdset="1"> 1080 <property stdset="1">
1013 <name>name</name> 1081 <name>name</name>
1014 <cstring>newStationScript</cstring> 1082 <cstring>newStationScript</cstring>
1015 </property> 1083 </property>
1016 <property stdset="1"> 1084 <property stdset="1">
1017 <name>enabled</name> 1085 <name>enabled</name>
1018 <bool>true</bool> 1086 <bool>true</bool>
1019 </property> 1087 </property>
1088 <property>
1089 <name>whatsThis</name>
1090 <string>Choose an action to perform when a new wireless station is detected.</string>
1091 </property>
1020 </widget> 1092 </widget>
1021 </grid> 1093 </grid>
1022 </widget> 1094 </widget>
1023 </grid> 1095 </grid>
1024 </widget> 1096 </widget>
1025 </vbox> 1097 </vbox>
1026 </widget> 1098 </widget>
1027 <widget> 1099 <widget>
1028 <class>QWidget</class> 1100 <class>QWidget</class>
1029 <property stdset="1"> 1101 <property stdset="1">
1030 <name>name</name> 1102 <name>name</name>
1031 <cstring>tab</cstring> 1103 <cstring>tab</cstring>
1032 </property> 1104 </property>
1033 <attribute> 1105 <attribute>
1034 <name>title</name> 1106 <name>title</name>
1035 <string>Intrusion</string> 1107 <string>Intrusion</string>
1036 </attribute> 1108 </attribute>
1037 <grid> 1109 <grid>
1038 <property stdset="1"> 1110 <property stdset="1">
1039 <name>margin</name> 1111 <name>margin</name>
1040 <number>6</number> 1112 <number>6</number>
1041 </property> 1113 </property>
1042 <property stdset="1"> 1114 <property stdset="1">
1043 <name>spacing</name> 1115 <name>spacing</name>
1044 <number>6</number> 1116 <number>6</number>
1045 </property> 1117 </property>
1046 <widget row="1" column="0" > 1118 <widget row="1" column="0" >
1047 <class>QGroupBox</class> 1119 <class>QGroupBox</class>
1048 <property stdset="1"> 1120 <property stdset="1">
1049 <name>name</name> 1121 <name>name</name>
1050 <cstring>GroupBox3</cstring> 1122 <cstring>GroupBox3</cstring>
1051 </property> 1123 </property>
1052 <property stdset="1"> 1124 <property stdset="1">
1053 <name>enabled</name> 1125 <name>enabled</name>
1054 <bool>false</bool> 1126 <bool>false</bool>
1055 </property> 1127 </property>
1056 <property stdset="1"> 1128 <property stdset="1">
1057 <name>title</name> 1129 <name>title</name>
1058 <string>Link Level</string> 1130 <string>Link Level</string>
1059 </property> 1131 </property>
1060 <grid> 1132 <grid>
1061 <property stdset="1"> 1133 <property stdset="1">
1062 <name>margin</name> 1134 <name>margin</name>
1063 <number>11</number> 1135 <number>11</number>
1064 </property> 1136 </property>
1065 <property stdset="1"> 1137 <property stdset="1">
1066 <name>spacing</name> 1138 <name>spacing</name>
1067 <number>6</number> 1139 <number>6</number>
1068 </property> 1140 </property>
1069 <widget row="0" column="0" > 1141 <widget row="0" column="0" >
1070 <class>QLabel</class> 1142 <class>QLabel</class>
1071 <property stdset="1"> 1143 <property stdset="1">
1072 <name>name</name> 1144 <name>name</name>
1073 <cstring>TextLabel1_5</cstring> 1145 <cstring>TextLabel1_5</cstring>
1074 </property> 1146 </property>
1075 <property stdset="1"> 1147 <property stdset="1">
1076 <name>text</name> 1148 <name>text</name>
1077 <string>Fake Mac:</string> 1149 <string>Fake Mac:</string>
1078 </property> 1150 </property>
1079 </widget> 1151 </widget>
1080 <widget row="1" column="0" rowspan="1" colspan="2" > 1152 <widget row="1" column="0" rowspan="1" colspan="2" >
1081 <class>QCheckBox</class> 1153 <class>QCheckBox</class>
1082 <property stdset="1"> 1154 <property stdset="1">
1083 <name>name</name> 1155 <name>name</name>
@@ -1220,241 +1292,261 @@
1220 <property stdset="1"> 1292 <property stdset="1">
1221 <name>sizePolicy</name> 1293 <name>sizePolicy</name>
1222 <sizepolicy> 1294 <sizepolicy>
1223 <hsizetype>7</hsizetype> 1295 <hsizetype>7</hsizetype>
1224 <vsizetype>0</vsizetype> 1296 <vsizetype>0</vsizetype>
1225 </sizepolicy> 1297 </sizepolicy>
1226 </property> 1298 </property>
1227 <property stdset="1"> 1299 <property stdset="1">
1228 <name>editable</name> 1300 <name>editable</name>
1229 <bool>true</bool> 1301 <bool>true</bool>
1230 </property> 1302 </property>
1231 <property stdset="1"> 1303 <property stdset="1">
1232 <name>currentItem</name> 1304 <name>currentItem</name>
1233 <number>0</number> 1305 <number>0</number>
1234 </property> 1306 </property>
1235 </widget> 1307 </widget>
1236 </grid> 1308 </grid>
1237 </widget> 1309 </widget>
1238 </grid> 1310 </grid>
1239 </widget> 1311 </widget>
1240 <widget> 1312 <widget>
1241 <class>QWidget</class> 1313 <class>QWidget</class>
1242 <property stdset="1"> 1314 <property stdset="1">
1243 <name>name</name> 1315 <name>name</name>
1244 <cstring>tab</cstring> 1316 <cstring>tab</cstring>
1245 </property> 1317 </property>
1246 <attribute> 1318 <attribute>
1247 <name>title</name> 1319 <name>title</name>
1248 <string>GPS</string> 1320 <string>GPS</string>
1249 </attribute> 1321 </attribute>
1250 <grid> 1322 <grid>
1251 <property stdset="1"> 1323 <property stdset="1">
1252 <name>margin</name> 1324 <name>margin</name>
1253 <number>5</number> 1325 <number>5</number>
1254 </property> 1326 </property>
1255 <property stdset="1"> 1327 <property stdset="1">
1256 <name>spacing</name> 1328 <name>spacing</name>
1257 <number>4</number> 1329 <number>4</number>
1258 </property> 1330 </property>
1259 <widget row="0" column="0" > 1331 <widget row="0" column="0" >
1260 <class>QLayoutWidget</class> 1332 <class>QLayoutWidget</class>
1261 <property stdset="1"> 1333 <property stdset="1">
1262 <name>name</name> 1334 <name>name</name>
1263 <cstring>Layout6</cstring> 1335 <cstring>Layout6</cstring>
1264 </property> 1336 </property>
1265 <vbox> 1337 <vbox>
1266 <property stdset="1"> 1338 <property stdset="1">
1267 <name>margin</name> 1339 <name>margin</name>
1268 <number>0</number> 1340 <number>0</number>
1269 </property> 1341 </property>
1270 <property stdset="1"> 1342 <property stdset="1">
1271 <name>spacing</name> 1343 <name>spacing</name>
1272 <number>6</number> 1344 <number>6</number>
1273 </property> 1345 </property>
1274 <widget> 1346 <widget>
1275 <class>QCheckBox</class> 1347 <class>QCheckBox</class>
1276 <property stdset="1"> 1348 <property stdset="1">
1277 <name>name</name> 1349 <name>name</name>
1278 <cstring>enableGPS</cstring> 1350 <cstring>enableGPS</cstring>
1279 </property> 1351 </property>
1280 <property stdset="1"> 1352 <property stdset="1">
1281 <name>text</name> 1353 <name>text</name>
1282 <string>Enable GPS logging w/ gpsd</string> 1354 <string>Enable GPS logging w/ gpsd</string>
1283 </property> 1355 </property>
1356 <property>
1357 <name>whatsThis</name>
1358 <string>Check this to log GPS coordinates.</string>
1359 </property>
1284 </widget> 1360 </widget>
1285 <widget> 1361 <widget>
1286 <class>QLayoutWidget</class> 1362 <class>QLayoutWidget</class>
1287 <property stdset="1"> 1363 <property stdset="1">
1288 <name>name</name> 1364 <name>name</name>
1289 <cstring>Layout1</cstring> 1365 <cstring>Layout1</cstring>
1290 </property> 1366 </property>
1291 <hbox> 1367 <hbox>
1292 <property stdset="1"> 1368 <property stdset="1">
1293 <name>margin</name> 1369 <name>margin</name>
1294 <number>0</number> 1370 <number>0</number>
1295 </property> 1371 </property>
1296 <property stdset="1"> 1372 <property stdset="1">
1297 <name>spacing</name> 1373 <name>spacing</name>
1298 <number>6</number> 1374 <number>6</number>
1299 </property> 1375 </property>
1300 <widget> 1376 <widget>
1301 <class>QLabel</class> 1377 <class>QLabel</class>
1302 <property stdset="1"> 1378 <property stdset="1">
1303 <name>name</name> 1379 <name>name</name>
1304 <cstring>TextLabel1_4</cstring> 1380 <cstring>TextLabel1_4</cstring>
1305 </property> 1381 </property>
1306 <property stdset="1"> 1382 <property stdset="1">
1307 <name>text</name> 1383 <name>text</name>
1308 <string>Host</string> 1384 <string>Host</string>
1309 </property> 1385 </property>
1310 </widget> 1386 </widget>
1311 <widget> 1387 <widget>
1312 <class>QComboBox</class> 1388 <class>QComboBox</class>
1313 <item> 1389 <item>
1314 <property> 1390 <property>
1315 <name>text</name> 1391 <name>text</name>
1316 <string>localhost</string> 1392 <string>localhost</string>
1317 </property> 1393 </property>
1318 </item> 1394 </item>
1319 <property stdset="1"> 1395 <property stdset="1">
1320 <name>name</name> 1396 <name>name</name>
1321 <cstring>gpsdHost</cstring> 1397 <cstring>gpsdHost</cstring>
1322 </property> 1398 </property>
1323 <property stdset="1"> 1399 <property stdset="1">
1324 <name>enabled</name> 1400 <name>enabled</name>
1325 <bool>false</bool> 1401 <bool>false</bool>
1326 </property> 1402 </property>
1327 <property stdset="1"> 1403 <property stdset="1">
1328 <name>editable</name> 1404 <name>editable</name>
1329 <bool>true</bool> 1405 <bool>true</bool>
1330 </property> 1406 </property>
1331 <property stdset="1"> 1407 <property stdset="1">
1332 <name>currentItem</name> 1408 <name>currentItem</name>
1333 <number>0</number> 1409 <number>0</number>
1334 </property> 1410 </property>
1411 <property>
1412 <name>whatsThis</name>
1413 <string>Hostadress where the gps daemon listens on.</string>
1414 </property>
1335 </widget> 1415 </widget>
1336 <widget> 1416 <widget>
1337 <class>QLabel</class> 1417 <class>QLabel</class>
1338 <property stdset="1"> 1418 <property stdset="1">
1339 <name>name</name> 1419 <name>name</name>
1340 <cstring>TextLabel2_2</cstring> 1420 <cstring>TextLabel2_2</cstring>
1341 </property> 1421 </property>
1342 <property stdset="1"> 1422 <property stdset="1">
1343 <name>text</name> 1423 <name>text</name>
1344 <string>:</string> 1424 <string>:</string>
1345 </property> 1425 </property>
1346 </widget> 1426 </widget>
1347 <widget> 1427 <widget>
1348 <class>QSpinBox</class> 1428 <class>QSpinBox</class>
1349 <property stdset="1"> 1429 <property stdset="1">
1350 <name>name</name> 1430 <name>name</name>
1351 <cstring>gpsdPort</cstring> 1431 <cstring>gpsdPort</cstring>
1352 </property> 1432 </property>
1353 <property stdset="1"> 1433 <property stdset="1">
1354 <name>enabled</name> 1434 <name>enabled</name>
1355 <bool>false</bool> 1435 <bool>false</bool>
1356 </property> 1436 </property>
1357 <property stdset="1"> 1437 <property stdset="1">
1358 <name>maxValue</name> 1438 <name>maxValue</name>
1359 <number>65535</number> 1439 <number>65535</number>
1360 </property> 1440 </property>
1361 <property stdset="1"> 1441 <property stdset="1">
1362 <name>minValue</name> 1442 <name>minValue</name>
1363 <number>1024</number> 1443 <number>1024</number>
1364 </property> 1444 </property>
1365 <property stdset="1"> 1445 <property stdset="1">
1366 <name>value</name> 1446 <name>value</name>
1367 <number>2947</number> 1447 <number>2947</number>
1368 </property> 1448 </property>
1449 <property>
1450 <name>whatsThis</name>
1451 <string>Port number where the gps daemon listens on.</string>
1452 </property>
1369 </widget> 1453 </widget>
1370 </hbox> 1454 </hbox>
1371 </widget> 1455 </widget>
1372 <widget> 1456 <widget>
1373 <class>QCheckBox</class> 1457 <class>QCheckBox</class>
1374 <property stdset="1"> 1458 <property stdset="1">
1375 <name>name</name> 1459 <name>name</name>
1376 <cstring>startGPS</cstring> 1460 <cstring>startGPS</cstring>
1377 </property> 1461 </property>
1378 <property stdset="1"> 1462 <property stdset="1">
1379 <name>text</name> 1463 <name>text</name>
1380 <string>Start gpsd on localhost</string> 1464 <string>Start gpsd on localhost</string>
1381 </property> 1465 </property>
1466 <property>
1467 <name>whatsThis</name>
1468 <string>Check to start the GPS daemon on localhost.</string>
1469 </property>
1382 </widget> 1470 </widget>
1383 <widget> 1471 <widget>
1384 <class>QLineEdit</class> 1472 <class>QLineEdit</class>
1385 <property stdset="1"> 1473 <property stdset="1">
1386 <name>name</name> 1474 <name>name</name>
1387 <cstring>commandGPS</cstring> 1475 <cstring>commandGPS</cstring>
1388 </property> 1476 </property>
1389 <property stdset="1"> 1477 <property stdset="1">
1390 <name>enabled</name> 1478 <name>enabled</name>
1391 <bool>false</bool> 1479 <bool>false</bool>
1392 </property> 1480 </property>
1393 <property stdset="1"> 1481 <property stdset="1">
1394 <name>text</name> 1482 <name>text</name>
1395 <string>gpsd -p /dev/ttyS3 -s 4800</string> 1483 <string>gpsd -p /dev/ttyS3 -s 4800</string>
1396 </property> 1484 </property>
1485 <property>
1486 <name>whatsThis</name>
1487 <string>Command line to start the gps daemon.</string>
1488 </property>
1397 </widget> 1489 </widget>
1398 <spacer> 1490 <spacer>
1399 <property> 1491 <property>
1400 <name>name</name> 1492 <name>name</name>
1401 <cstring>Spacer4_2</cstring> 1493 <cstring>Spacer4_2</cstring>
1402 </property> 1494 </property>
1403 <property stdset="1"> 1495 <property stdset="1">
1404 <name>orientation</name> 1496 <name>orientation</name>
1405 <enum>Vertical</enum> 1497 <enum>Vertical</enum>
1406 </property> 1498 </property>
1407 <property stdset="1"> 1499 <property stdset="1">
1408 <name>sizeType</name> 1500 <name>sizeType</name>
1409 <enum>Expanding</enum> 1501 <enum>Expanding</enum>
1410 </property> 1502 </property>
1411 <property> 1503 <property>
1412 <name>sizeHint</name> 1504 <name>sizeHint</name>
1413 <size> 1505 <size>
1414 <width>20</width> 1506 <width>20</width>
1415 <height>20</height> 1507 <height>20</height>
1416 </size> 1508 </size>
1417 </property> 1509 </property>
1418 </spacer> 1510 </spacer>
1419 </vbox> 1511 </vbox>
1420 </widget> 1512 </widget>
1421 </grid> 1513 </grid>
1422 </widget> 1514 </widget>
1423 </widget> 1515 </widget>
1424 </grid> 1516 </grid>
1425</widget> 1517</widget>
1426<customwidgets> 1518<customwidgets>
1427 <customwidget> 1519 <customwidget>
1428 <class>ProtocolListView</class> 1520 <class>ProtocolListView</class>
1429 <header location="local">protolistview.h</header> 1521 <header location="local">protolistview.h</header>
1430 <sizehint> 1522 <sizehint>
1431 <width>100</width> 1523 <width>100</width>
1432 <height>100</height> 1524 <height>100</height>
1433 </sizehint> 1525 </sizehint>
1434 <container>0</container> 1526 <container>0</container>
1435 <sizepolicy> 1527 <sizepolicy>
1436 <hordata>3</hordata> 1528 <hordata>3</hordata>
1437 <verdata>3</verdata> 1529 <verdata>3</verdata>
1438 </sizepolicy> 1530 </sizepolicy>
1439 <pixmap>image0</pixmap> 1531 <pixmap>image0</pixmap>
1440 </customwidget> 1532 </customwidget>
1441</customwidgets> 1533</customwidgets>
1442<images> 1534<images>
1443 <image> 1535 <image>
1444 <name>image0</name> 1536 <name>image0</name>
1445 <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data> 1537 <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data>
1446 </image> 1538 </image>
1447</images> 1539</images>
1448<connections> 1540<connections>
1449 <connection> 1541 <connection>
1450 <sender>hopChannels</sender> 1542 <sender>hopChannels</sender>
1451 <signal>toggled(bool)</signal> 1543 <signal>toggled(bool)</signal>
1452 <receiver>hopInterval</receiver> 1544 <receiver>hopInterval</receiver>
1453 <slot>setEnabled(bool)</slot> 1545 <slot>setEnabled(bool)</slot>
1454 </connection> 1546 </connection>
1455 <connection> 1547 <connection>
1456 <sender>hopChannels</sender> 1548 <sender>hopChannels</sender>
1457 <signal>toggled(bool)</signal> 1549 <signal>toggled(bool)</signal>
1458 <receiver>TextLabel1</receiver> 1550 <receiver>TextLabel1</receiver>
1459 <slot>setEnabled(bool)</slot> 1551 <slot>setEnabled(bool)</slot>
1460 </connection> 1552 </connection>
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 48fe89c..95b03d0 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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/* LOCAL */ 16/* LOCAL */
17#include "configwindow.h" 17#include "configwindow.h"
18#include "mainwindow.h" 18#include "mainwindow.h"
19 19
20/* OPIE */ 20/* OPIE */
21#include <opie2/onetwork.h> 21#include <opie2/onetwork.h>
22#ifdef QWS 22#ifdef QWS
23#include <opie2/oapplication.h> 23#include <opie2/oapplication.h>
24#include <opie2/oconfig.h> 24#include <opie2/oconfig.h>
25#include <opie2/odevice.h> 25#include <opie2/odevice.h>
26using namespace Opie; 26using namespace Opie;
27#endif 27#endif
28 28
29/* QT */ 29/* QT */
30#include <qapplication.h> 30#include <qapplication.h>
31#include <qcheckbox.h> 31#include <qcheckbox.h>
32#include <qcombobox.h> 32#include <qcombobox.h>
33#include <qfile.h> 33#include <qfile.h>
34#include <qlineedit.h> 34#include <qlineedit.h>
35#include <qlayout.h> 35#include <qlayout.h>
36#include <qmap.h> 36#include <qmap.h>
37#include <qpushbutton.h> 37#include <qpushbutton.h>
38#include <qtabwidget.h> 38#include <qtabwidget.h>
39#include <qtoolbutton.h> 39#include <qtoolbutton.h>
40#include <qspinbox.h> 40#include <qspinbox.h>
41#include <qtextstream.h> 41#include <qtextstream.h>
42 42
43/* POSIX */ 43/* POSIX */
44#include <assert.h> 44#include <assert.h>
45 45
46WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; 46WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0;
47 47
48WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) 48WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f )
49 :WellenreiterConfigBase( parent, name, true, f ) 49 :WellenreiterConfigBase( parent, name, true, f )
50{ 50{
51 _devicetype[ "cisco" ] = DEVTYPE_CISCO; 51 _devicetype[ "cisco" ] = DEVTYPE_CISCO;
52 _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG; 52 _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG;
53 _devicetype[ "hostap" ] = DEVTYPE_HOSTAP; 53 _devicetype[ "hostap" ] = DEVTYPE_HOSTAP;
54 _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO; 54 _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO;
55 _devicetype[ "<manual>" ] = DEVTYPE_MANUAL; 55 _devicetype[ "<manual>" ] = DEVTYPE_MANUAL;
56 _devicetype[ "<file>" ] = DEVTYPE_FILE; 56 _devicetype[ "<file>" ] = DEVTYPE_FILE;
57 57
58 // gather possible interface names from ONetwork 58 // gather possible interface names from ONetwork
59 ONetwork* net = ONetwork::instance(); 59 ONetwork* net = ONetwork::instance();
60 ONetwork::InterfaceIterator it = net->iterator(); 60 ONetwork::InterfaceIterator it = net->iterator();
61 while ( it.current() ) 61 while ( it.current() )
62 { 62 {
63 if ( it.current()->isWireless() ) 63 if ( it.current()->isWireless() )
64 interfaceName->insertItem( it.current()->name() ); 64 interfaceName->insertItem( it.current()->name() );
65 ++it; 65 ++it;
66 } 66 }
67 67
68 load(); 68 load();
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h
index d31d1e8..0a5b3bd 100644
--- a/noncore/net/wellenreiter/gui/configwindow.h
+++ b/noncore/net/wellenreiter/gui/configwindow.h
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef WELLENREITERCONFIGWINDOW_H 16#ifndef WELLENREITERCONFIGWINDOW_H
17#define WELLENREITERCONFIGWINDOW_H 17#define WELLENREITERCONFIGWINDOW_H
18 18
19#include "configbase.h" 19#include "configbase.h"
20#include "gps.h" 20#include "gps.h"
21 21
22/* QT */ 22/* QT */
23#include <qmap.h> 23#include <qmap.h>
24#include <qcombobox.h> 24#include <qcombobox.h>
25#include <qstring.h> 25#include <qstring.h>
26 26
27const int DEVTYPE_SELECT = 0; 27const int DEVTYPE_SELECT = 0;
28const int DEVTYPE_CISCO = 1; 28const int DEVTYPE_CISCO = 1;
29const int DEVTYPE_WLAN_NG = 2; 29const int DEVTYPE_WLAN_NG = 2;
30const int DEVTYPE_HOSTAP = 3; 30const int DEVTYPE_HOSTAP = 3;
31const int DEVTYPE_ORINOCO = 4; 31const int DEVTYPE_ORINOCO = 4;
32const int DEVTYPE_MANUAL = 5; 32const int DEVTYPE_MANUAL = 5;
33const int DEVTYPE_FILE = 6; 33const int DEVTYPE_FILE = 6;
34 34
35class WellenreiterConfigWindow; 35class WellenreiterConfigWindow;
36 36
37class WellenreiterConfigWindow : public WellenreiterConfigBase 37class WellenreiterConfigWindow : public WellenreiterConfigBase
38{ 38{
39 Q_OBJECT 39 Q_OBJECT
40 40
41 public: 41 public:
42 WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 ); 42 WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 );
43 ~WellenreiterConfigWindow(); 43 ~WellenreiterConfigWindow();
44 44
45 int driverType() const; 45 int driverType() const;
46 const QString soundOnNetwork() const { return "";/*netSound->currentText();*/ }; 46 const QString soundOnNetwork() const { return "";/*netSound->currentText();*/ };
47 const QString soundOnBeacon() const { return "";/*beaconSound->currentText();*/ }; 47 const QString soundOnBeacon() const { return "";/*beaconSound->currentText();*/ };
48 static WellenreiterConfigWindow* instance() { return _instance; }; 48 static WellenreiterConfigWindow* instance() { return _instance; };
49 49
50 int hoppingInterval() const; 50 int hoppingInterval() const;
51 bool usePrismHeader() const; 51 bool usePrismHeader() const;
52 bool isChannelChecked( int ) const; 52 bool isChannelChecked( int ) const;
53 53
54 bool useGPS() const; 54 bool useGPS() const;
55 const QString gpsHost() const; 55 const QString gpsHost() const;
56 int gpsPort() const; 56 int gpsPort() const;
57 57
58 void save(); 58 void save();
59 void load(); 59 void load();
60 60
61 public slots: 61 public slots:
62 void changedDeviceType(int); 62 void changedDeviceType(int);
63 void changedNetworkAction(int t); 63 void changedNetworkAction(int t);
64 void changedClientAction(int t); 64 void changedClientAction(int t);
65 void changedStationAction(int t); 65 void changedStationAction(int t);
66 void getCaptureFileNameClicked(); 66 void getCaptureFileNameClicked();
67 void performAutodetection(); 67 void performAutodetection();
68 void channelAllClicked(int); 68 void channelAllClicked(int);
diff --git a/noncore/net/wellenreiter/gui/gps.cpp b/noncore/net/wellenreiter/gui/gps.cpp
index b845aa1..a47b4ec 100644
--- a/noncore/net/wellenreiter/gui/gps.cpp
+++ b/noncore/net/wellenreiter/gui/gps.cpp
@@ -1,68 +1,68 @@
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 Wellenreiter II.
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 {
diff --git a/noncore/net/wellenreiter/gui/gps.h b/noncore/net/wellenreiter/gui/gps.h
index cfe1cdb..5629fec 100644
--- a/noncore/net/wellenreiter/gui/gps.h
+++ b/noncore/net/wellenreiter/gui/gps.h
@@ -1,51 +1,51 @@
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 Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef GPS_H 16#ifndef GPS_H
17#define GPS_H 17#define GPS_H
18 18
19#include <qobject.h> 19#include <qobject.h>
20#include <qsocket.h> 20#include <qsocket.h>
21 21
22class GpsLocation 22class GpsLocation
23{ 23{
24 public: 24 public:
25 GpsLocation( const float& lat, const float& lon ) : _latitude(lat), _longitude(lon) {}; 25 GpsLocation( const float& lat, const float& lon ) : _latitude(lat), _longitude(lon) {};
26 ~GpsLocation() {}; 26 ~GpsLocation() {};
27 float latitude() const { return _latitude; }; 27 float latitude() const { return _latitude; };
28 float longitude() const { return _longitude; }; 28 float longitude() const { return _longitude; };
29 QString dmsPosition() const; 29 QString dmsPosition() const;
30 private: 30 private:
31 float _latitude; 31 float _latitude;
32 float _longitude; 32 float _longitude;
33}; 33};
34 34
35 35
36class GPS : public QObject 36class GPS : public QObject
37{ 37{
38 Q_OBJECT 38 Q_OBJECT
39 39
40 public: 40 public:
41 GPS( QObject* parent = 0, const char * name = "GPS" ); 41 GPS( QObject* parent = 0, const char * name = "GPS" );
42 ~GPS(); 42 ~GPS();
43 43
44 bool open( const QString& host = "localhost", int port = 2947 ); 44 bool open( const QString& host = "localhost", int port = 2947 );
45 GpsLocation position() const; 45 GpsLocation position() const;
46 46
47 private: 47 private:
48 QSocket* _socket; 48 QSocket* _socket;
49}; 49};
50 50
51#endif // GPS_H 51#endif // GPS_H
diff --git a/noncore/net/wellenreiter/gui/graphwindow.cpp b/noncore/net/wellenreiter/gui/graphwindow.cpp
index b116b91..b4174d3 100644
--- a/noncore/net/wellenreiter/gui/graphwindow.cpp
+++ b/noncore/net/wellenreiter/gui/graphwindow.cpp
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "graphwindow.h" 16#include "graphwindow.h"
17 17
18#include <qpainter.h> 18#include <qpainter.h>
19#include <qpixmap.h> 19#include <qpixmap.h>
20#include <qtimer.h> 20#include <qtimer.h>
21 21
22MFrequencySpectrum::MFrequencySpectrum( int channels, QWidget* parent, const char* name, WFlags f) 22MFrequencySpectrum::MFrequencySpectrum( int channels, QWidget* parent, const char* name, WFlags f)
23 :QWidget( parent, name,f ), _channels( channels ) 23 :QWidget( parent, name,f ), _channels( channels )
24{ 24{
25 _values = new int[_channels]; 25 _values = new int[_channels];
26 _dirty = new bool[_channels]; 26 _dirty = new bool[_channels];
27 for ( int i = 0; i < channels; ++i ) 27 for ( int i = 0; i < channels; ++i )
28 { _values[i] = 0; 28 { _values[i] = 0;
29 _dirty[i] = true; 29 _dirty[i] = true;
30 } 30 }
31 31
32 // we draw everything on our own 32 // we draw everything on our own
33 setBackgroundMode( QWidget::NoBackground ); 33 setBackgroundMode( QWidget::NoBackground );
34} 34}
35 35
36 36
37void MFrequencySpectrum::drawTopLine( QPainter* p, int x, int y, int width, const QColor& c ) 37void MFrequencySpectrum::drawTopLine( QPainter* p, int x, int y, int width, const QColor& c )
38{ 38{
39 p->setPen( c.light() ); 39 p->setPen( c.light() );
40 p->drawLine( x, y, x+width-1, y ); 40 p->drawLine( x, y, x+width-1, y );
41} 41}
42 42
43 43
44void MFrequencySpectrum::drawBottomLine( QPainter* p, int x, int y, int width, const QColor& c ) 44void MFrequencySpectrum::drawBottomLine( QPainter* p, int x, int y, int width, const QColor& c )
45{ 45{
46 p->setPen( c.dark() ); 46 p->setPen( c.dark() );
47 p->drawLine( x, y, x+width-1, y ); 47 p->drawLine( x, y, x+width-1, y );
48} 48}
49 49
50 50
51void MFrequencySpectrum::drawLine( QPainter* p, int x, int y, int width, const QColor& c ) 51void MFrequencySpectrum::drawLine( QPainter* p, int x, int y, int width, const QColor& c )
52{ 52{
53 p->setPen( c.light() ); 53 p->setPen( c.light() );
54 p->drawPoint( x++, y ); 54 p->drawPoint( x++, y );
55 p->setPen( c ); 55 p->setPen( c );
56 p->drawLine( x, y, x+width-2, y ); 56 p->drawLine( x, y, x+width-2, y );
57 p->setPen( c.dark() ); 57 p->setPen( c.dark() );
58 p->drawPoint( x+width-1, y ); 58 p->drawPoint( x+width-1, y );
59} 59}
60 60
61 61
62void MFrequencySpectrum::drawBar( QPainter* p, int x, int y, int width, int height, int maxheight ) 62void MFrequencySpectrum::drawBar( QPainter* p, int x, int y, int width, int height, int maxheight )
63{ 63{
64 int h1 = 133; int h2 = 0; 64 int h1 = 133; int h2 = 0;
65 int s1 = 200; int s2 = 255; 65 int s1 = 200; int s2 = 255;
66 int v1 = 140; int v2 = 255; 66 int v1 = 140; int v2 = 255;
67 67
68 /*int h1 = 196; int h2 = 194; 68 /*int h1 = 196; int h2 = 194;
diff --git a/noncore/net/wellenreiter/gui/graphwindow.h b/noncore/net/wellenreiter/gui/graphwindow.h
index 1e00ae7..fafcab1 100644
--- a/noncore/net/wellenreiter/gui/graphwindow.h
+++ b/noncore/net/wellenreiter/gui/graphwindow.h
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef GRAPHWINDOW_H 16#ifndef GRAPHWINDOW_H
17#define GRAPHWINDOW_H 17#define GRAPHWINDOW_H
18 18
19#include <qwidget.h> 19#include <qwidget.h>
20#include <qvbox.h> 20#include <qvbox.h>
21 21
22class MFrequencySpectrum : public QWidget 22class MFrequencySpectrum : public QWidget
23{ 23{
24 public: 24 public:
25 MFrequencySpectrum( int channels, QWidget* parent = 0, const char* name = "MFrequencySpectrum", WFlags f = 0 ); 25 MFrequencySpectrum( int channels, QWidget* parent = 0, const char* name = "MFrequencySpectrum", WFlags f = 0 );
26 int value( int channel ) const { return _values[channel]; }; 26 int value( int channel ) const { return _values[channel]; };
27 void setValue( int channel, int value ) 27 void setValue( int channel, int value )
28 { 28 {
29 if ( value > _values[channel] ) 29 if ( value > _values[channel] )
30 { 30 {
31 _values[channel] = value; 31 _values[channel] = value;
32 _dirty[channel] = true; 32 _dirty[channel] = true;
33 } 33 }
34 }; 34 };
35 void decrease( int channel, int amount ) 35 void decrease( int channel, int amount )
36 { 36 {
37 if ( _values[channel] >= amount ) 37 if ( _values[channel] >= amount )
38 { 38 {
39 _values[channel] -= amount; 39 _values[channel] -= amount;
40 _dirty[channel] = true; 40 _dirty[channel] = true;
41 } 41 }
42 }; 42 };
43 43
44 protected: 44 protected:
45 virtual void paintEvent( QPaintEvent* ); 45 virtual void paintEvent( QPaintEvent* );
46 virtual void mousePressEvent( QMouseEvent* ); 46 virtual void mousePressEvent( QMouseEvent* );
47 47
48 void drawLine( QPainter* p, int x, int y, int width, const QColor& c ); 48 void drawLine( QPainter* p, int x, int y, int width, const QColor& c );
49 void drawTopLine( QPainter* p, int x, int y, int width, const QColor& c ); 49 void drawTopLine( QPainter* p, int x, int y, int width, const QColor& c );
50 void drawBottomLine( QPainter* p, int x, int y, int width, const QColor& c ); 50 void drawBottomLine( QPainter* p, int x, int y, int width, const QColor& c );
51 void MFrequencySpectrum::drawBar( QPainter* p, int x, int y, int width, int height, int maxheight ); 51 void MFrequencySpectrum::drawBar( QPainter* p, int x, int y, int width, int height, int maxheight );
52 52
53 private: 53 private:
54 int _channels; 54 int _channels;
55 int* _values; 55 int* _values;
56 bool* _dirty; 56 bool* _dirty;
57}; 57};
58 58
59 59
60class Legende : public QFrame 60class Legende : public QFrame
61{ 61{
62 public: 62 public:
63 Legende( int channels, QWidget* parent = 0, const char* name = "Legende", WFlags f = 0 ); 63 Legende( int channels, QWidget* parent = 0, const char* name = "Legende", WFlags f = 0 );
64 64
65 protected: 65 protected:
66 virtual void drawContents( QPainter* ); 66 virtual void drawContents( QPainter* );
67 67
68 private: 68 private:
diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro
index 7957d4c..cfb9873 100644
--- a/noncore/net/wellenreiter/gui/gui.pro
+++ b/noncore/net/wellenreiter/gui/gui.pro
@@ -1,47 +1,49 @@
1DESTDIR = $(OPIEDIR)/bin 1DESTDIR = $(OPIEDIR)/bin
2TEMPLATE = app 2TEMPLATE = app
3CONFIG = qt warn_on debug 3CONFIG = qt warn_on debug
4 4
5HEADERS = wellenreiterbase.h \ 5HEADERS = wellenreiterbase.h \
6 mainwindow.h \ 6 mainwindow.h \
7 wellenreiter.h \ 7 wellenreiter.h \
8 scanlist.h \ 8 scanlist.h \
9 logwindow.h \ 9 logwindow.h \
10 hexwindow.h \ 10 hexwindow.h \
11 statwindow.h \ 11 statwindow.h \
12 configwindow.h \ 12 configwindow.h \
13 graphwindow.h \ 13 graphwindow.h \
14 packetview.h \
14 protolistview.h \ 15 protolistview.h \
15 gps.h 16 gps.h
16 17
17SOURCES = main.cpp \ 18SOURCES = main.cpp \
18 mainwindow.cpp \ 19 mainwindow.cpp \
19 wellenreiterbase.cpp \ 20 wellenreiterbase.cpp \
20 wellenreiter.cpp \ 21 wellenreiter.cpp \
21 scanlist.cpp \ 22 scanlist.cpp \
22 logwindow.cpp \ 23 logwindow.cpp \
23 hexwindow.cpp \ 24 hexwindow.cpp \
24 statwindow.cpp \ 25 statwindow.cpp \
25 configwindow.cpp \ 26 configwindow.cpp \
26 graphwindow.cpp \ 27 graphwindow.cpp \
28 packetview.cpp \
27 protolistview.cpp \ 29 protolistview.cpp \
28 gps.cpp 30 gps.cpp
29 31
30INCLUDEPATH += $(OPIEDIR)/include 32INCLUDEPATH += $(OPIEDIR)/include
31DEPENDPATH += $(OPIEDIR)/include 33DEPENDPATH += $(OPIEDIR)/include
32INTERFACES = configbase.ui 34INTERFACES = configbase.ui
33TARGET = wellenreiter 35TARGET = wellenreiter
34 36
35!contains( platform, x11 ) { 37!contains( platform, x11 ) {
36 message( qws ) 38 message( qws )
37 include ( $(OPIEDIR)/include.pro ) 39 include ( $(OPIEDIR)/include.pro )
38 LIBS += -lqpe -lopiecore2 -lopieui2 -lopienet2 40 LIBS += -lqpe -lopiecore2 -lopieui2 -lopienet2
39} 41}
40 42
41contains( platform, x11 ) { 43contains( platform, x11 ) {
42 LIBS += -L$(OPIEDIR)/output/lib -Wl,-rpath,$(OPIEDIR)/output/lib -Wl,-rpath,/usr/local/lib -lwellenreiter 44 LIBS += -L$(OPIEDIR)/output/lib -Wl,-rpath,$(OPIEDIR)/output/lib -Wl,-rpath,/usr/local/lib -lwellenreiter
43 SOURCES += resource.cpp 45 SOURCES += resource.cpp
44 HEADERS += resource.h 46 HEADERS += resource.h
45 DESTDIR = $(OPIEDIR)/output/bin 47 DESTDIR = $(OPIEDIR)/output/bin
46} 48}
47 49
diff --git a/noncore/net/wellenreiter/gui/hexwindow.cpp b/noncore/net/wellenreiter/gui/hexwindow.cpp
index 2f011ca..cbf3217 100644
--- a/noncore/net/wellenreiter/gui/hexwindow.cpp
+++ b/noncore/net/wellenreiter/gui/hexwindow.cpp
@@ -1,44 +1,44 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "hexwindow.h" 16#include "hexwindow.h"
17#include <qmultilineedit.h> 17#include <qmultilineedit.h>
18 18
19MHexWindow::MHexWindow( QWidget * parent, const char * name, WFlags f ) 19MHexWindow::MHexWindow( QWidget * parent, const char * name, WFlags f )
20 :QVBox( parent, name, f ) 20 :QVBox( parent, name, f )
21{ 21{
22 ledit = new QMultiLineEdit( this ); 22 ledit = new QMultiLineEdit( this );
23 ledit->setFont( QFont( "fixed", 10 ) ); 23 ledit->setFont( QFont( "fixed", 10 ) );
24 ledit->setReadOnly( true ); 24 ledit->setReadOnly( true );
25}; 25};
26 26
27void MHexWindow::log( const QString& text ) 27void MHexWindow::log( const QString& text )
28{ 28{
29 int col; 29 int col;
30 int row; 30 int row;
31 ledit->getCursorPosition( &col, &row ); 31 ledit->getCursorPosition( &col, &row );
32 ledit->insertAt( text, col, row ); 32 ledit->insertAt( text, col, row );
33}; 33};
34 34
35const QString MHexWindow::getLog() const 35const QString MHexWindow::getLog() const
36{ 36{
37 return ledit->text(); 37 return ledit->text();
38} 38}
39 39
40void MHexWindow::clear() 40void MHexWindow::clear()
41{ 41{
42 ledit->clear(); 42 ledit->clear();
43} 43}
44 44
diff --git a/noncore/net/wellenreiter/gui/hexwindow.h b/noncore/net/wellenreiter/gui/hexwindow.h
index 3d4ec0f..71c6f25 100644
--- a/noncore/net/wellenreiter/gui/hexwindow.h
+++ b/noncore/net/wellenreiter/gui/hexwindow.h
@@ -1,40 +1,40 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef HEXWINDOW_H 16#ifndef HEXWINDOW_H
17#define HEXWINDOW_H 17#define HEXWINDOW_H
18 18
19#include <qvbox.h> 19#include <qvbox.h>
20 20
21class QString; 21class QString;
22class QMultiLineEdit; 22class QMultiLineEdit;
23 23
24class MHexWindow: public QVBox 24class MHexWindow: public QVBox
25{ 25{
26 26
27 public: 27 public:
28 MHexWindow( QWidget * parent = 0, const char * name = "MHexWindow", WFlags f = 0 ); 28 MHexWindow( QWidget * parent = 0, const char * name = "MHexWindow", WFlags f = 0 );
29 29
30 void log( const QString& text ); 30 void log( const QString& text );
31 const QString getLog() const; 31 const QString getLog() const;
32 void clear(); 32 void clear();
33 33
34 protected: 34 protected:
35 QMultiLineEdit* ledit; 35 QMultiLineEdit* ledit;
36 36
37}; 37};
38 38
39#endif 39#endif
40 40
diff --git a/noncore/net/wellenreiter/gui/logwindow.cpp b/noncore/net/wellenreiter/gui/logwindow.cpp
index 6078fa2..1c72cf4 100644
--- a/noncore/net/wellenreiter/gui/logwindow.cpp
+++ b/noncore/net/wellenreiter/gui/logwindow.cpp
@@ -1,54 +1,54 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "logwindow.h" 16#include "logwindow.h"
17#include <qmultilineedit.h> 17#include <qmultilineedit.h>
18#include <qdatetime.h> 18#include <qdatetime.h>
19 19
20MLogWindow* MLogWindow::_instance; 20MLogWindow* MLogWindow::_instance;
21 21
22MLogWindow::MLogWindow( QWidget * parent, const char * name, WFlags f ) 22MLogWindow::MLogWindow( QWidget * parent, const char * name, WFlags f )
23 :QVBox( parent, name, f ) 23 :QVBox( parent, name, f )
24{ 24{
25 ledit = new QMultiLineEdit( this ); 25 ledit = new QMultiLineEdit( this );
26 ledit->setReadOnly( true ); 26 ledit->setReadOnly( true );
27 27
28 MLogWindow::_instance = this; 28 MLogWindow::_instance = this;
29} 29}
30 30
31 31
32void MLogWindow::log( QString text ) 32void MLogWindow::log( QString text )
33{ 33{
34 QTime time = QTime::currentTime(); 34 QTime time = QTime::currentTime();
35 QString line; 35 QString line;
36 line.sprintf( "[%s] %s\n", (const char*) time.toString(), (const char*) text ); 36 line.sprintf( "[%s] %s\n", (const char*) time.toString(), (const char*) text );
37 int col; 37 int col;
38 int row; 38 int row;
39 ledit->getCursorPosition( &col, &row ); 39 ledit->getCursorPosition( &col, &row );
40 ledit->insertAt( line, col, row ); 40 ledit->insertAt( line, col, row );
41 qDebug( line ); 41 qDebug( line );
42} 42}
43 43
44 44
45void MLogWindow::clear() 45void MLogWindow::clear()
46{ 46{
47 ledit->clear(); 47 ledit->clear();
48} 48}
49 49
50 50
51const QString MLogWindow::getLog() const 51const QString MLogWindow::getLog() const
52{ 52{
53 return ledit->text(); 53 return ledit->text();
54} 54}
diff --git a/noncore/net/wellenreiter/gui/logwindow.h b/noncore/net/wellenreiter/gui/logwindow.h
index da8c274..7877003 100644
--- a/noncore/net/wellenreiter/gui/logwindow.h
+++ b/noncore/net/wellenreiter/gui/logwindow.h
@@ -1,45 +1,45 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef LOGWINDOW_H 16#ifndef LOGWINDOW_H
17#define LOGWINDOW_H 17#define LOGWINDOW_H
18 18
19#include <qvbox.h> 19#include <qvbox.h>
20 20
21class QString; 21class QString;
22class QMultiLineEdit; 22class QMultiLineEdit;
23 23
24class MLogWindow: public QVBox 24class MLogWindow: public QVBox
25{ 25{
26 26
27 public: 27 public:
28 MLogWindow( QWidget * parent = 0, const char * name = "MLogWindow", WFlags f = 0 ); 28 MLogWindow( QWidget * parent = 0, const char * name = "MLogWindow", WFlags f = 0 );
29 29
30 void log( QString text ); 30 void log( QString text );
31 const QString getLog() const; 31 const QString getLog() const;
32 void clear(); 32 void clear();
33 33
34 static MLogWindow* logwindow() { return MLogWindow::_instance; }; 34 static MLogWindow* logwindow() { return MLogWindow::_instance; };
35 35
36 protected: 36 protected:
37 QMultiLineEdit* ledit; 37 QMultiLineEdit* ledit;
38 38
39 private: 39 private:
40 static MLogWindow* _instance; 40 static MLogWindow* _instance;
41 41
42}; 42};
43 43
44#endif 44#endif
45 45
diff --git a/noncore/net/wellenreiter/gui/main.cpp b/noncore/net/wellenreiter/gui/main.cpp
index 8ef62e9..be7a528 100644
--- a/noncore/net/wellenreiter/gui/main.cpp
+++ b/noncore/net/wellenreiter/gui/main.cpp
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "mainwindow.h" 16#include "mainwindow.h"
17#ifdef QWS 17#ifdef QWS
18#include <opie2/oapplication.h> 18#include <opie2/oapplication.h>
19#include <opie2/oprocess.h> 19#include <opie2/oprocess.h>
20#else 20#else
21#include <qapplication.h> 21#include <qapplication.h>
22#endif 22#endif
23 23
24#include <qmessagebox.h> 24#include <qmessagebox.h>
25#include <qstringlist.h> 25#include <qstringlist.h>
26 26
27#include <errno.h> 27#include <errno.h>
28#include <signal.h> 28#include <signal.h>
29#include <string.h> 29#include <string.h>
30#include <unistd.h> 30#include <unistd.h>
31 31
32int main( int argc, char **argv ) 32int main( int argc, char **argv )
33{ 33{
34 #ifdef QWS 34 #ifdef QWS
35 OApplication a( argc, argv, "Wellenreiter II" ); 35 OApplication a( argc, argv, "Wellenreiter II" );
36 #else 36 #else
37 QApplication a( argc, argv ); 37 QApplication a( argc, argv );
38 #endif 38 #endif
39 WellenreiterMainWindow* w = new WellenreiterMainWindow(); 39 WellenreiterMainWindow* w = new WellenreiterMainWindow();
40 #ifdef QWS 40 #ifdef QWS
41 a.showMainWidget( w ); 41 a.showMainWidget( w );
42 #else 42 #else
43 a.setMainWidget( w ); 43 a.setMainWidget( w );
44 w->setCaption( "Wellenreiter II" ); 44 w->setCaption( "Wellenreiter II" );
45 w->show(); 45 w->show();
46 #endif 46 #endif
47 47
48 a.processEvents(); // show the window before doing the safety checks 48 a.processEvents(); // show the window before doing the safety checks
49 int result = -1; 49 int result = -1;
50 static int killed = false; 50 static int killed = false;
51 51
52 bool check = true; 52 bool check = true;
53 for ( int i = 1; i < argc; ++i ) 53 for ( int i = 1; i < argc; ++i )
54 { 54 {
55 if ( !strcmp( "-nocheck", argv[i] ) ) 55 if ( !strcmp( "-nocheck", argv[i] ) )
56 { 56 {
57 qDebug( "-nocheck found" ); 57 qDebug( "-nocheck found" );
58 check = false; 58 check = false;
59 break; 59 break;
60 } 60 }
61 } 61 }
62 62
63 if ( check ) 63 if ( check )
64 { 64 {
65 // root check 65 // root check
66 if ( getuid() ) 66 if ( getuid() )
67 { 67 {
68 qWarning( QObject::tr( "Wellenreiter: trying to run as non-root!" ) ); 68 qWarning( QObject::tr( "Wellenreiter: trying to run as non-root!" ) );
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 95a8294..6f57a7f 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -1,207 +1,215 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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#include <qwhatsthis.h>
40 41
41#ifdef QWS 42#ifdef QWS
42#include <qpe/resource.h> 43#include <qpe/resource.h>
43#include <opie2/ofiledialog.h> 44#include <opie2/ofiledialog.h>
44using namespace Opie; 45using namespace Opie;
45#else 46#else
46#include "resource.h" 47#include "resource.h"
47#include <qapplication.h> 48#include <qapplication.h>
48#include <qfiledialog.h> 49#include <qfiledialog.h>
49#endif 50#endif
50 51
51#include <unistd.h> 52#include <unistd.h>
52 53
53WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f ) 54WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f )
54 :QMainWindow( parent, name, f ) 55 :QMainWindow( parent, name, f )
55{ 56{
56 cw = new WellenreiterConfigWindow( this ); 57 cw = new WellenreiterConfigWindow( this );
57 mw = new Wellenreiter( this ); 58 mw = new Wellenreiter( this );
58 mw->setConfigWindow( cw ); 59 mw->setConfigWindow( cw );
59 setCentralWidget( mw ); 60 setCentralWidget( mw );
60 61
61 // setup application icon 62 // setup application icon
62 63
63 #ifndef QWS
64 setIcon( Resource::loadPixmap( "wellenreiter/appicon-trans" ) ); 64 setIcon( Resource::loadPixmap( "wellenreiter/appicon-trans" ) );
65 #ifndef QWS
65 setIconText( "Wellenreiter/X11" ); 66 setIconText( "Wellenreiter/X11" );
66 #endif 67 #endif
67 68
68 // setup tool buttons 69 // setup tool buttons
69 70
70 startButton = new QToolButton( 0 ); 71 startButton = new QToolButton( 0 );
72 QWhatsThis::add( startButton, tr( "Click here to start scanning." ) );
71 #ifdef QWS 73 #ifdef QWS
72 startButton->setAutoRaise( true ); 74 startButton->setAutoRaise( true );
73 #endif 75 #endif
74 startButton->setIconSet( Resource::loadIconSet( "wellenreiter/SearchIcon" ) ); 76 startButton->setIconSet( Resource::loadIconSet( "wellenreiter/SearchIcon" ) );
75 startButton->setEnabled( false ); 77 startButton->setEnabled( false );
76 connect( startButton, SIGNAL( clicked() ), mw, SLOT( startClicked() ) ); 78 connect( startButton, SIGNAL( clicked() ), mw, SLOT( startClicked() ) );
77 79
78 stopButton = new QToolButton( 0 ); 80 stopButton = new QToolButton( 0 );
81 QWhatsThis::add( stopButton, tr( "Click here to stop scanning." ) );
79 #ifdef QWS 82 #ifdef QWS
80 stopButton->setAutoRaise( true ); 83 stopButton->setAutoRaise( true );
81 #endif 84 #endif
82 stopButton->setIconSet( Resource::loadIconSet( "wellenreiter/CancelIcon" ) ); 85 stopButton->setIconSet( Resource::loadIconSet( "wellenreiter/CancelIcon" ) );
83 stopButton->setEnabled( false ); 86 stopButton->setEnabled( false );
84 connect( stopButton, SIGNAL( clicked() ), mw, SLOT( stopClicked() ) ); 87 connect( stopButton, SIGNAL( clicked() ), mw, SLOT( stopClicked() ) );
85 88
86 QToolButton* d = new QToolButton( 0 ); 89 QToolButton* d = new QToolButton( 0 );
90 QWhatsThis::add( d, tr( "Click here to open the configure dialog." ) ),
87 #ifdef QWS 91 #ifdef QWS
88 d->setAutoRaise( true ); 92 d->setAutoRaise( true );
89 #endif 93 #endif
90 d->setIconSet( Resource::loadIconSet( "wellenreiter/SettingsIcon" ) ); 94 d->setIconSet( Resource::loadIconSet( "wellenreiter/SettingsIcon" ) );
91 connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) ); 95 connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) );
92 96
93 uploadButton = new QToolButton( 0 ); 97 uploadButton = new QToolButton( 0 );
98 QWhatsThis::add( uploadButton, tr( "Click here to upload a capture session." ) );
94 #ifdef QWS 99 #ifdef QWS
95 uploadButton->setAutoRaise( true ); 100 uploadButton->setAutoRaise( true );
96 #endif 101 #endif
97 uploadButton->setIconSet( Resource::loadIconSet( "up" ) ); 102 uploadButton->setIconSet( Resource::loadIconSet( "up" ) );
98 uploadButton->setEnabled( false ); 103 uploadButton->setEnabled( false );
99 //uploadButton->setEnabled( true ); // DEBUGGING 104 //uploadButton->setEnabled( true ); // DEBUGGING
100 connect( uploadButton, SIGNAL( clicked() ), this, SLOT( uploadSession() ) ); 105 connect( uploadButton, SIGNAL( clicked() ), this, SLOT( uploadSession() ) );
101 106
102 // setup menu bar 107 // setup menu bar
103 108
104 int id; 109 int id;
105 110
106 QMenuBar* mb = menuBar(); 111 QMenuBar* mb = menuBar();
107 112
108 QPopupMenu* fileSave = new QPopupMenu( mb ); 113 QPopupMenu* fileSave = new QPopupMenu( mb );
109 fileSave->insertItem( tr( "&Session..." ), this, SLOT( fileSaveSession() ) ); 114 fileSave->insertItem( tr( "&Session..." ), this, SLOT( fileSaveSession() ) );
110 fileSave->insertItem( tr( "&Text Log..." ), this, SLOT( fileSaveLog() ) ); 115 fileSave->insertItem( tr( "&Text Log..." ), this, SLOT( fileSaveLog() ) );
111 fileSave->insertItem( tr( "&Hex Log..." ), this, SLOT( fileSaveHex() ) ); 116 fileSave->insertItem( tr( "&Hex Log..." ), this, SLOT( fileSaveHex() ) );
112 117
113 QPopupMenu* fileLoad = new QPopupMenu( mb ); 118 QPopupMenu* fileLoad = new QPopupMenu( mb );
114 fileLoad->insertItem( tr( "&Session..." ), this, SLOT( fileLoadSession() ) ); 119 fileLoad->insertItem( tr( "&Session..." ), this, SLOT( fileLoadSession() ) );
115 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) ); 120 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) );
116 121
117 QPopupMenu* file = new QPopupMenu( mb ); 122 QPopupMenu* file = new QPopupMenu( mb );
118 file->insertItem( tr( "&New" ), this, SLOT( fileNew() ) ); 123 file->insertItem( tr( "&New" ), this, SLOT( fileNew() ) );
119 id = file->insertItem( tr( "&Load" ), fileLoad ); 124 id = file->insertItem( tr( "&Load" ), fileLoad );
120 file->insertItem( tr( "&Save" ), fileSave ); 125 file->insertItem( tr( "&Save" ), fileSave );
121 file->insertSeparator(); 126 file->insertSeparator();
122 uploadID = file->insertItem( tr( "&Upload Session" ), this, SLOT( uploadSession() ) ); 127 uploadID = file->insertItem( tr( "&Upload Session" ), this, SLOT( uploadSession() ) );
123 file->insertSeparator(); 128 file->insertSeparator();
124 file->insertItem( tr( "&Exit" ), qApp, SLOT( quit() ) ); 129 file->insertItem( tr( "&Exit" ), qApp, SLOT( quit() ) );
125 130
126 QPopupMenu* view = new QPopupMenu( mb );
127 view->insertItem( tr( "&Configure..." ) );
128
129 QPopupMenu* sniffer = new QPopupMenu( mb ); 131 QPopupMenu* sniffer = new QPopupMenu( mb );
130 sniffer->insertItem( tr( "&Configure..." ), this, SLOT( showConfigure() ) ); 132 sniffer->insertItem( tr( "&Configure..." ), this, SLOT( showConfigure() ) );
131 sniffer->insertSeparator(); 133 sniffer->insertSeparator();
132 startID = sniffer->insertItem( tr( "&Start" ), mw, SLOT( startClicked() ) ); 134 startID = sniffer->insertItem( tr( "&Start" ), mw, SLOT( startClicked() ) );
133 sniffer->setItemEnabled( startID, false ); 135 sniffer->setItemEnabled( startID, false );
134 stopID = sniffer->insertItem( tr( "Sto&p" ), mw, SLOT( stopClicked() ) ); 136 stopID = sniffer->insertItem( tr( "Sto&p" ), mw, SLOT( stopClicked() ) );
135 sniffer->setItemEnabled( stopID, false ); 137 sniffer->setItemEnabled( stopID, false );
136 138
139 QPopupMenu* view = new QPopupMenu( mb );
140 view->insertItem( tr( "&Expand All" ), this, SLOT( viewExpandAll() ) );
141 view->insertItem( tr( "&Collapse All" ), this, SLOT( viewCollapseAll() ) );
142
137 QPopupMenu* demo = new QPopupMenu( mb ); 143 QPopupMenu* demo = new QPopupMenu( mb );
138 demo->insertItem( tr( "&Add something" ), this, SLOT( demoAddStations() ) ); 144 demo->insertItem( tr( "&Add something" ), this, SLOT( demoAddStations() ) );
139 //demo->insertItem( tr( "&Read from GPSd" ), this, SLOT( demoReadFromGps() ) ); 145 //demo->insertItem( tr( "&Read from GPSd" ), this, SLOT( demoReadFromGps() ) );
140 146
141 id = mb->insertItem( tr( "&File" ), file ); 147 id = mb->insertItem( tr( "&File" ), file );
142 //id = mb->insertItem( tr( "&View" ), view ); 148
149 id = mb->insertItem( tr( "&View" ), view );
143 //mb->setItemEnabled( id, false ); 150 //mb->setItemEnabled( id, false );
151
144 id = mb->insertItem( tr( "&Sniffer" ), sniffer ); 152 id = mb->insertItem( tr( "&Sniffer" ), sniffer );
145 153
146 id = mb->insertItem( tr( "&Demo" ), demo ); 154 id = mb->insertItem( tr( "&Demo" ), demo );
147 mb->setItemEnabled( id, true ); 155 mb->setItemEnabled( id, true );
148 mb->setItemEnabled( uploadID, false ); 156 mb->setItemEnabled( uploadID, false );
149 157
150 #ifdef QWS 158 #ifdef QWS
151 mb->insertItem( startButton ); 159 mb->insertItem( startButton );
152 mb->insertItem( stopButton ); 160 mb->insertItem( stopButton );
153 mb->insertItem( uploadButton ); 161 mb->insertItem( uploadButton );
154 mb->insertItem( d ); 162 mb->insertItem( d );
155 #else // Qt3 changed the insertion order. It's now totally random :( 163 #else // Qt3 changed the insertion order. It's now totally random :(
156 mb->insertItem( d ); 164 mb->insertItem( d );
157 mb->insertItem( uploadButton ); 165 mb->insertItem( uploadButton );
158 mb->insertItem( stopButton ); 166 mb->insertItem( stopButton );
159 mb->insertItem( startButton ); 167 mb->insertItem( startButton );
160 #endif 168 #endif
161 169
162 updateToolButtonState(); 170 updateToolButtonState();
163 171
164 // setup status bar (for now only on X11) 172 // setup status bar (for now only on X11)
165 173
166 #ifndef QWS 174 #ifndef QWS
167 statusBar()->message( tr( "Ready." ) ); 175 statusBar()->message( tr( "Ready." ) );
168 #endif 176 #endif
169 177
170 connect( mw, SIGNAL( startedSniffing() ), this, SLOT( changedSniffingState() ) ); 178 connect( mw, SIGNAL( startedSniffing() ), this, SLOT( changedSniffingState() ) );
171 connect( mw, SIGNAL( stoppedSniffing() ), this, SLOT( changedSniffingState() ) ); 179 connect( mw, SIGNAL( stoppedSniffing() ), this, SLOT( changedSniffingState() ) );
172}; 180};
173 181
174 182
175 183
176void WellenreiterMainWindow::showConfigure() 184void WellenreiterMainWindow::showConfigure()
177{ 185{
178 qDebug( "show configure..." ); 186 qDebug( "show configure..." );
179 cw->setCaption( tr( "Configure" ) ); 187 cw->setCaption( tr( "Configure" ) );
180 int result = QPEApplication::execDialog( cw ); 188 int result = QPEApplication::execDialog( cw );
181 189
182 if ( result ) updateToolButtonState(); 190 if ( result ) updateToolButtonState();
183} 191}
184 192
185 193
186void WellenreiterMainWindow::updateToolButtonState() 194void WellenreiterMainWindow::updateToolButtonState()
187{ 195{
188 const QString& interface = cw->interfaceName->currentText(); 196 const QString& interface = cw->interfaceName->currentText();
189 const int cardtype = cw->driverType(); 197 const int cardtype = cw->driverType();
190 198
191 if ( ( interface != "<select>" ) && ( cardtype != 0 ) ) 199 if ( ( interface != "<select>" ) && ( cardtype != 0 ) )
192 { 200 {
193 startButton->setEnabled( true ); 201 startButton->setEnabled( true );
194 menuBar()->setItemEnabled( startID, true ); 202 menuBar()->setItemEnabled( startID, true );
195 } 203 }
196 else 204 else
197 { 205 {
198 startButton->setEnabled( false ); 206 startButton->setEnabled( false );
199 menuBar()->setItemEnabled( startID, false ); 207 menuBar()->setItemEnabled( startID, false );
200 } 208 }
201} 209}
202 210
203 211
204void WellenreiterMainWindow::changedSniffingState() 212void WellenreiterMainWindow::changedSniffingState()
205{ 213{
206 startButton->setEnabled( !mw->sniffing ); 214 startButton->setEnabled( !mw->sniffing );
207 menuBar()->setItemEnabled( startID, !mw->sniffing ); 215 menuBar()->setItemEnabled( startID, !mw->sniffing );
@@ -492,64 +500,74 @@ void WellenreiterMainWindow::uploadSession()
492 "Content-Disposition: form-data; name=\"Location\"\r\n" 500 "Content-Disposition: form-data; name=\"Location\"\r\n"
493 "\r\n" 501 "\r\n"
494 "%2\r\n" 502 "%2\r\n"
495 "-----------------------------97267758015830030481215568065\r\n" 503 "-----------------------------97267758015830030481215568065\r\n"
496 "Content-Disposition: form-data; name=\"Comments\"\r\n" 504 "Content-Disposition: form-data; name=\"Comments\"\r\n"
497 "\r\n" 505 "\r\n"
498 "%3\r\n" 506 "%3\r\n"
499 "-----------------------------97267758015830030481215568065\r\n" 507 "-----------------------------97267758015830030481215568065\r\n"
500 "Content-Disposition: form-data; name=\"upfile\"; filename=\"%4\"\r\n" 508 "Content-Disposition: form-data; name=\"upfile\"; filename=\"%4\"\r\n"
501 "Content-Type: application/octet-stream\r\n" 509 "Content-Type: application/octet-stream\r\n"
502 "\r\n"; 510 "\r\n";
503 511
504 preambel = "" 512 preambel = ""
505 "\r\n-----------------------------97267758015830030481215568065--\r\n"; 513 "\r\n-----------------------------97267758015830030481215568065--\r\n";
506 514
507 content = content.arg( from->text().isEmpty() ? QString( "Anonymous Wellenreiter II User" ) : from->text() ); 515 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() ); 516 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() ); 517 content = content.arg( comments->text().isEmpty() ? QString( "Anonymous Wellenreiter II Comments" ) : comments->text() );
510 content = content.arg( mw->captureFileName() ); 518 content = content.arg( mw->captureFileName() );
511 519
512 header = header.arg( QString::number( content.length() + f.size() + preambel.length() ) ); 520 header = header.arg( QString::number( content.length() + f.size() + preambel.length() ) );
513 521
514 // write header 522 // write header
515 523
516 const char* ascii = header.latin1(); 524 const char* ascii = header.latin1();
517 uint ascii_len = ::strlen( ascii ); 525 uint ascii_len = ::strlen( ascii );
518 ::write ( sock, ascii, ascii_len ); 526 ::write ( sock, ascii, ascii_len );
519 527
520 // write fixed content 528 // write fixed content
521 529
522 ascii = content.latin1(); 530 ascii = content.latin1();
523 ascii_len = ::strlen( ascii ); 531 ascii_len = ::strlen( ascii );
524 ::write ( sock, ascii, ascii_len ); 532 ::write ( sock, ascii, ascii_len );
525 533
526 // write variable content 534 // write variable content
527 535
528 char ch; 536 char ch;
529 while ( !f.atEnd() ) 537 while ( !f.atEnd() )
530 { 538 {
531 f.readBlock( &ch, 1 ); 539 f.readBlock( &ch, 1 );
532 ::write ( sock, &ch, 1 ); 540 ::write ( sock, &ch, 1 );
533 } 541 }
534 542
535 // write preambel 543 // write preambel
536 544
537 ascii = preambel.latin1(); 545 ascii = preambel.latin1();
538 ascii_len = ::strlen( ascii ); 546 ascii_len = ::strlen( ascii );
539 ::write ( sock, ascii, ascii_len ); 547 ::write ( sock, ascii, ascii_len );
540 548
541 // done! 549 // done!
542 550
543 ok = true; 551 ok = true;
544 } 552 }
545 } 553 }
546 ::close ( sock ); 554 ::close ( sock );
547 } 555 }
548 if ( ok ) 556 if ( ok )
549 QMessageBox::information( 0, tr( "Success" ), 557 QMessageBox::information( 0, tr( "Success" ),
550 QString ( "<p>%1</p>" ).arg( tr( "Capture Dump was uploaded to %1" ) ).arg( CAP_hostname ) ); 558 QString ( "<p>%1</p>" ).arg( tr( "Capture Dump was uploaded to %1" ) ).arg( CAP_hostname ) );
551 else 559 else
552 QMessageBox::warning( 0, tr( "Error" ), 560 QMessageBox::warning( 0, tr( "Error" ),
553 QString ( "<p>%1</p>" ).arg ( tr( "Connection to %1 failed" ) ).arg( CAP_hostname ) ); 561 QString ( "<p>%1</p>" ).arg ( tr( "Connection to %1 failed" ) ).arg( CAP_hostname ) );
554} 562}
555 563
564
565void WellenreiterMainWindow::viewExpandAll()
566{
567 mw->netView()->expand();
568}
569
570void WellenreiterMainWindow::viewCollapseAll()
571{
572 mw->netView()->collapse();
573}
diff --git a/noncore/net/wellenreiter/gui/mainwindow.h b/noncore/net/wellenreiter/gui/mainwindow.h
index a5cb7a5..9593241 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.h
+++ b/noncore/net/wellenreiter/gui/mainwindow.h
@@ -1,63 +1,66 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef MAINWINDOW_H 16#ifndef MAINWINDOW_H
17#define MAINWINDOW_H 17#define MAINWINDOW_H
18 18
19#include <qmainwindow.h> 19#include <qmainwindow.h>
20 20
21class Wellenreiter; 21class Wellenreiter;
22class WellenreiterConfigWindow; 22class WellenreiterConfigWindow;
23class QIconSet; 23class QIconSet;
24class QToolButton; 24class QToolButton;
25 25
26class WellenreiterMainWindow: public QMainWindow 26class WellenreiterMainWindow: public QMainWindow
27{ 27{
28 Q_OBJECT 28 Q_OBJECT
29 29
30 public: 30 public:
31 WellenreiterMainWindow( QWidget * parent = 0, const char * name = "mainwindow", WFlags f = 0 ); 31 WellenreiterMainWindow( QWidget * parent = 0, const char * name = "mainwindow", WFlags f = 0 );
32 ~WellenreiterMainWindow(); 32 ~WellenreiterMainWindow();
33 QString getFileName( bool save ); 33 QString getFileName( bool save );
34 34
35 protected: 35 protected:
36 Wellenreiter* mw; 36 Wellenreiter* mw;
37 WellenreiterConfigWindow* cw; 37 WellenreiterConfigWindow* cw;
38 38
39 QToolButton* startButton; 39 QToolButton* startButton;
40 QToolButton* stopButton; 40 QToolButton* stopButton;
41 QToolButton* uploadButton; 41 QToolButton* uploadButton;
42 int startID; 42 int startID;
43 int stopID; 43 int stopID;
44 int uploadID; 44 int uploadID;
45 45
46 protected: 46 protected:
47 virtual void closeEvent( QCloseEvent* ); 47 virtual void closeEvent( QCloseEvent* );
48 void updateToolButtonState(); 48 void updateToolButtonState();
49 49
50 public slots: 50 public slots:
51 void showConfigure(); 51 void showConfigure();
52 void demoAddStations(); 52 void demoAddStations();
53 void demoReadFromGps(); 53 void demoReadFromGps();
54 void fileSaveLog(); 54 void fileSaveLog();
55 void fileSaveHex(); 55 void fileSaveHex();
56 void fileSaveSession(); 56 void fileSaveSession();
57 void fileLoadSession(); 57 void fileLoadSession();
58 void fileNew(); 58 void fileNew();
59 void uploadSession(); 59 void uploadSession();
60 void changedSniffingState(); 60 void changedSniffingState();
61
62 void viewExpandAll();
63 void viewCollapseAll();
61}; 64};
62 65
63#endif 66#endif
diff --git a/noncore/net/wellenreiter/gui/protolistview.cpp b/noncore/net/wellenreiter/gui/protolistview.cpp
index ed22bdd..635e174 100644
--- a/noncore/net/wellenreiter/gui/protolistview.cpp
+++ b/noncore/net/wellenreiter/gui/protolistview.cpp
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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/* LOCAL */ 16/* LOCAL */
17#include "protolistview.h" 17#include "protolistview.h"
18 18
19#include <qcheckbox.h> 19#include <qcheckbox.h>
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qvbox.h> 21#include <qvbox.h>
22#include <qlabel.h> 22#include <qlabel.h>
23 23
24ProtocolListView::ProtocolListView( QWidget* parent, const char* name, WFlags f ) 24ProtocolListView::ProtocolListView( QWidget* parent, const char* name, WFlags f )
25 :QScrollView( parent, name, f ) 25 :QScrollView( parent, name, f )
26{ 26{
27 parse = ( QString( "parsePackets" ) == QString( name ) ); 27 parse = ( QString( "parsePackets" ) == QString( name ) );
28 28
29 setMargins( 3, 3, 0, 0 ); 29 setMargins( 3, 3, 0, 0 );
30 viewport()->setBackgroundColor( QCheckBox(0).palette().color( QPalette::Active, QColorGroup::Background ) ); 30 viewport()->setBackgroundColor( QCheckBox(0).palette().color( QPalette::Active, QColorGroup::Background ) );
31 31
32 vbox = new QVBox( viewport() ); 32 vbox = new QVBox( viewport() );
33 vbox->setSpacing( 1 ); 33 vbox->setSpacing( 1 );
34 addChild( vbox ); 34 addChild( vbox );
35 35
36 QHBox* hbox = new QHBox( vbox ); 36 QHBox* hbox = new QHBox( vbox );
37 hbox->setSpacing( 40 ); 37 hbox->setSpacing( 40 );
38 new QLabel( tr( "Protocol Family" ), hbox ); 38 new QLabel( tr( "Protocol Family" ), hbox );
39 new QLabel( tr( "Perform Action" ), hbox ); 39 new QLabel( tr( "Perform Action" ), hbox );
40 QFrame* frame = new QFrame( vbox ); 40 QFrame* frame = new QFrame( vbox );
41 frame->setFrameStyle( QFrame::HLine + QFrame::Sunken ); 41 frame->setFrameStyle( QFrame::HLine + QFrame::Sunken );
42 42
43 //TODO: hardcoded for now...a protocol database would be nice!? 43 //TODO: hardcoded for now...a protocol database would be nice!?
44 44
45 //addProtocol( "Ethernet" ); 45 //addProtocol( "Ethernet" );
46 addProtocol( "Prism" ); 46 addProtocol( "Prism" );
47 //addProtocol( "802.11" ); 47 //addProtocol( "802.11" );
48 addProtocol( "802.11 Management" ); 48 addProtocol( "802.11 Management" );
49 addProtocol( "802.11 SSID" ); 49 addProtocol( "802.11 SSID" );
50 addProtocol( "802.11 Rates" ); 50 addProtocol( "802.11 Rates" );
51 addProtocol( "802.11 CF" ); 51 addProtocol( "802.11 CF" );
52 addProtocol( "802.11 FH" ); 52 addProtocol( "802.11 FH" );
53 addProtocol( "802.11 DS" ); 53 addProtocol( "802.11 DS" );
54 addProtocol( "802.11 Tim" ); 54 addProtocol( "802.11 Tim" );
55 addProtocol( "802.11 IBSS" ); 55 addProtocol( "802.11 IBSS" );
56 addProtocol( "802.11 Challenge" ); 56 addProtocol( "802.11 Challenge" );
57 addProtocol( "802.11 Data" ); 57 addProtocol( "802.11 Data" );
58 addProtocol( "802.11 LLC" ); 58 addProtocol( "802.11 LLC" );
59 addProtocol( "802.11 Data" ); 59 addProtocol( "802.11 Data" );
60 addProtocol( "IP" ); 60 addProtocol( "IP" );
61 addProtocol( "ARP" ); 61 addProtocol( "ARP" );
62 addProtocol( "UDP" ); 62 addProtocol( "UDP" );
63 addProtocol( "TCP" ); 63 addProtocol( "TCP" );
64} 64}
65 65
66 66
67ProtocolListView::~ProtocolListView() 67ProtocolListView::~ProtocolListView()
68{ 68{
diff --git a/noncore/net/wellenreiter/gui/protolistview.h b/noncore/net/wellenreiter/gui/protolistview.h
index 8b460cb..11f4375 100644
--- a/noncore/net/wellenreiter/gui/protolistview.h
+++ b/noncore/net/wellenreiter/gui/protolistview.h
@@ -1,45 +1,45 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef PROTOLISTVIEW_H 16#ifndef PROTOLISTVIEW_H
17#define PROTOLISTVIEW_H 17#define PROTOLISTVIEW_H
18 18
19#include <qscrollview.h> 19#include <qscrollview.h>
20#include <qdict.h> 20#include <qdict.h>
21class QCheckBox; 21class QCheckBox;
22class QComboBox; 22class QComboBox;
23 23
24class QVBox; 24class QVBox;
25 25
26class ProtocolListView : public QScrollView 26class ProtocolListView : public QScrollView
27{ 27{
28 public: 28 public:
29 ProtocolListView( QWidget* parent = 0, const char* name = 0, WFlags f = 0 ); 29 ProtocolListView( QWidget* parent = 0, const char* name = 0, WFlags f = 0 );
30 virtual ~ProtocolListView(); 30 virtual ~ProtocolListView();
31 31
32 bool isProtocolChecked( const QString& name ); 32 bool isProtocolChecked( const QString& name );
33 QString protocolAction( const QString& name ); 33 QString protocolAction( const QString& name );
34 34
35 protected: 35 protected:
36 virtual void addProtocol( const QString& name ); 36 virtual void addProtocol( const QString& name );
37 37
38 private: 38 private:
39 QVBox* vbox; 39 QVBox* vbox;
40 bool parse; 40 bool parse;
41}; 41};
42 42
43 43
44 44
45#endif // PROTOLISTVIEW_H 45#endif // PROTOLISTVIEW_H
diff --git a/noncore/net/wellenreiter/gui/resource.cpp b/noncore/net/wellenreiter/gui/resource.cpp
index 5e5ddc6..d98ef0b 100644
--- a/noncore/net/wellenreiter/gui/resource.cpp
+++ b/noncore/net/wellenreiter/gui/resource.cpp
@@ -1,49 +1,49 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "resource.h" 16#include "resource.h"
17 17
18#define PIXMAPPATH "/usr/local/share" 18#define PIXMAPPATH "/usr/local/share"
19 19
20#include <qiconset.h> 20#include <qiconset.h>
21 21
22namespace Resource 22namespace Resource
23{ 23{
24 24
25QPixmap loadPixmap( const QString& pix ) 25QPixmap loadPixmap( const QString& pix )
26{ 26{
27 QString filename; 27 QString filename;
28 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix ); 28 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix );
29 QPixmap pixmap( filename ); 29 QPixmap pixmap( filename );
30 if ( pixmap.isNull() ) 30 if ( pixmap.isNull() )
31 { 31 {
32 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename ); 32 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename );
33 } 33 }
34 return pixmap; 34 return pixmap;
35}; 35};
36 36
37QIconSet loadIconSet( const QString& pix ) 37QIconSet loadIconSet( const QString& pix )
38{ 38{
39 QString filename; 39 QString filename;
40 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix ); 40 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix );
41 QPixmap pixmap( filename ); 41 QPixmap pixmap( filename );
42 if ( pixmap.isNull() ) 42 if ( pixmap.isNull() )
43 { 43 {
44 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename ); 44 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename );
45 } 45 }
46 return QIconSet( pixmap ); 46 return QIconSet( pixmap );
47}; 47};
48 48
49}; 49};
diff --git a/noncore/net/wellenreiter/gui/resource.h b/noncore/net/wellenreiter/gui/resource.h
index 8788c6e..85490b3 100644
--- a/noncore/net/wellenreiter/gui/resource.h
+++ b/noncore/net/wellenreiter/gui/resource.h
@@ -1,30 +1,30 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef RESOURCE_H 16#ifndef RESOURCE_H
17#define RESOURCE_H 17#define RESOURCE_H
18 18
19#include <qstring.h> 19#include <qstring.h>
20 20
21class QPixmap; 21class QPixmap;
22class QIconSet; 22class QIconSet;
23 23
24namespace Resource 24namespace Resource
25{ 25{
26 QPixmap loadPixmap( const QString& ); 26 QPixmap loadPixmap( const QString& );
27 QIconSet loadIconSet( const QString& ); 27 QIconSet loadIconSet( const QString& );
28} 28}
29 29
30#endif // RESOURCE_H 30#endif // RESOURCE_H
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index c75f9b1..6005818 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -1,116 +1,115 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "scanlist.h" 16#include "scanlist.h"
17#include "configwindow.h" 17#include "configwindow.h"
18#include "logwindow.h" 18#include "logwindow.h"
19 19
20#include <assert.h> 20#include <assert.h>
21#include <qcursor.h> 21#include <qcursor.h>
22#include <qdatetime.h> 22#include <qdatetime.h>
23#include <qpopupmenu.h> 23#include <qpopupmenu.h>
24#include <qcheckbox.h> 24#include <qcheckbox.h>
25 25
26#ifdef QWS 26#ifdef QWS
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28#endif 28#endif
29 29
30#ifdef QWS 30#ifdef QWS
31#include <qpe/resource.h> 31#include <qpe/resource.h>
32#else 32#else
33#include "resource.h" 33#include "resource.h"
34#endif 34#endif
35 35
36const int col_type = 0; 36const int col_type = 0;
37const int col_essid = 0; 37const int col_essid = 0;
38const int col_sig = 1; 38const int col_sig = 1;
39const int col_ap = 2; 39const int col_ap = 2;
40const int col_channel = 3; 40const int col_channel = 3;
41const int col_wep = 4; 41const int col_wep = 4;
42const int col_traffic = 5; 42const int col_traffic = 5;
43const int col_ip = 6; 43const int col_ip = 6;
44const int col_manuf = 7; 44const int col_manuf = 7;
45const int col_firstseen = 8; 45const int col_firstseen = 8;
46const int col_lastseen = 9; 46const int col_lastseen = 9;
47const int col_location = 10; 47const int col_location = 10;
48 48
49MScanListView::MScanListView( QWidget* parent, const char* name ) 49MScanListView::MScanListView( QWidget* parent, const char* name )
50 :OListView( parent, name ) 50 :OListView( parent, name )
51{ 51{
52
53 setFrameShape( QListView::StyledPanel ); 52 setFrameShape( QListView::StyledPanel );
54 setFrameShadow( QListView::Sunken ); 53 setFrameShadow( QListView::Sunken );
55 54
56 addColumn( tr( "Net/Station" ) ); 55 addColumn( tr( "Net/Station" ) );
57 setColumnAlignment( col_essid, AlignLeft || AlignVCenter ); 56 setColumnAlignment( col_essid, AlignLeft || AlignVCenter );
58 addColumn( tr( "#" ) ); 57 addColumn( tr( "#" ) );
59 setColumnAlignment( col_sig, AlignCenter ); 58 setColumnAlignment( col_sig, AlignCenter );
60 addColumn( tr( "MAC" ) ); 59 addColumn( tr( "MAC" ) );
61 setColumnAlignment( col_ap, AlignCenter ); 60 setColumnAlignment( col_ap, AlignCenter );
62 addColumn( tr( "Chn" ) ); 61 addColumn( tr( "Chn" ) );
63 setColumnAlignment( col_channel, AlignCenter ); 62 setColumnAlignment( col_channel, AlignCenter );
64 addColumn( tr( "W" ) ); 63 addColumn( tr( "W" ) );
65 setColumnAlignment( col_wep, AlignCenter ); 64 setColumnAlignment( col_wep, AlignCenter );
66 addColumn( tr( "T" ) ); 65 addColumn( tr( "T" ) );
67 setColumnAlignment( col_traffic, AlignCenter ); 66 setColumnAlignment( col_traffic, AlignCenter );
68 addColumn( tr( "IP" ) ); 67 addColumn( tr( "IP" ) );
69 setColumnAlignment( col_ip, AlignCenter ); 68 setColumnAlignment( col_ip, AlignCenter );
70 addColumn( tr( "Manufacturer" ) ); 69 addColumn( tr( "Manufacturer" ) );
71 setColumnAlignment( col_manuf, AlignCenter ); 70 setColumnAlignment( col_manuf, AlignCenter );
72 addColumn( tr( "First Seen" ) ); 71 addColumn( tr( "First Seen" ) );
73 setColumnAlignment( col_firstseen, AlignCenter ); 72 setColumnAlignment( col_firstseen, AlignCenter );
74 addColumn( tr( "Last Seen" ) ); 73 addColumn( tr( "Last Seen" ) );
75 setColumnAlignment( col_lastseen, AlignCenter ); 74 setColumnAlignment( col_lastseen, AlignCenter );
76 addColumn( tr( "Location" ) ); 75 addColumn( tr( "Location" ) );
77 setColumnAlignment( col_location, AlignCenter ); 76 setColumnAlignment( col_location, AlignCenter );
78 setRootIsDecorated( true ); 77 setRootIsDecorated( true );
79 setAllColumnsShowFocus( true ); 78 setAllColumnsShowFocus( true );
80 79
81 connect( this, SIGNAL( rightButtonClicked(QListViewItem*,const QPoint&,int) ), 80 connect( this, SIGNAL( rightButtonClicked(QListViewItem*,const QPoint&,int) ),
82 this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); 81 this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) );
83 82
84 #ifdef QWS 83 #ifdef QWS
85 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 84 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
86 #endif 85 #endif
87 86
88}; 87};
89 88
90 89
91MScanListView::~MScanListView() 90MScanListView::~MScanListView()
92{ 91{
93}; 92};
94 93
95 94
96OListViewItem* MScanListView::childFactory() 95OListViewItem* MScanListView::childFactory()
97{ 96{
98 return new MScanListItem( this ); 97 return new MScanListItem( this );
99} 98}
100 99
101 100
102void MScanListView::serializeTo( QDataStream& s) const 101void MScanListView::serializeTo( QDataStream& s) const
103{ 102{
104 qDebug( "serializing MScanListView" ); 103 qDebug( "serializing MScanListView" );
105 OListView::serializeTo( s ); 104 OListView::serializeTo( s );
106} 105}
107 106
108 107
109void MScanListView::serializeFrom( QDataStream& s) 108void MScanListView::serializeFrom( QDataStream& s)
110{ 109{
111 qDebug( "serializing MScanListView" ); 110 qDebug( "serializing MScanListView" );
112 OListView::serializeFrom( s ); 111 OListView::serializeFrom( s );
113} 112}
114 113
115 114
116void MScanListView::addNewItem( const QString& type, 115void MScanListView::addNewItem( const QString& type,
diff --git a/noncore/net/wellenreiter/gui/scanlist.h b/noncore/net/wellenreiter/gui/scanlist.h
index cbacdee..ab870c2 100644
--- a/noncore/net/wellenreiter/gui/scanlist.h
+++ b/noncore/net/wellenreiter/gui/scanlist.h
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef SCANLIST_H 16#ifndef SCANLIST_H
17#define SCANLIST_H 17#define SCANLIST_H
18 18
19#include "gps.h" 19#include "gps.h"
20 20
21/* OPIE */ 21/* OPIE */
22#include <opie2/olistview.h> 22#include <opie2/olistview.h>
23#include <opie2/onetutils.h> 23#include <opie2/onetutils.h>
24 24
25/* QT */ 25/* QT */
26#include <qtextstream.h> 26#include <qtextstream.h>
27 27
28class QString; 28class QString;
29class MScanListItem; 29class MScanListItem;
30 30
31class MScanListView: public OListView 31class MScanListView: public OListView
32{ 32{
33 Q_OBJECT 33 Q_OBJECT
34 34
35 public: 35 public:
36 MScanListView( QWidget* parent = 0, const char* name = 0 ); 36 MScanListView( QWidget* parent = 0, const char* name = 0 );
37 virtual ~MScanListView(); 37 virtual ~MScanListView();
38 38
39 virtual OListViewItem* childFactory(); 39 virtual OListViewItem* childFactory();
40 virtual void serializeTo( QDataStream& s ) const; 40 virtual void serializeTo( QDataStream& s ) const;
41 virtual void serializeFrom( QDataStream& s ); 41 virtual void serializeFrom( QDataStream& s );
42 42
43 public slots: 43 public slots:
44 void addNewItem( const QString& type, const QString&, const OMacAddress&, bool, int, int, const GpsLocation&, bool = false ); 44 void addNewItem( const QString& type, const QString&, const OMacAddress&, bool, int, int, const GpsLocation&, bool = false );
45 void addService( const QString& name, const OMacAddress& macaddr, const QString& ip ); 45 void addService( const QString& name, const OMacAddress& macaddr, const QString& ip );
46 46
47 void fromDStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& via ); 47 void fromDStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& via );
48 void toDStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& via ); 48 void toDStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& via );
49 void WDStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& viaFrom, const OMacAddress& viaTo ); 49 void WDStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& viaFrom, const OMacAddress& viaTo );
50 void IBSStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& via ); 50 void IBSStraffic( const OMacAddress& from, const OMacAddress& to, const OMacAddress& via );
51 51
52 void identify( const OMacAddress&, const QString& ipaddr ); 52 void identify( const OMacAddress&, const QString& ipaddr );
53 53
54 void contextMenuRequested( QListViewItem* item, const QPoint&, int ); 54 void contextMenuRequested( QListViewItem* item, const QPoint&, int );
55 55
56 signals: 56 signals:
57 void rightButtonClicked(QListViewItem*,const QPoint&,int); 57 void rightButtonClicked(QListViewItem*,const QPoint&,int);
58 void joinNetwork( const QString&, const QString&, int, const QString& ); 58 void joinNetwork( const QString&, const QString&, int, const QString& );
59 59
60 protected: 60 protected:
61 void addIfNotExisting( MScanListItem* parent, const OMacAddress& addr, const QString& type = "station" ); 61 void addIfNotExisting( MScanListItem* parent, const OMacAddress& addr, const QString& type = "station" );
62 62
63}; 63};
64 64
65//****************************** MScanListItem **************************************************************** 65//****************************** MScanListItem ****************************************************************
66 66
67class MScanListItem: public OListViewItem 67class MScanListItem: public OListViewItem
68{ 68{
diff --git a/noncore/net/wellenreiter/gui/statwindow.cpp b/noncore/net/wellenreiter/gui/statwindow.cpp
index a9ae661..48e4847 100644
--- a/noncore/net/wellenreiter/gui/statwindow.cpp
+++ b/noncore/net/wellenreiter/gui/statwindow.cpp
@@ -1,43 +1,43 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "statwindow.h" 16#include "statwindow.h"
17#include <opie2/olistview.h> 17#include <opie2/olistview.h>
18 18
19MStatWindow::MStatWindow( QWidget * parent, const char * name, WFlags f ) 19MStatWindow::MStatWindow( QWidget * parent, const char * name, WFlags f )
20 :QVBox( parent, name, f ) 20 :QVBox( parent, name, f )
21{ 21{
22 table = new OListView( this ); 22 table = new OListView( this );
23 table->addColumn( tr( "Protocol" ) ); 23 table->addColumn( tr( "Protocol" ) );
24 table->addColumn( tr( "Count" ) ); 24 table->addColumn( tr( "Count" ) );
25 table->setItemMargin( 2 ); 25 table->setItemMargin( 2 );
26}; 26};
27 27
28 28
29void MStatWindow::updateCounter( const QString& protocol, int counter ) 29void MStatWindow::updateCounter( const QString& protocol, int counter )
30{ 30{
31 QListViewItemIterator it( table ); 31 QListViewItemIterator it( table );
32 for ( ; it.current(); ++it ) 32 for ( ; it.current(); ++it )
33 { 33 {
34 if ( it.current()->text( 0 ) == protocol ) 34 if ( it.current()->text( 0 ) == protocol )
35 { 35 {
36 it.current()->setText( 1, QString::number( counter ) ); 36 it.current()->setText( 1, QString::number( counter ) );
37 return; 37 return;
38 } 38 }
39 } 39 }
40 40
41 new OListViewItem( table, protocol, QString::number( counter ) ); 41 new OListViewItem( table, protocol, QString::number( counter ) );
42} 42}
43 43
diff --git a/noncore/net/wellenreiter/gui/statwindow.h b/noncore/net/wellenreiter/gui/statwindow.h
index 0ab4b50..b9057e7 100644
--- a/noncore/net/wellenreiter/gui/statwindow.h
+++ b/noncore/net/wellenreiter/gui/statwindow.h
@@ -1,43 +1,43 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef STATWINDOW_H 16#ifndef STATWINDOW_H
17#define STATWINDOW_H 17#define STATWINDOW_H
18 18
19#include <qvbox.h> 19#include <qvbox.h>
20 20
21class QString; 21class QString;
22class OListView; 22class OListView;
23 23
24class MStatWindow: public QVBox 24class MStatWindow: public QVBox
25{ 25{
26 Q_OBJECT 26 Q_OBJECT
27 27
28 public: 28 public:
29 MStatWindow( QWidget * parent = 0, const char * name = "MStatWindow", WFlags f = 0 ); 29 MStatWindow( QWidget * parent = 0, const char * name = "MStatWindow", WFlags f = 0 );
30 30
31 void log( QString text ); 31 void log( QString text );
32 const QString getLog() const; 32 const QString getLog() const;
33 void clear(); 33 void clear();
34 34
35 void updateCounter( const QString&, int ); 35 void updateCounter( const QString&, int );
36 36
37 protected: 37 protected:
38 OListView* table; 38 OListView* table;
39 39
40}; 40};
41 41
42#endif 42#endif
43 43
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index db68e5b..67e3940 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -451,129 +451,137 @@ void Wellenreiter::stopClicked()
451 iface->setChannelHopping(); // stop hopping channels 451 iface->setChannelHopping(); // stop hopping channels
452 } 452 }
453 else 453 else
454 killTimers(); 454 killTimers();
455 455
456 pcap->close(); 456 pcap->close();
457 sniffing = false; 457 sniffing = false;
458 458
459 if ( iface ) 459 if ( iface )
460 { 460 {
461 // switch off monitor mode 461 // switch off monitor mode
462 iface->setMode( "managed" ); 462 iface->setMode( "managed" );
463 // switch off promisc flag 463 // switch off promisc flag
464 iface->setPromiscuousMode( false ); 464 iface->setPromiscuousMode( false );
465 465
466 system( "cardctl reset; sleep 1" ); //FIXME: Use OProcess 466 system( "cardctl reset; sleep 1" ); //FIXME: Use OProcess
467 } 467 }
468 468
469 logwindow->log( "(i) Stopped Scanning." ); 469 logwindow->log( "(i) Stopped Scanning." );
470 assert( parent() ); 470 assert( parent() );
471 ( (QMainWindow*) parent() )->setCaption( "Wellenreiter II" ); 471 ( (QMainWindow*) parent() )->setCaption( "Wellenreiter II" );
472 472
473 // message the user 473 // message the user
474 QMessageBox::information( this, "Wellenreiter II", 474 QMessageBox::information( this, "Wellenreiter II",
475 tr( "Your wireless card\nshould now be usable again." ) ); 475 tr( "Your wireless card\nshould now be usable again." ) );
476 476
477 sniffing = false; 477 sniffing = false;
478 emit( stoppedSniffing() ); 478 emit( stoppedSniffing() );
479 479
480 #ifdef QWS 480 #ifdef QWS
481 if ( WellenreiterConfigWindow::instance()->disablePM->isChecked() ) 481 if ( WellenreiterConfigWindow::instance()->disablePM->isChecked() )
482 { 482 {
483 QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; 483 QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
484 } 484 }
485 #else 485 #else
486 #warning FIXME: setScreenSaverMode is not operational on the X11 build 486 #warning FIXME: setScreenSaverMode is not operational on the X11 build
487 #endif 487 #endif
488 488
489 // print out statistics 489 // print out statistics
490 for( QMap<QString,int>::ConstIterator it = pcap->statistics().begin(); it != pcap->statistics().end(); ++it ) 490 for( QMap<QString,int>::ConstIterator it = pcap->statistics().begin(); it != pcap->statistics().end(); ++it )
491 statwindow->updateCounter( it.key(), it.data() ); 491 statwindow->updateCounter( it.key(), it.data() );
492} 492}
493 493
494 494
495void Wellenreiter::startClicked() 495void Wellenreiter::startClicked()
496{ 496{
497 // get configuration from config window 497 // get configuration from config window
498 498
499 const QString& interface = configwindow->interfaceName->currentText(); 499 const QString& interface = configwindow->interfaceName->currentText();
500 const int cardtype = configwindow->driverType(); 500 const int cardtype = configwindow->driverType();
501 const int interval = configwindow->hoppingInterval(); 501 const int interval = configwindow->hoppingInterval();
502 502
503 if ( ( interface == "" ) || ( cardtype == 0 ) ) 503 if ( ( interface == "" ) || ( cardtype == 0 ) )
504 { 504 {
505 QMessageBox::information( this, "Wellenreiter II", 505 QMessageBox::information( this, "Wellenreiter II",
506 tr( "Your device is not\nproperly configured. Please reconfigure!" ) ); 506 tr( "Your device is not\nproperly configured. Please reconfigure!" ) );
507 return; 507 return;
508 } 508 }
509 509
510 // configure device 510 // configure device
511 ONetwork* net = ONetwork::instance(); 511 ONetwork* net = ONetwork::instance();
512 512
513 // TODO: check if interface is wireless and support sniffing for non-wireless interfaces 513 // TODO: check if interface is wireless and support sniffing for non-wireless interfaces
514 514
515 if ( !net->isPresent( interface ) )
516 {
517 QMessageBox::information( this, "Wellenreiter II",
518 tr( "The configured device (%1)\nis not available on this system\n. Please reconfigure!" ).arg( interface ) );
519 return;
520 }
521
515 iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface )); // fails if network is not wireless! 522 iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface )); // fails if network is not wireless!
523 assert( iface );
516 524
517 // bring device UP 525 // bring device UP
518 if ( cardtype != DEVTYPE_FILE ) 526 if ( cardtype != DEVTYPE_FILE )
519 { 527 {
520 iface->setUp( true ); 528 iface->setUp( true );
521 if ( !iface->isUp() ) 529 if ( !iface->isUp() )
522 { 530 {
523 QMessageBox::warning( this, "Wellenreiter II", 531 QMessageBox::warning( this, "Wellenreiter II",
524 tr( "Can't bring interface '%1' up:\n" ).arg( iface->name() ) + strerror( errno ) ); 532 tr( "Can't bring interface '%1' up:\n" ).arg( iface->name() ) + strerror( errno ) );
525 return; 533 return;
526 } 534 }
527 } 535 }
528 // set monitor mode 536 // set monitor mode
529 bool usePrism = configwindow->usePrismHeader(); 537 bool usePrism = configwindow->usePrismHeader();
530 538
531 switch ( cardtype ) 539 switch ( cardtype )
532 { 540 {
533 case DEVTYPE_CISCO: iface->setMonitoring( new OCiscoMonitoringInterface( iface, usePrism ) ); break; 541 case DEVTYPE_CISCO: iface->setMonitoring( new OCiscoMonitoringInterface( iface, usePrism ) ); break;
534 case DEVTYPE_WLAN_NG: iface->setMonitoring( new OWlanNGMonitoringInterface( iface, usePrism ) ); break; 542 case DEVTYPE_WLAN_NG: iface->setMonitoring( new OWlanNGMonitoringInterface( iface, usePrism ) ); break;
535 case DEVTYPE_HOSTAP: iface->setMonitoring( new OHostAPMonitoringInterface( iface, usePrism ) ); break; 543 case DEVTYPE_HOSTAP: iface->setMonitoring( new OHostAPMonitoringInterface( iface, usePrism ) ); break;
536 case DEVTYPE_ORINOCO: iface->setMonitoring( new OOrinocoMonitoringInterface( iface, usePrism ) ); break; 544 case DEVTYPE_ORINOCO: iface->setMonitoring( new OOrinocoMonitoringInterface( iface, usePrism ) ); break;
537 case DEVTYPE_MANUAL: QMessageBox::information( this, "Wellenreiter II", tr( "Bring your device into\nmonitor mode now." ) ); break; 545 case DEVTYPE_MANUAL: QMessageBox::information( this, "Wellenreiter II", tr( "Bring your device into\nmonitor mode now." ) ); break;
538 case DEVTYPE_FILE: qDebug( "Wellenreiter: Capturing from file '%s'", (const char*) interface ); break; 546 case DEVTYPE_FILE: qDebug( "Wellenreiter: Capturing from file '%s'", (const char*) interface ); break;
539 default: assert( 0 ); // shouldn't reach this 547 default: assert( 0 ); // shouldn't reach this
540 } 548 }
541 549
542 // switch device into monitor mode 550 // switch device into monitor mode
543 if ( cardtype < DEVTYPE_FILE ) 551 if ( cardtype < DEVTYPE_FILE )
544 { 552 {
545 if ( cardtype != DEVTYPE_MANUAL ) 553 if ( cardtype != DEVTYPE_MANUAL )
546 iface->setMode( "monitor" ); 554 iface->setMode( "monitor" );
547 if ( iface->mode() != "monitor" ) 555 if ( iface->mode() != "monitor" )
548 { 556 {
549 if ( QMessageBox::warning( this, "Wellenreiter II", 557 if ( QMessageBox::warning( this, "Wellenreiter II",
550 tr( "Can't set interface '%1'\ninto monitor mode:\n" ).arg( iface->name() ) + strerror( errno ) + 558 tr( "Can't set interface '%1'\ninto monitor mode:\n" ).arg( iface->name() ) + strerror( errno ) +
551 tr( "\nContinue with limited functionality?" ), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No ) 559 tr( "\nContinue with limited functionality?" ), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No )
552 return; 560 return;
553 } 561 }
554 } 562 }
555 563
556 // open GPS device 564 // open GPS device
557 if ( configwindow->enableGPS->isChecked() ) 565 if ( configwindow->enableGPS->isChecked() )
558 { 566 {
559 qDebug( "Wellenreiter:GPS enabled @ %s:%d", (const char*) configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() ); 567 qDebug( "Wellenreiter:GPS enabled @ %s:%d", (const char*) configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() );
560 gps->open( configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() ); 568 gps->open( configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() );
561 } 569 }
562 570
563 // open pcap and start sniffing 571 // open pcap and start sniffing
564 572
565 if ( configwindow->writeCaptureFile->isChecked() ) // write to a user specified capture file? 573 if ( configwindow->writeCaptureFile->isChecked() ) // write to a user specified capture file?
566 { 574 {
567 dumpname = configwindow->captureFileName->text(); 575 dumpname = configwindow->captureFileName->text();
568 if ( dumpname.isEmpty() ) dumpname = "captureFile"; 576 if ( dumpname.isEmpty() ) dumpname = "captureFile";
569 dumpname.append( '-' ); 577 dumpname.append( '-' );
570 dumpname.append( QTime::currentTime().toString().replace( QRegExp( ":" ), "-" ) ); 578 dumpname.append( QTime::currentTime().toString().replace( QRegExp( ":" ), "-" ) );
571 dumpname.append( ".wellenreiter" ); 579 dumpname.append( ".wellenreiter" );
572 } 580 }
573 else // write it anyway ;) 581 else // write it anyway ;)
574 { 582 {
575 dumpname = "/var/log/dump.wellenreiter"; 583 dumpname = "/var/log/dump.wellenreiter";
576 } 584 }
577 585
578 if ( cardtype != DEVTYPE_FILE ) 586 if ( cardtype != DEVTYPE_FILE )
579 pcap->open( interface ); 587 pcap->open( interface );
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
index b8b6730..f57dba2 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
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 "wellenreiterbase.h" 16#include "wellenreiterbase.h"
17 17
18#include <qlabel.h> 18#include <qlabel.h>
19#include <qlayout.h> 19#include <qlayout.h>
20 20
21#include "logwindow.h" 21#include "logwindow.h"
22#include "hexwindow.h" 22#include "hexwindow.h"
23#include "scanlist.h" 23#include "scanlist.h"
24#include "statwindow.h" 24#include "statwindow.h"
25#include "graphwindow.h" 25#include "graphwindow.h"
26 26
27#ifdef QWS 27#ifdef QWS
28#include <qpe/resource.h> 28#include <qpe/resource.h>
29#include <opie2/otabwidget.h> 29#include <opie2/otabwidget.h>
30using namespace Opie; 30using namespace Opie;
31#else 31#else
32#include "resource.h" 32#include "resource.h"
33#include <qtabwidget.h> 33#include <qtabwidget.h>
34#endif 34#endif
35 35
36 36
37/* 37/*
38 * Constructs a WellenreiterBase which is a child of 'parent', with the 38 * Constructs a WellenreiterBase which is a child of 'parent', with the
39 * name 'name' and widget flags set to 'f' 39 * name 'name' and widget flags set to 'f'
40 */ 40 */
41WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl ) 41WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl )
42 : QWidget( parent, name, fl ) 42 : QWidget( parent, name, fl )
43{ 43{
44 //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) ); 44 //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) );
45 //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) ); 45 //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) );
46 //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) ); 46 //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) );
47 //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) ); 47 //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) );
48 48
49 if ( !name ) 49 if ( !name )
50 setName( "WellenreiterBase" ); 50 setName( "WellenreiterBase" );
51 resize( 191, 294 ); 51 resize( 191, 294 );
52#ifdef QWS 52#ifdef QWS
53 setCaption( tr( "Wellenreiter/Opie" ) ); 53 setCaption( tr( "Wellenreiter/Opie" ) );
54#else 54#else
55 setCaption( tr( "Wellenreiter/X11" ) ); 55 setCaption( tr( "Wellenreiter/X11" ) );
56#endif 56#endif
57 WellenreiterBaseLayout = new QVBoxLayout( this ); 57 WellenreiterBaseLayout = new QVBoxLayout( this );
58 WellenreiterBaseLayout->setSpacing( 2 ); 58 WellenreiterBaseLayout->setSpacing( 2 );
59 WellenreiterBaseLayout->setMargin( 0 ); 59 WellenreiterBaseLayout->setMargin( 0 );
60#ifdef QWS 60#ifdef QWS
61 TabWidget = new OTabWidget( this, "TabWidget", OTabWidget::Global ); 61 TabWidget = new OTabWidget( this, "TabWidget", OTabWidget::Global );
62#else 62#else
63 TabWidget = new QTabWidget( this, "TabWidget" ); 63 TabWidget = new QTabWidget( this, "TabWidget" );
64#endif 64#endif
65 ap = new QWidget( TabWidget, "ap" ); 65 ap = new QWidget( TabWidget, "ap" );
66 apLayout = new QVBoxLayout( ap ); 66 apLayout = new QVBoxLayout( ap );
67 apLayout->setSpacing( 2 ); 67 apLayout->setSpacing( 2 );
68 apLayout->setMargin( 2 ); 68 apLayout->setMargin( 2 );
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.h b/noncore/net/wellenreiter/gui/wellenreiterbase.h
index 2cc273e..5e00ddc 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.h
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.h
@@ -1,68 +1,68 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Wellenreiter II.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef WELLENREITERBASE_H 16#ifndef WELLENREITERBASE_H
17#define WELLENREITERBASE_H 17#define WELLENREITERBASE_H
18 18
19#include <qvariant.h> 19#include <qvariant.h>
20#include <qwidget.h> 20#include <qwidget.h>
21class QVBoxLayout; 21class QVBoxLayout;
22class QHBoxLayout; 22class QHBoxLayout;
23class QGridLayout; 23class QGridLayout;
24class QLabel; 24class QLabel;
25class MScanListView; 25class MScanListView;
26class MScanListItem; 26class MScanListItem;
27class QPushButton; 27class QPushButton;
28class MLogWindow; 28class MLogWindow;
29class MHexWindow; 29class MHexWindow;
30class MStatWindow; 30class MStatWindow;
31class MGraphWindow; 31class MGraphWindow;
32 32
33#ifdef QWS 33#ifdef QWS
34#include <opie2/otabwidget.h> 34#include <opie2/otabwidget.h>
35using namespace Opie; 35using namespace Opie;
36#else 36#else
37class QTabWidget; 37class QTabWidget;
38#endif 38#endif
39 39
40class WellenreiterBase : public QWidget 40class WellenreiterBase : public QWidget
41{ 41{
42 Q_OBJECT 42 Q_OBJECT
43 43
44public: 44public:
45 WellenreiterBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 45 WellenreiterBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
46 ~WellenreiterBase(); 46 ~WellenreiterBase();
47 47
48#ifdef QWS 48#ifdef QWS
49 OTabWidget* TabWidget; 49 OTabWidget* TabWidget;
50#else 50#else
51 QTabWidget* TabWidget; 51 QTabWidget* TabWidget;
52#endif 52#endif
53 QWidget* ap; 53 QWidget* ap;
54 MScanListView* netview; 54 MScanListView* netview;
55 MLogWindow* logwindow; 55 MLogWindow* logwindow;
56 MHexWindow* hexwindow; 56 MHexWindow* hexwindow;
57 MStatWindow* statwindow; 57 MStatWindow* statwindow;
58 MGraphWindow* graphwindow; 58 MGraphWindow* graphwindow;
59 QWidget* about; 59 QWidget* about;
60 QLabel* PixmapLabel1_3_2; 60 QLabel* PixmapLabel1_3_2;
61 QLabel* TextLabel1_4_2; 61 QLabel* TextLabel1_4_2;
62 62
63protected: 63protected:
64 QVBoxLayout* WellenreiterBaseLayout; 64 QVBoxLayout* WellenreiterBaseLayout;
65 QVBoxLayout* apLayout; 65 QVBoxLayout* apLayout;
66 QGridLayout* aboutLayout; 66 QGridLayout* aboutLayout;
67 bool event( QEvent* ); 67 bool event( QEvent* );
68 68