summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/opietooth2/OTGateway.cpp4
-rw-r--r--noncore/settings/networksettings2/opietooth2/OTMainGUI.ui270
2 files changed, 158 insertions, 116 deletions
diff --git a/noncore/settings/networksettings2/opietooth2/OTGateway.cpp b/noncore/settings/networksettings2/opietooth2/OTGateway.cpp
index 2d13ce9..6531cf6 100644
--- a/noncore/settings/networksettings2/opietooth2/OTGateway.cpp
+++ b/noncore/settings/networksettings2/opietooth2/OTGateway.cpp
@@ -1,369 +1,369 @@
1#include <qmessagebox.h> 1#include <qmessagebox.h>
2#include <qfile.h> 2#include <qfile.h>
3#include <qdir.h> 3#include <qdir.h>
4#include <qtextstream.h> 4#include <qtextstream.h>
5#include <qpixmap.h> 5#include <qpixmap.h>
6#include <qvector.h> 6#include <qvector.h>
7#include <qpe/resource.h> 7#include <qpe/resource.h>
8 8
9#include <opie2/odebug.h> 9#include <opie2/odebug.h>
10 10
11#include <bluezlib.h> 11#include <bluezlib.h>
12 12
13#include <OTDevice.h> 13#include <OTDevice.h>
14#include <OTDriver.h> 14#include <OTDriver.h>
15#include <OTInquiry.h> 15#include <OTInquiry.h>
16#include <OTDriverList.h> 16#include <OTDriverList.h>
17#include <OTDeviceAddress.h> 17#include <OTDeviceAddress.h>
18#include <OTGateway.h> 18#include <OTGateway.h>
19 19
20using namespace Opietooth2; 20using namespace Opietooth2;
21 21
22// single instance 22// single instance
23OTGateway * OTGateway::SingleGateway = 0; 23OTGateway * OTGateway::SingleGateway = 0;
24int OTGateway::UseCount = 0; 24int OTGateway::UseCount = 0;
25 25
26OTGateway * OTGateway::getOTGateway( void ) { 26OTGateway * OTGateway::getOTGateway( void ) {
27 if(SingleGateway == 0 ) { 27 if(SingleGateway == 0 ) {
28 SingleGateway = new OTGateway(); 28 SingleGateway = new OTGateway();
29 } 29 }
30 30
31 UseCount ++; 31 UseCount ++;
32 return SingleGateway; 32 return SingleGateway;
33} 33}
34 34
35void OTGateway::releaseOTGateway( void ) { 35void OTGateway::releaseOTGateway( void ) {
36 UseCount --; 36 UseCount --;
37 if( UseCount == 0 ) { 37 if( UseCount == 0 ) {
38 delete SingleGateway; 38 delete SingleGateway;
39 SingleGateway = 0; 39 SingleGateway = 0;
40 } 40 }
41} 41}
42 42
43// open bluetooth system 43// open bluetooth system
44OTGateway::OTGateway( void ) : QObject( 0, "OTGateway" ), 44OTGateway::OTGateway( void ) : QObject( 0, "OTGateway" ),
45 AllDrivers( this ), 45 AllDrivers( this ),
46 AllPeers() { 46 AllPeers() {
47 47
48 ErrorConnectCount = 0; 48 ErrorConnectCount = 0;
49 TheOTDevice = 0; 49 TheOTDevice = 0;
50 Scanning = 0; 50 Scanning = 0;
51 AllPeersModified = 0; 51 AllPeersModified = 0;
52 AllPeers.setAutoDelete( TRUE ); 52 AllPeers.setAutoDelete( TRUE );
53 53
54 if ( ( HciCtl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0) { 54 if ( ( HciCtl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0) {
55 SLOT_ShowError( tr( "error opening hci socket" ) ); 55 SLOT_ShowError( tr( "error opening hci socket" ) );
56 return; 56 return;
57 } 57 }
58 58
59 // load all known devices 59 // load all known devices
60 updateDrivers(); 60 updateDrivers();
61 61
62 // load all peers we have ever seen 62 // load all peers we have ever seen
63 loadKnownPeers(); 63 loadKnownPeers();
64 64
65 // iterate over drivers and find active connections 65 // iterate over drivers and find active connections
66 // adding/updating peers 66 // adding/updating peers
67 loadActiveConnections(); 67 loadActiveConnections();
68 68
69 // check every 4 seconds the state of BT 69 // check every 4 seconds the state of BT
70 timerEvent(0); 70 timerEvent(0);
71 RefreshTimer = -1; 71 RefreshTimer = -1;
72 setRefreshTimer( 4000 ); 72 setRefreshTimer( 4000 );
73 73
74 // load known link keys 74 // load known link keys
75 readLinkKeys(); 75 readLinkKeys();
76} 76}
77 77
78// close bluetooth system 78// close bluetooth system
79OTGateway::~OTGateway( void ) { 79OTGateway::~OTGateway( void ) {
80 80
81 if( AllPeersModified ) { 81 if( AllPeersModified ) {
82 saveKnownPeers(); 82 saveKnownPeers();
83 } 83 }
84 84
85 if( Scanning ) 85 if( Scanning )
86 delete Scanning; 86 delete Scanning;
87 87
88 if( TheOTDevice ) 88 if( TheOTDevice )
89 delete TheOTDevice; 89 delete TheOTDevice;
90 90
91 if( HciCtl >= 0 ) { 91 if( HciCtl >= 0 ) {
92 ::close( HciCtl ); 92 ::close( HciCtl );
93 } 93 }
94} 94}
95 95
96void OTGateway::setRefreshTimer( int T ) { 96void OTGateway::setRefreshTimer( int T ) {
97 if( RefreshTimer != -1 ) { 97 if( RefreshTimer != -1 ) {
98 killTimer( RefreshTimer ); 98 killTimer( RefreshTimer );
99 } 99 }
100 100
101 if( T == 0 ) 101 if( T == 0 )
102 T = 4000; 102 T = 4000;
103 RefreshTimer = startTimer( T ); 103 RefreshTimer = startTimer( T );
104} 104}
105 105
106OTDevice * OTGateway::getOTDevice( ) { 106OTDevice * OTGateway::getOTDevice( ) {
107 if( TheOTDevice == 0 ) { 107 if( TheOTDevice == 0 ) {
108 // load bluetooth device and check state 108 // load bluetooth device and check state
109 TheOTDevice = new OTDevice( this ); 109 TheOTDevice = new OTDevice( this );
110 connect( TheOTDevice, 110 connect( TheOTDevice,
111 SIGNAL( isEnabled( int, bool ) ), 111 SIGNAL( isEnabled( int, bool ) ),
112 this, 112 this,
113 SLOT( SLOT_Enabled( int, bool ) ) ); 113 SLOT( SLOT_Enabled( int, bool ) ) );
114 114
115 connect( TheOTDevice, 115 connect( TheOTDevice,
116 SIGNAL( error( const QString & ) ), 116 SIGNAL( error( const QString & ) ),
117 this, 117 this,
118 SLOT( SLOT_ShowError( const QString & ) ) ); 118 SLOT( SLOT_ShowError( const QString & ) ) );
119 } 119 }
120 120
121 return TheOTDevice; 121 return TheOTDevice;
122} 122}
123 123
124// start bluetooth (if stopped) 124// start bluetooth (if stopped)
125// return TRUE if started 125// return TRUE if started
126void OTGateway::SLOT_SetEnabled( bool Mode ) { 126void OTGateway::SLOT_SetEnabled( bool Mode ) {
127 if( Mode ) { 127 if( Mode ) {
128 SLOT_Enable(); 128 SLOT_Enable();
129 return; 129 return;
130 } 130 }
131 SLOT_Disable(); 131 SLOT_Disable();
132} 132}
133 133
134void OTGateway::SLOT_Enable() { 134void OTGateway::SLOT_Enable() {
135 getOTDevice()->attach(); 135 getOTDevice()->attach();
136} 136}
137 137
138void OTGateway::SLOT_Disable() { 138void OTGateway::SLOT_Disable() {
139 getOTDevice()->detach(); 139 getOTDevice()->detach();
140} 140}
141 141
142bool OTGateway::needsEnabling() { 142bool OTGateway::needsEnabling() {
143 return getOTDevice()->needsAttach(); 143 return getOTDevice()->needsAttach();
144} 144}
145 145
146bool OTGateway::isEnabled() { 146bool OTGateway::isEnabled() {
147 if( getOTDevice()->deviceNr() >= 0 && 147 if( getOTDevice()->deviceNr() >= 0 &&
148 driver( getOTDevice()->deviceNr() )->isUp() ) 148 driver( getOTDevice()->deviceNr() )->isUp() )
149 return TRUE; 149 return TRUE;
150 150
151 // else check system 151 // else check system
152 return getOTDevice()->isAttached(); 152 return getOTDevice()->isAttached();
153} 153}
154 154
155void OTGateway::SLOT_ShowError( const QString & S ) { 155void OTGateway::SLOT_ShowError( const QString & S ) {
156 156
157 owarn << S << oendl; 157 owarn << S << oendl;
158 158
159 if( ErrorConnectCount > 0 ) { 159 if( ErrorConnectCount > 0 ) {
160 // pass error 160 // pass error
161 emit error( QString( "<p>" ) + S + "</p>" ); 161 emit error( QString( "<p>" ) + S + "</p>" );
162 return; 162 return;
163 } 163 }
164 164
165 QMessageBox::warning( 0, 165 QMessageBox::warning( 0,
166 tr("OTGateway error"), 166 tr("OTGateway error"),
167 S ); 167 S );
168} 168}
169 169
170void OTGateway::connectNotify( const char * S ) { 170void OTGateway::connectNotify( const char * S ) {
171 if( strcmp( S, "error(const QString&)" ) == 0 ) { 171 if( S && strcmp( S, "error(const QString&)" ) == 0 ) {
172 ErrorConnectCount ++; 172 ErrorConnectCount ++;
173 } 173 }
174} 174}
175 175
176void OTGateway::disconnectNotify( const char * S ) { 176void OTGateway::disconnectNotify( const char * S ) {
177 if( strcmp( S, "error(const QString&)" ) == 0 ) { 177 if( S && strcmp( S, "error(const QString&)" ) == 0 ) {
178 ErrorConnectCount --; 178 ErrorConnectCount --;
179 } 179 }
180} 180}
181 181
182void OTGateway::timerEvent( QTimerEvent * ) { 182void OTGateway::timerEvent( QTimerEvent * ) {
183 183
184 OTDriver * D; 184 OTDriver * D;
185 unsigned int oldc = AllDrivers.count(); 185 unsigned int oldc = AllDrivers.count();
186 bool old; 186 bool old;
187 187
188 AllDrivers.update(); 188 AllDrivers.update();
189 189
190 if( oldc != AllDrivers.count() ) { 190 if( oldc != AllDrivers.count() ) {
191 updateDrivers(); 191 updateDrivers();
192 } else { 192 } else {
193 for( unsigned int i = 0; 193 for( unsigned int i = 0;
194 i < AllDrivers.count(); 194 i < AllDrivers.count();
195 i ++ ) { 195 i ++ ) {
196 D = AllDrivers[i]; 196 D = AllDrivers[i];
197 old = D->isUp(); 197 old = D->isUp();
198 if( D->currentState() >= 0 ) { 198 if( D->currentState() >= 0 ) {
199 if( old != D->isUp() ) { 199 if( old != D->isUp() ) {
200 emit stateChange( D, D->isUp() ); 200 emit stateChange( D, D->isUp() );
201 } 201 }
202 } else { 202 } else {
203 // if one driver is unable to provide info 203 // if one driver is unable to provide info
204 // we refresh all devices 204 // we refresh all devices
205 updateDrivers(); 205 updateDrivers();
206 return; 206 return;
207 } 207 }
208 } 208 }
209 } 209 }
210} 210}
211 211
212void OTGateway::SLOT_Enabled( int id, bool Up ) { 212void OTGateway::SLOT_Enabled( int id, bool Up ) {
213 owarn << "device " << id << " state " << Up << oendl; 213 owarn << "device " << id << " state " << Up << oendl;
214 if( Up ) { 214 if( Up ) {
215 // device is up -> detect it 215 // device is up -> detect it
216 updateDrivers(); 216 updateDrivers();
217 if( (unsigned)id >= AllDrivers.count() ) { 217 if( (unsigned)id >= AllDrivers.count() ) {
218 // to make sure that the driver really IS detected 218 // to make sure that the driver really IS detected
219 AllDrivers[id]->bringUp(); 219 AllDrivers[id]->bringUp();
220 } 220 }
221 } // if DOWN device already down 221 } // if DOWN device already down
222 emit deviceEnabled( Up ); 222 emit deviceEnabled( Up );
223} 223}
224 224
225void OTGateway::updateDrivers( void ) { 225void OTGateway::updateDrivers( void ) {
226 OTDriver * D; 226 OTDriver * D;
227 227
228 AllDrivers.update(); 228 AllDrivers.update();
229 229
230 owarn << "updated drivers. now " << AllDrivers.count() << oendl; 230 owarn << "updated drivers. now " << AllDrivers.count() << oendl;
231 231
232 // connect signals for each driver 232 // connect signals for each driver
233 for( unsigned int i = 0; 233 for( unsigned int i = 0;
234 i < AllDrivers.count(); 234 i < AllDrivers.count();
235 i ++ ) { 235 i ++ ) {
236 D = AllDrivers[i]; 236 D = AllDrivers[i];
237 237
238 connect( D, 238 connect( D,
239 SIGNAL( error( const QString & ) ), 239 SIGNAL( error( const QString & ) ),
240 this, 240 this,
241 SLOT( SLOT_ShowError( const QString & ) ) 241 SLOT( SLOT_ShowError( const QString & ) )
242 ); 242 );
243 243
244 connect( D, 244 connect( D,
245 SIGNAL( stateChange( OTDriver *, bool ) ), 245 SIGNAL( stateChange( OTDriver *, bool ) ),
246 this, 246 this,
247 SIGNAL( stateChange( OTDriver *, bool ) ) 247 SIGNAL( stateChange( OTDriver *, bool ) )
248 ); 248 );
249 249
250 connect( D, 250 connect( D,
251 SIGNAL( driverDisappeared( OTDriver * ) ), 251 SIGNAL( driverDisappeared( OTDriver * ) ),
252 this, 252 this,
253 SLOT( SLOT_DriverDisappeared( OTDriver * ) ) 253 SLOT( SLOT_DriverDisappeared( OTDriver * ) )
254 ); 254 );
255 } 255 }
256 256
257 // verify main device too 257 // verify main device too
258 if( TheOTDevice ) 258 if( TheOTDevice )
259 TheOTDevice->checkAttach(); 259 TheOTDevice->checkAttach();
260 260
261 // set to default scanning hardware 261 // set to default scanning hardware
262 setScanWith( 0 ); 262 setScanWith( 0 );
263 263
264 emit driverListChanged(); 264 emit driverListChanged();
265} 265}
266 266
267void OTGateway::SLOT_DriverDisappeared( OTDriver * D ) { 267void OTGateway::SLOT_DriverDisappeared( OTDriver * D ) {
268 owarn << "Driver " << D->devname() << " when offline" << oendl; 268 owarn << "Driver " << D->devname() << " when offline" << oendl;
269 updateDrivers(); 269 updateDrivers();
270} 270}
271 271
272void OTGateway::scanNeighbourhood( OTDriver * D ) { 272void OTGateway::scanNeighbourhood( OTDriver * D ) {
273 273
274 if( Scanning ) { 274 if( Scanning ) {
275 stopScanOfNeighbourhood(); 275 stopScanOfNeighbourhood();
276 } 276 }
277 277
278 if( D ) { 278 if( D ) {
279 setScanWith( D ); 279 setScanWith( D );
280 } 280 }
281 281
282 Scanning = new OTInquiry( scanWith() ); 282 Scanning = new OTInquiry( scanWith() );
283 283
284 connect( Scanning, 284 connect( Scanning,
285 SIGNAL( peerFound( OTPeer *, bool )), 285 SIGNAL( peerFound( OTPeer *, bool )),
286 this, 286 this,
287 SLOT( SLOT_PeerDetected( OTPeer *, bool ) ) 287 SLOT( SLOT_PeerDetected( OTPeer *, bool ) )
288 ); 288 );
289 connect( Scanning, 289 connect( Scanning,
290 SIGNAL( finished()), 290 SIGNAL( finished()),
291 this, 291 this,
292 SLOT( SLOT_FinishedDetecting() ) 292 SLOT( SLOT_FinishedDetecting() )
293 ); 293 );
294 294
295 // start scanning 295 // start scanning
296 Scanning->inquire( 30.0 ); 296 Scanning->inquire( 30.0 );
297} 297}
298 298
299OTPeer* OTGateway::findPeer( const OTDeviceAddress & Addr ) { 299OTPeer* OTGateway::findPeer( const OTDeviceAddress & Addr ) {
300 for( unsigned int i = 0 ; i < AllPeers.count(); i ++ ) { 300 for( unsigned int i = 0 ; i < AllPeers.count(); i ++ ) {
301 if( AllPeers[i]->address() == Addr ) { 301 if( AllPeers[i]->address() == Addr ) {
302 return AllPeers[i]; 302 return AllPeers[i];
303 } 303 }
304 } 304 }
305 return 0; 305 return 0;
306} 306}
307 307
308OTDriver* OTGateway::findDriver( const OTDeviceAddress & Addr ) { 308OTDriver* OTGateway::findDriver( const OTDeviceAddress & Addr ) {
309 for( unsigned int i = 0 ; i < AllDrivers.count(); i ++ ) { 309 for( unsigned int i = 0 ; i < AllDrivers.count(); i ++ ) {
310 if( AllDrivers[i]->address() == Addr ) { 310 if( AllDrivers[i]->address() == Addr ) {
311 return AllDrivers[i]; 311 return AllDrivers[i];
312 } 312 }
313 } 313 }
314 return 0; 314 return 0;
315} 315}
316 316
317void OTGateway::SLOT_PeerDetected( OTPeer * P, bool IsNew ) { 317void OTGateway::SLOT_PeerDetected( OTPeer * P, bool IsNew ) {
318 318
319 if( IsNew ) { 319 if( IsNew ) {
320 // new peer 320 // new peer
321 owarn << "New peer " << P->name() << oendl; 321 owarn << "New peer " << P->name() << oendl;
322 addPeer( P ); 322 addPeer( P );
323 } 323 }
324 324
325 emit detectedPeer( P, IsNew ); 325 emit detectedPeer( P, IsNew );
326} 326}
327 327
328void OTGateway::addPeer( OTPeer * P ) { 328void OTGateway::addPeer( OTPeer * P ) {
329 AllPeers.resize( AllPeers.size()+1); 329 AllPeers.resize( AllPeers.size()+1);
330 AllPeers.insert( AllPeers.size()-1, P ); 330 AllPeers.insert( AllPeers.size()-1, P );
331 AllPeersModified = 1; 331 AllPeersModified = 1;
332} 332}
333 333
334void OTGateway::removePeer( OTPeer * P ) { 334void OTGateway::removePeer( OTPeer * P ) {
335 int i = AllPeers.find( P ); 335 int i = AllPeers.find( P );
336 if( i ) { 336 if( i ) {
337 AllPeers.remove( i ); 337 AllPeers.remove( i );
338 AllPeersModified = 1; 338 AllPeersModified = 1;
339 } 339 }
340} 340}
341 341
342void OTGateway::stopScanOfNeighbourhood( void ) { 342void OTGateway::stopScanOfNeighbourhood( void ) {
343 if( Scanning ) { 343 if( Scanning ) {
344 delete Scanning; 344 delete Scanning;
345 Scanning = 0; 345 Scanning = 0;
346 } 346 }
347} 347}
348 348
349void OTGateway::SLOT_FinishedDetecting() { 349void OTGateway::SLOT_FinishedDetecting() {
350 stopScanOfNeighbourhood(); 350 stopScanOfNeighbourhood();
351 emit finishedDetecting(); 351 emit finishedDetecting();
352} 352}
353 353
354const char * OTGateway::deviceTypeToName( int cls ) { 354const char * OTGateway::deviceTypeToName( int cls ) {
355 switch ( (cls & 0x001F00) >> 8) { 355 switch ( (cls & 0x001F00) >> 8) {
356 case 0x00: 356 case 0x00:
357 return "misc"; 357 return "misc";
358 case 0x01: 358 case 0x01:
359 return "computer"; 359 return "computer";
360 case 0x02: 360 case 0x02:
361 return "phone"; 361 return "phone";
362 case 0x03: 362 case 0x03:
363 return "lan"; 363 return "lan";
364 case 0x04: 364 case 0x04:
365 return "av"; 365 return "av";
366 case 0x05: 366 case 0x05:
367 return "peripheral"; 367 return "peripheral";
368 case 0x06: 368 case 0x06:
369 return "imaging"; 369 return "imaging";
diff --git a/noncore/settings/networksettings2/opietooth2/OTMainGUI.ui b/noncore/settings/networksettings2/opietooth2/OTMainGUI.ui
index 6005504..d9038ae 100644
--- a/noncore/settings/networksettings2/opietooth2/OTMainGUI.ui
+++ b/noncore/settings/networksettings2/opietooth2/OTMainGUI.ui
@@ -1,626 +1,668 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>OTMainGUI</class> 2<class>OTMainGUI</class>
3<widget> 3<widget>
4 <class>QWidget</class> 4 <class>QWidget</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>OTMainGUI</cstring> 7 <cstring>OTMainGUI</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>228</width> 14 <width>257</width>
15 <height>347</height> 15 <height>296</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>Bluetooth Manager</string> 20 <string>Bluetooth Manager</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 <vbox> 28 <vbox>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>margin</name> 30 <name>margin</name>
31 <number>5</number> 31 <number>3</number>
32 </property> 32 </property>
33 <property stdset="1"> 33 <property stdset="1">
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>0</number> 35 <number>0</number>
36 </property> 36 </property>
37 <spacer> 37 <spacer>
38 <property> 38 <property>
39 <name>name</name> 39 <name>name</name>
40 <cstring>Spacer20</cstring> 40 <cstring>Spacer20</cstring>
41 </property> 41 </property>
42 <property stdset="1"> 42 <property stdset="1">
43 <name>orientation</name> 43 <name>orientation</name>
44 <enum>Vertical</enum> 44 <enum>Vertical</enum>
45 </property> 45 </property>
46 <property stdset="1"> 46 <property stdset="1">
47 <name>sizeType</name> 47 <name>sizeType</name>
48 <enum>Expanding</enum> 48 <enum>Expanding</enum>
49 </property> 49 </property>
50 <property> 50 <property>
51 <name>sizeHint</name> 51 <name>sizeHint</name>
52 <size> 52 <size>
53 <width>20</width> 53 <width>20</width>
54 <height>20</height> 54 <height>20</height>
55 </size> 55 </size>
56 </property> 56 </property>
57 </spacer> 57 </spacer>
58 <widget> 58 <widget>
59 <class>QLayoutWidget</class> 59 <class>QLayoutWidget</class>
60 <property stdset="1"> 60 <property stdset="1">
61 <name>name</name> 61 <name>name</name>
62 <cstring>Layout7</cstring> 62 <cstring>Layout7</cstring>
63 </property> 63 </property>
64 <hbox> 64 <hbox>
65 <property stdset="1"> 65 <property stdset="1">
66 <name>margin</name> 66 <name>margin</name>
67 <number>0</number> 67 <number>0</number>
68 </property> 68 </property>
69 <property stdset="1"> 69 <property stdset="1">
70 <name>spacing</name> 70 <name>spacing</name>
71 <number>6</number> 71 <number>6</number>
72 </property> 72 </property>
73 <widget> 73 <widget>
74 <class>QPushButton</class> 74 <class>QPushButton</class>
75 <property stdset="1"> 75 <property stdset="1">
76 <name>name</name> 76 <name>name</name>
77 <cstring>ManageLocalHW_But</cstring> 77 <cstring>ManageLocalHW_But</cstring>
78 </property> 78 </property>
79 <property stdset="1"> 79 <property stdset="1">
80 <name>text</name> 80 <name>text</name>
81 <string>Local Bluetooth hardware</string> 81 <string>Local Bluetooth hardware</string>
82 </property> 82 </property>
83 </widget> 83 </widget>
84 <spacer> 84 <spacer>
85 <property> 85 <property>
86 <name>name</name> 86 <name>name</name>
87 <cstring>Spacer9_2</cstring> 87 <cstring>Spacer9_2</cstring>
88 </property> 88 </property>
89 <property stdset="1"> 89 <property stdset="1">
90 <name>orientation</name> 90 <name>orientation</name>
91 <enum>Horizontal</enum> 91 <enum>Horizontal</enum>
92 </property> 92 </property>
93 <property stdset="1"> 93 <property stdset="1">
94 <name>sizeType</name> 94 <name>sizeType</name>
95 <enum>Expanding</enum> 95 <enum>Expanding</enum>
96 </property> 96 </property>
97 <property> 97 <property>
98 <name>sizeHint</name> 98 <name>sizeHint</name>
99 <size> 99 <size>
100 <width>20</width> 100 <width>20</width>
101 <height>20</height> 101 <height>20</height>
102 </size> 102 </size>
103 </property> 103 </property>
104 </spacer> 104 </spacer>
105 </hbox> 105 </hbox>
106 </widget> 106 </widget>
107 <spacer>
108 <property>
109 <name>name</name>
110 <cstring>Spacer20_3</cstring>
111 </property>
112 <property stdset="1">
113 <name>orientation</name>
114 <enum>Vertical</enum>
115 </property>
116 <property stdset="1">
117 <name>sizeType</name>
118 <enum>Expanding</enum>
119 </property>
120 <property>
121 <name>sizeHint</name>
122 <size>
123 <width>20</width>
124 <height>20</height>
125 </size>
126 </property>
127 </spacer>
107 <widget> 128 <widget>
108 <class>QLayoutWidget</class> 129 <class>QLayoutWidget</class>
109 <property stdset="1"> 130 <property stdset="1">
110 <name>name</name> 131 <name>name</name>
111 <cstring>Layout2</cstring> 132 <cstring>Layout2</cstring>
112 </property> 133 </property>
113 <hbox> 134 <hbox>
114 <property stdset="1"> 135 <property stdset="1">
115 <name>margin</name> 136 <name>margin</name>
116 <number>0</number> 137 <number>0</number>
117 </property> 138 </property>
118 <property stdset="1"> 139 <property stdset="1">
119 <name>spacing</name> 140 <name>spacing</name>
120 <number>6</number> 141 <number>6</number>
121 </property> 142 </property>
122 <spacer> 143 <spacer>
123 <property> 144 <property>
124 <name>name</name> 145 <name>name</name>
125 <cstring>Spacer7</cstring> 146 <cstring>Spacer7</cstring>
126 </property> 147 </property>
127 <property stdset="1"> 148 <property stdset="1">
128 <name>orientation</name> 149 <name>orientation</name>
129 <enum>Horizontal</enum> 150 <enum>Horizontal</enum>
130 </property> 151 </property>
131 <property stdset="1"> 152 <property stdset="1">
132 <name>sizeType</name> 153 <name>sizeType</name>
133 <enum>Fixed</enum> 154 <enum>Fixed</enum>
134 </property> 155 </property>
135 <property> 156 <property>
136 <name>sizeHint</name> 157 <name>sizeHint</name>
137 <size> 158 <size>
138 <width>20</width> 159 <width>20</width>
139 <height>20</height> 160 <height>20</height>
140 </size> 161 </size>
141 </property> 162 </property>
142 </spacer> 163 </spacer>
143 <widget> 164 <widget>
144 <class>QLabel</class> 165 <class>QLabel</class>
145 <property stdset="1"> 166 <property stdset="1">
146 <name>name</name> 167 <name>name</name>
147 <cstring>TextLabel1</cstring> 168 <cstring>TextLabel1</cstring>
148 </property> 169 </property>
149 <property stdset="1"> 170 <property stdset="1">
150 <name>sizePolicy</name> 171 <name>sizePolicy</name>
151 <sizepolicy> 172 <sizepolicy>
152 <hsizetype>7</hsizetype> 173 <hsizetype>7</hsizetype>
153 <vsizetype>1</vsizetype> 174 <vsizetype>1</vsizetype>
154 </sizepolicy> 175 </sizepolicy>
155 </property> 176 </property>
156 <property stdset="1"> 177 <property stdset="1">
157 <name>text</name> 178 <name>text</name>
158 <string>Select to manage your local Bluetooth hardware</string> 179 <string>Select to manage your local Bluetooth hardware</string>
159 </property> 180 </property>
160 <property stdset="1"> 181 <property stdset="1">
161 <name>alignment</name> 182 <name>alignment</name>
162 <set>WordBreak|AlignVCenter|AlignLeft</set> 183 <set>WordBreak|AlignVCenter|AlignLeft</set>
163 </property> 184 </property>
164 <property> 185 <property>
165 <name>wordwrap</name> 186 <name>wordwrap</name>
166 </property> 187 </property>
167 </widget> 188 </widget>
168 </hbox> 189 </hbox>
169 </widget> 190 </widget>
170 <spacer> 191 <spacer>
171 <property> 192 <property>
172 <name>name</name> 193 <name>name</name>
173 <cstring>Spacer20_2</cstring> 194 <cstring>Spacer20_2</cstring>
174 </property> 195 </property>
175 <property stdset="1"> 196 <property stdset="1">
176 <name>orientation</name> 197 <name>orientation</name>
177 <enum>Vertical</enum> 198 <enum>Vertical</enum>
178 </property> 199 </property>
179 <property stdset="1"> 200 <property stdset="1">
180 <name>sizeType</name> 201 <name>sizeType</name>
181 <enum>Expanding</enum> 202 <enum>Expanding</enum>
182 </property> 203 </property>
183 <property> 204 <property>
184 <name>sizeHint</name> 205 <name>sizeHint</name>
185 <size> 206 <size>
186 <width>20</width> 207 <width>20</width>
187 <height>20</height> 208 <height>20</height>
188 </size> 209 </size>
189 </property> 210 </property>
190 </spacer> 211 </spacer>
191 <widget> 212 <widget>
192 <class>QLayoutWidget</class> 213 <class>QLayoutWidget</class>
193 <property stdset="1"> 214 <property stdset="1">
194 <name>name</name> 215 <name>name</name>
195 <cstring>Layout8</cstring> 216 <cstring>Layout8</cstring>
196 </property> 217 </property>
197 <hbox> 218 <hbox>
198 <property stdset="1"> 219 <property stdset="1">
199 <name>margin</name> 220 <name>margin</name>
200 <number>0</number> 221 <number>0</number>
201 </property> 222 </property>
202 <property stdset="1"> 223 <property stdset="1">
203 <name>spacing</name> 224 <name>spacing</name>
204 <number>6</number> 225 <number>6</number>
205 </property> 226 </property>
206 <widget> 227 <widget>
207 <class>QPushButton</class> 228 <class>QPushButton</class>
208 <property stdset="1"> 229 <property stdset="1">
209 <name>name</name> 230 <name>name</name>
210 <cstring>Scan_But</cstring> 231 <cstring>Scan_But</cstring>
211 </property> 232 </property>
212 <property stdset="1"> 233 <property stdset="1">
213 <name>text</name> 234 <name>text</name>
214 <string>Scan Neighbourhood</string> 235 <string>Scan Neighbourhood</string>
215 </property> 236 </property>
216 </widget> 237 </widget>
217 <spacer> 238 <spacer>
218 <property> 239 <property>
219 <name>name</name> 240 <name>name</name>
220 <cstring>Spacer9</cstring> 241 <cstring>Spacer9</cstring>
221 </property> 242 </property>
222 <property stdset="1"> 243 <property stdset="1">
223 <name>orientation</name> 244 <name>orientation</name>
224 <enum>Horizontal</enum> 245 <enum>Horizontal</enum>
225 </property> 246 </property>
226 <property stdset="1"> 247 <property stdset="1">
227 <name>sizeType</name> 248 <name>sizeType</name>
228 <enum>Expanding</enum> 249 <enum>Expanding</enum>
229 </property> 250 </property>
230 <property> 251 <property>
231 <name>sizeHint</name> 252 <name>sizeHint</name>
232 <size> 253 <size>
233 <width>20</width> 254 <width>20</width>
234 <height>20</height> 255 <height>20</height>
235 </size> 256 </size>
236 </property> 257 </property>
237 </spacer> 258 </spacer>
238 </hbox> 259 </hbox>
239 </widget> 260 </widget>
240 <widget> 261 <spacer>
241 <class>QLayoutWidget</class> 262 <property>
242 <property stdset="1">
243 <name>name</name> 263 <name>name</name>
244 <cstring>Layout5</cstring> 264 <cstring>Spacer20_4</cstring>
245 </property> 265 </property>
246 <hbox> 266 <property stdset="1">
247 <property stdset="1"> 267 <name>orientation</name>
248 <name>margin</name> 268 <enum>Vertical</enum>
249 <number>0</number> 269 </property>
250 </property> 270 <property stdset="1">
251 <property stdset="1"> 271 <name>sizeType</name>
252 <name>spacing</name> 272 <enum>Expanding</enum>
253 <number>6</number> 273 </property>
254 </property> 274 <property>
255 <spacer> 275 <name>sizeHint</name>
256 <property> 276 <size>
257 <name>name</name> 277 <width>20</width>
258 <cstring>Spacer4</cstring> 278 <height>20</height>
259 </property> 279 </size>
260 <property stdset="1"> 280 </property>
261 <name>orientation</name> 281 </spacer>
262 <enum>Horizontal</enum>
263 </property>
264 <property stdset="1">
265 <name>sizeType</name>
266 <enum>Expanding</enum>
267 </property>
268 <property>
269 <name>sizeHint</name>
270 <size>
271 <width>20</width>
272 <height>20</height>
273 </size>
274 </property>
275 </spacer>
276 <widget>
277 <class>QLabel</class>
278 <property stdset="1">
279 <name>name</name>
280 <cstring>TextLabel5</cstring>
281 </property>
282 <property stdset="1">
283 <name>sizePolicy</name>
284 <sizepolicy>
285 <hsizetype>0</hsizetype>
286 <vsizetype>1</vsizetype>
287 </sizepolicy>
288 </property>
289 <property stdset="1">
290 <name>text</name>
291 <string>Use device :</string>
292 </property>
293 </widget>
294 <widget>
295 <class>QComboBox</class>
296 <property stdset="1">
297 <name>name</name>
298 <cstring>DeviceList_CB</cstring>
299 </property>
300 <property stdset="1">
301 <name>sizePolicy</name>
302 <sizepolicy>
303 <hsizetype>7</hsizetype>
304 <vsizetype>0</vsizetype>
305 </sizepolicy>
306 </property>
307 </widget>
308 </hbox>
309 </widget>
310 <widget> 282 <widget>
311 <class>QLayoutWidget</class> 283 <class>QLayoutWidget</class>
312 <property stdset="1"> 284 <property stdset="1">
313 <name>name</name> 285 <name>name</name>
314 <cstring>Layout4</cstring> 286 <cstring>Layout10</cstring>
315 </property> 287 </property>
316 <hbox> 288 <hbox>
317 <property stdset="1"> 289 <property stdset="1">
318 <name>margin</name> 290 <name>margin</name>
319 <number>0</number> 291 <number>0</number>
320 </property> 292 </property>
321 <property stdset="1"> 293 <property stdset="1">
322 <name>spacing</name> 294 <name>spacing</name>
323 <number>6</number> 295 <number>6</number>
324 </property> 296 </property>
325 <spacer> 297 <spacer>
326 <property> 298 <property>
327 <name>name</name> 299 <name>name</name>
328 <cstring>Spacer7_2</cstring> 300 <cstring>Spacer7_2</cstring>
329 </property> 301 </property>
330 <property stdset="1"> 302 <property stdset="1">
331 <name>orientation</name> 303 <name>orientation</name>
332 <enum>Horizontal</enum> 304 <enum>Horizontal</enum>
333 </property> 305 </property>
334 <property stdset="1"> 306 <property stdset="1">
335 <name>sizeType</name> 307 <name>sizeType</name>
336 <enum>Fixed</enum> 308 <enum>Fixed</enum>
337 </property> 309 </property>
338 <property> 310 <property>
339 <name>sizeHint</name> 311 <name>sizeHint</name>
340 <size> 312 <size>
341 <width>20</width> 313 <width>20</width>
342 <height>20</height> 314 <height>20</height>
343 </size> 315 </size>
344 </property> 316 </property>
345 </spacer> 317 </spacer>
346 <widget> 318 <widget>
347 <class>QLabel</class> 319 <class>QLayoutWidget</class>
348 <property stdset="1"> 320 <property stdset="1">
349 <name>name</name> 321 <name>name</name>
350 <cstring>TextLabel1_2</cstring> 322 <cstring>Layout9</cstring>
351 </property> 323 </property>
352 <property stdset="1"> 324 <grid>
353 <name>sizePolicy</name> 325 <property stdset="1">
354 <sizepolicy> 326 <name>margin</name>
355 <hsizetype>7</hsizetype> 327 <number>0</number>
356 <vsizetype>1</vsizetype> 328 </property>
357 </sizepolicy> 329 <property stdset="1">
358 </property> 330 <name>spacing</name>
359 <property stdset="1"> 331 <number>6</number>
360 <name>text</name> 332 </property>
361 <string>Select to scan the bluetooth network for reachable devices using the selected local device</string> 333 <widget row="0" column="1" >
362 </property> 334 <class>QComboBox</class>
363 <property stdset="1"> 335 <property stdset="1">
364 <name>alignment</name> 336 <name>name</name>
365 <set>WordBreak|AlignVCenter|AlignLeft</set> 337 <cstring>DeviceList_CB</cstring>
366 </property> 338 </property>
367 <property> 339 <property stdset="1">
368 <name>wordwrap</name> 340 <name>sizePolicy</name>
369 </property> 341 <sizepolicy>
342 <hsizetype>7</hsizetype>
343 <vsizetype>0</vsizetype>
344 </sizepolicy>
345 </property>
346 </widget>
347 <spacer row="0" column="2" >
348 <property>
349 <name>name</name>
350 <cstring>Spacer16</cstring>
351 </property>
352 <property stdset="1">
353 <name>orientation</name>
354 <enum>Horizontal</enum>
355 </property>
356 <property stdset="1">
357 <name>sizeType</name>
358 <enum>Expanding</enum>
359 </property>
360 <property>
361 <name>sizeHint</name>
362 <size>
363 <width>20</width>
364 <height>20</height>
365 </size>
366 </property>
367 </spacer>
368 <widget row="1" column="0" rowspan="1" colspan="3" >
369 <class>QLabel</class>
370 <property stdset="1">
371 <name>name</name>
372 <cstring>TextLabel1_2</cstring>
373 </property>
374 <property stdset="1">
375 <name>sizePolicy</name>
376 <sizepolicy>
377 <hsizetype>7</hsizetype>
378 <vsizetype>1</vsizetype>
379 </sizepolicy>
380 </property>
381 <property stdset="1">
382 <name>text</name>
383 <string>Select to scan the bluetooth network for reachable devices using the selected local device</string>
384 </property>
385 <property stdset="1">
386 <name>alignment</name>
387 <set>WordBreak|AlignVCenter|AlignLeft</set>
388 </property>
389 <property>
390 <name>wordwrap</name>
391 </property>
392 </widget>
393 <widget row="0" column="0" >
394 <class>QLabel</class>
395 <property stdset="1">
396 <name>name</name>
397 <cstring>TextLabel5</cstring>
398 </property>
399 <property stdset="1">
400 <name>sizePolicy</name>
401 <sizepolicy>
402 <hsizetype>0</hsizetype>
403 <vsizetype>1</vsizetype>
404 </sizepolicy>
405 </property>
406 <property stdset="1">
407 <name>text</name>
408 <string>Use device :</string>
409 </property>
410 </widget>
411 </grid>
370 </widget> 412 </widget>
371 </hbox> 413 </hbox>
372 </widget> 414 </widget>
373 <spacer> 415 <spacer>
374 <property> 416 <property>
375 <name>name</name> 417 <name>name</name>
376 <cstring>Spacer20_2_2</cstring> 418 <cstring>Spacer20_2_2</cstring>
377 </property> 419 </property>
378 <property stdset="1"> 420 <property stdset="1">
379 <name>orientation</name> 421 <name>orientation</name>
380 <enum>Vertical</enum> 422 <enum>Vertical</enum>
381 </property> 423 </property>
382 <property stdset="1"> 424 <property stdset="1">
383 <name>sizeType</name> 425 <name>sizeType</name>
384 <enum>Expanding</enum> 426 <enum>Expanding</enum>
385 </property> 427 </property>
386 <property> 428 <property>
387 <name>sizeHint</name> 429 <name>sizeHint</name>
388 <size> 430 <size>
389 <width>20</width> 431 <width>20</width>
390 <height>20</height> 432 <height>20</height>
391 </size> 433 </size>
392 </property> 434 </property>
393 </spacer> 435 </spacer>
394 <widget> 436 <widget>
395 <class>QLayoutWidget</class> 437 <class>QLayoutWidget</class>
396 <property stdset="1"> 438 <property stdset="1">
397 <name>name</name> 439 <name>name</name>
398 <cstring>Layout9</cstring> 440 <cstring>Layout9</cstring>
399 </property> 441 </property>
400 <hbox> 442 <hbox>
401 <property stdset="1"> 443 <property stdset="1">
402 <name>margin</name> 444 <name>margin</name>
403 <number>0</number> 445 <number>0</number>
404 </property> 446 </property>
405 <property stdset="1"> 447 <property stdset="1">
406 <name>spacing</name> 448 <name>spacing</name>
407 <number>6</number> 449 <number>6</number>
408 </property> 450 </property>
409 <widget> 451 <widget>
410 <class>QPushButton</class> 452 <class>QPushButton</class>
411 <property stdset="1"> 453 <property stdset="1">
412 <name>name</name> 454 <name>name</name>
413 <cstring>Pairing_But</cstring> 455 <cstring>Pairing_But</cstring>
414 </property> 456 </property>
415 <property stdset="1"> 457 <property stdset="1">
416 <name>text</name> 458 <name>text</name>
417 <string>Manage Pairing</string> 459 <string>Manage Pairing</string>
418 </property> 460 </property>
419 </widget> 461 </widget>
420 <spacer> 462 <spacer>
421 <property> 463 <property>
422 <name>name</name> 464 <name>name</name>
423 <cstring>Spacer9_3</cstring> 465 <cstring>Spacer9_3</cstring>
424 </property> 466 </property>
425 <property stdset="1"> 467 <property stdset="1">
426 <name>orientation</name> 468 <name>orientation</name>
427 <enum>Horizontal</enum> 469 <enum>Horizontal</enum>
428 </property> 470 </property>
429 <property stdset="1"> 471 <property stdset="1">
430 <name>sizeType</name> 472 <name>sizeType</name>
431 <enum>Expanding</enum> 473 <enum>Expanding</enum>
432 </property> 474 </property>
433 <property> 475 <property>
434 <name>sizeHint</name> 476 <name>sizeHint</name>
435 <size> 477 <size>
436 <width>20</width> 478 <width>20</width>
437 <height>20</height> 479 <height>20</height>
438 </size> 480 </size>
439 </property> 481 </property>
440 </spacer> 482 </spacer>
441 </hbox> 483 </hbox>
442 </widget> 484 </widget>
485 <spacer>
486 <property>
487 <name>name</name>
488 <cstring>Spacer20_5</cstring>
489 </property>
490 <property stdset="1">
491 <name>orientation</name>
492 <enum>Vertical</enum>
493 </property>
494 <property stdset="1">
495 <name>sizeType</name>
496 <enum>Expanding</enum>
497 </property>
498 <property>
499 <name>sizeHint</name>
500 <size>
501 <width>20</width>
502 <height>20</height>
503 </size>
504 </property>
505 </spacer>
443 <widget> 506 <widget>
444 <class>QLayoutWidget</class> 507 <class>QLayoutWidget</class>
445 <property stdset="1"> 508 <property stdset="1">
446 <name>name</name> 509 <name>name</name>
447 <cstring>Layout6</cstring> 510 <cstring>Layout6</cstring>
448 </property> 511 </property>
449 <hbox> 512 <hbox>
450 <property stdset="1"> 513 <property stdset="1">
451 <name>margin</name> 514 <name>margin</name>
452 <number>0</number> 515 <number>0</number>
453 </property> 516 </property>
454 <property stdset="1"> 517 <property stdset="1">
455 <name>spacing</name> 518 <name>spacing</name>
456 <number>6</number> 519 <number>6</number>
457 </property> 520 </property>
458 <spacer> 521 <spacer>
459 <property> 522 <property>
460 <name>name</name> 523 <name>name</name>
461 <cstring>Spacer7_3</cstring> 524 <cstring>Spacer7_3</cstring>
462 </property> 525 </property>
463 <property stdset="1"> 526 <property stdset="1">
464 <name>orientation</name> 527 <name>orientation</name>
465 <enum>Horizontal</enum> 528 <enum>Horizontal</enum>
466 </property> 529 </property>
467 <property stdset="1"> 530 <property stdset="1">
468 <name>sizeType</name> 531 <name>sizeType</name>
469 <enum>Fixed</enum> 532 <enum>Fixed</enum>
470 </property> 533 </property>
471 <property> 534 <property>
472 <name>sizeHint</name> 535 <name>sizeHint</name>
473 <size> 536 <size>
474 <width>20</width> 537 <width>20</width>
475 <height>20</height> 538 <height>20</height>
476 </size> 539 </size>
477 </property> 540 </property>
478 </spacer> 541 </spacer>
479 <widget> 542 <widget>
480 <class>QLabel</class> 543 <class>QLabel</class>
481 <property stdset="1"> 544 <property stdset="1">
482 <name>name</name> 545 <name>name</name>
483 <cstring>TextLabel1_2_2</cstring> 546 <cstring>TextLabel1_2_2</cstring>
484 </property> 547 </property>
485 <property stdset="1"> 548 <property stdset="1">
486 <name>sizePolicy</name> 549 <name>sizePolicy</name>
487 <sizepolicy> 550 <sizepolicy>
488 <hsizetype>7</hsizetype> 551 <hsizetype>7</hsizetype>
489 <vsizetype>1</vsizetype> 552 <vsizetype>1</vsizetype>
490 </sizepolicy> 553 </sizepolicy>
491 </property> 554 </property>
492 <property stdset="1"> 555 <property stdset="1">
493 <name>text</name> 556 <name>text</name>
494 <string>Select to manage all pairings known on the local device to any remote device regardless if it is currently reachable or not</string> 557 <string>Select to manage all pairings known on the local device to any remote device regardless if it is currently reachable or not</string>
495 </property> 558 </property>
496 <property stdset="1"> 559 <property stdset="1">
497 <name>alignment</name> 560 <name>alignment</name>
498 <set>WordBreak|AlignVCenter|AlignLeft</set> 561 <set>WordBreak|AlignVCenter|AlignLeft</set>
499 </property> 562 </property>
500 <property> 563 <property>
501 <name>wordwrap</name> 564 <name>wordwrap</name>
502 </property> 565 </property>
503 </widget> 566 </widget>
504 </hbox> 567 </hbox>
505 </widget> 568 </widget>
506 <spacer> 569 <spacer>
507 <property> 570 <property>
508 <name>name</name> 571 <name>name</name>
509 <cstring>Spacer20_2_2_2</cstring> 572 <cstring>Spacer20_2_2_2</cstring>
510 </property> 573 </property>
511 <property stdset="1"> 574 <property stdset="1">
512 <name>orientation</name> 575 <name>orientation</name>
513 <enum>Vertical</enum> 576 <enum>Vertical</enum>
514 </property> 577 </property>
515 <property stdset="1"> 578 <property stdset="1">
516 <name>sizeType</name> 579 <name>sizeType</name>
517 <enum>Expanding</enum> 580 <enum>Expanding</enum>
518 </property> 581 </property>
519 <property> 582 <property>
520 <name>sizeHint</name> 583 <name>sizeHint</name>
521 <size> 584 <size>
522 <width>20</width> 585 <width>20</width>
523 <height>20</height> 586 <height>20</height>
524 </size> 587 </size>
525 </property> 588 </property>
526 </spacer> 589 </spacer>
527 <widget> 590 <widget>
528 <class>QLayoutWidget</class> 591 <class>QLayoutWidget</class>
529 <property stdset="1"> 592 <property stdset="1">
530 <name>name</name> 593 <name>name</name>
531 <cstring>Layout2</cstring> 594 <cstring>Layout2</cstring>
532 </property> 595 </property>
533 <hbox> 596 <hbox>
534 <property stdset="1"> 597 <property stdset="1">
535 <name>margin</name> 598 <name>margin</name>
536 <number>0</number> 599 <number>0</number>
537 </property> 600 </property>
538 <property stdset="1"> 601 <property stdset="1">
539 <name>spacing</name> 602 <name>spacing</name>
540 <number>6</number> 603 <number>6</number>
541 </property> 604 </property>
542 <widget> 605 <widget>
543 <class>QCheckBox</class> 606 <class>QCheckBox</class>
544 <property stdset="1"> 607 <property stdset="1">
545 <name>name</name> 608 <name>name</name>
546 <cstring>EnableTracing_CB</cstring> 609 <cstring>EnableTracing_CB</cstring>
547 </property> 610 </property>
548 <property stdset="1"> 611 <property stdset="1">
549 <name>text</name> 612 <name>text</name>
550 <string>Trace Bluetooth</string> 613 <string>Trace Bluetooth</string>
551 </property> 614 </property>
552 </widget> 615 </widget>
553 <spacer>
554 <property>
555 <name>name</name>
556 <cstring>Spacer4_2</cstring>
557 </property>
558 <property stdset="1">
559 <name>orientation</name>
560 <enum>Horizontal</enum>
561 </property>
562 <property stdset="1">
563 <name>sizeType</name>
564 <enum>Expanding</enum>
565 </property>
566 <property>
567 <name>sizeHint</name>
568 <size>
569 <width>20</width>
570 <height>20</height>
571 </size>
572 </property>
573 </spacer>
574 <widget> 616 <widget>
575 <class>QCheckBox</class> 617 <class>QCheckBox</class>
576 <property stdset="1"> 618 <property stdset="1">
577 <name>name</name> 619 <name>name</name>
578 <cstring>MustBeEnabled_CB</cstring> 620 <cstring>MustBeEnabled_CB</cstring>
579 </property> 621 </property>
580 <property stdset="1"> 622 <property stdset="1">
581 <name>text</name> 623 <name>text</name>
582 <string>Bluetooth Enabled</string> 624 <string>Bluetooth Enabled</string>
583 </property> 625 </property>
584 </widget> 626 </widget>
585 </hbox> 627 </hbox>
586 </widget> 628 </widget>
587 </vbox> 629 </vbox>
588</widget> 630</widget>
589<connections> 631<connections>
590 <connection> 632 <connection>
591 <sender>ManageLocalHW_But</sender> 633 <sender>ManageLocalHW_But</sender>
592 <signal>clicked()</signal> 634 <signal>clicked()</signal>
593 <receiver>OTMainGUI</receiver> 635 <receiver>OTMainGUI</receiver>
594 <slot>SLOT_Manage()</slot> 636 <slot>SLOT_Manage()</slot>
595 </connection> 637 </connection>
596 <connection> 638 <connection>
597 <sender>Scan_But</sender> 639 <sender>Scan_But</sender>
598 <signal>clicked()</signal> 640 <signal>clicked()</signal>
599 <receiver>OTMainGUI</receiver> 641 <receiver>OTMainGUI</receiver>
600 <slot>SLOT_Scan()</slot> 642 <slot>SLOT_Scan()</slot>
601 </connection> 643 </connection>
602 <connection> 644 <connection>
603 <sender>MustBeEnabled_CB</sender> 645 <sender>MustBeEnabled_CB</sender>
604 <signal>toggled(bool)</signal> 646 <signal>toggled(bool)</signal>
605 <receiver>OTMainGUI</receiver> 647 <receiver>OTMainGUI</receiver>
606 <slot>SLOT_EnableBluetooth(bool)</slot> 648 <slot>SLOT_EnableBluetooth(bool)</slot>
607 </connection> 649 </connection>
608 <connection> 650 <connection>
609 <sender>Pairing_But</sender> 651 <sender>Pairing_But</sender>
610 <signal>clicked()</signal> 652 <signal>clicked()</signal>
611 <receiver>OTMainGUI</receiver> 653 <receiver>OTMainGUI</receiver>
612 <slot>SLOT_Pairing()</slot> 654 <slot>SLOT_Pairing()</slot>
613 </connection> 655 </connection>
614 <connection> 656 <connection>
615 <sender>EnableTracing_CB</sender> 657 <sender>EnableTracing_CB</sender>
616 <signal>toggled(bool)</signal> 658 <signal>toggled(bool)</signal>
617 <receiver>OTMainGUI</receiver> 659 <receiver>OTMainGUI</receiver>
618 <slot>SLOT_EnableTracing( bool )</slot> 660 <slot>SLOT_EnableTracing( bool )</slot>
619 </connection> 661 </connection>
620 <slot access="public">SLOT_EnableBluetooth(bool)</slot> 662 <slot access="public">SLOT_EnableBluetooth(bool)</slot>
621 <slot access="public">SLOT_Manage()</slot> 663 <slot access="public">SLOT_Manage()</slot>
622 <slot access="public">SLOT_Pairing()</slot> 664 <slot access="public">SLOT_Pairing()</slot>
623 <slot access="public">SLOT_Scan()</slot> 665 <slot access="public">SLOT_Scan()</slot>
624 <slot access="public">SLOT_EnableTracing( bool )</slot> 666 <slot access="public">SLOT_EnableTracing( bool )</slot>
625</connections> 667</connections>
626</UI> 668</UI>