summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth/manager/bluebase.cpp
Unidiff
Diffstat (limited to 'noncore/net/opietooth/manager/bluebase.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp132
1 files changed, 83 insertions, 49 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 22b16d2..c7e1fe4 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -48,15 +48,17 @@ namespace OpieTooth {
48 BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl ) 48 BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
49 : BluetoothBase( parent, name, fl ) { 49 : BluetoothBase( parent, name, fl ) {
50 50
51 localDevice = new Manager( "hci0" );
51 52
52 QObject::connect( (QObject*)PushButton2, SIGNAL( clicked() ), this, SLOT(startScan() ) ); 53 QObject::connect( PushButton2, SIGNAL( clicked() ), this, SLOT(startScan() ) );
53 QObject::connect( (QObject*)configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) ); 54 QObject::connect( configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) );
54 QObject::connect( (QObject*)ListView2, SIGNAL( expanded( QListViewItem * item ) ), 55 QObject::connect( ListView2, SIGNAL( expanded( QListViewItem * item ) ),
55 this, SLOT( addServicesToDevice( QListViewItem * item ) ) ); 56 this, SLOT( addServicesToDevice( QListViewItem * item ) ) );
56 QObject::connect( (QObject*)ListView2, SIGNAL( clicked( QListViewItem * )), 57 QObject::connect( ListView2, SIGNAL( clicked( QListViewItem * )),
57 this, SLOT( startServiceActionClicked( QListViewItem * item ) ) ); 58 this, SLOT( startServiceActionClicked( QListViewItem * item ) ) );
59 connect( localDevice, SIGNAL( foundServices( const QString& device, Services::ValueList ) ),
60 this, SLOT( addServicesToDevice( const QString& device, Services::ValueList ) ) );
58 61
59 //
60 // QObject::connect( (QObject*) Manager, SIGNAL (foundServices( const QString& device, Services::ValueList ), this () ) ); 62 // QObject::connect( (QObject*) Manager, SIGNAL (foundServices( const QString& device, Services::ValueList ), this () ) );
61 63
62 //Load all icons needed 64 //Load all icons needed
@@ -84,12 +86,12 @@ namespace OpieTooth {
84 ListView2->setRootIsDecorated(true); 86 ListView2->setRootIsDecorated(true);
85 87
86 QListViewItem *topLV = new QListViewItem( ListView2, "Harlekins Dongle" , "yes"); 88 QListViewItem *topLV = new QListViewItem( ListView2, "Harlekins Dongle" , "yes");
87 topLV->setPixmap(0, offPix); 89 topLV->setPixmap( 0, offPix );
88 (void) new QListViewItem( topLV, "on" ); 90 (void) new QListViewItem( topLV, "on" );
89 (void) new QListViewItem( topLV, "off" ); 91 (void) new QListViewItem( topLV, "off" );
90 92
91 QListViewItem *topLV2 = new QListViewItem( ListView2, "Siemens S45" , "no" ); 93 QListViewItem *topLV2 = new QListViewItem( ListView2, "Siemens S45" , "no" );
92 topLV2->setPixmap(0, onPix); 94 topLV2->setPixmap( 0, onPix );
93 (void) new QListViewItem( topLV2, "on" ); 95 (void) new QListViewItem( topLV2, "on" );
94 (void) new QListViewItem( topLV2, "off" ); 96 (void) new QListViewItem( topLV2, "off" );
95 97
@@ -101,16 +103,16 @@ namespace OpieTooth {
101 */ 103 */
102 void BlueBase::readConfig() { 104 void BlueBase::readConfig() {
103 105
104 Config cfg("bluetoothmanager"); 106 Config cfg( "bluetoothmanager" );
105 cfg.setGroup("bluezsettings"); 107 cfg.setGroup( "bluezsettings" );
106 108
107 109
108 deviceName = cfg.readEntry("name", "No name"); // name the device should identify with 110 deviceName = cfg.readEntry( "name" , "No name" ); // name the device should identify with
109 defaultPasskey = cfg.readEntryCrypt("passkey", ""); // <- hmm, look up how good the trolls did that, maybe too weak 111 defaultPasskey = cfg.readEntryCrypt( "passkey" , "" ); // <- hmm, look up how good the trolls did that, maybe too weak
110 useEncryption = cfg.readNumEntry("useEncryption", 1); 112 useEncryption = cfg.readNumEntry( "useEncryption" , 1 );
111 enableAuthentification = cfg.readNumEntry("enableAuthentification", 1); 113 enableAuthentification = cfg.readNumEntry( "enableAuthentification" , 1 );
112 enablePagescan = cfg.readNumEntry("enablePagescan",1); 114 enablePagescan = cfg.readNumEntry( "enablePagescan" , 1 );
113 enableInquiryscan = cfg.readNumEntry("enableInquiryscan", 1); 115 enableInquiryscan = cfg.readNumEntry( "enableInquiryscan" , 1 );
114 116
115 } 117 }
116 118
@@ -120,15 +122,15 @@ namespace OpieTooth {
120 void BlueBase::writeConfig() { 122 void BlueBase::writeConfig() {
121 123
122 124
123 Config cfg("bluetoothmanager"); 125 Config cfg( "bluetoothmanager" );
124 cfg.setGroup("bluezsettings"); 126 cfg.setGroup( "bluezsettings" );
125 127
126 cfg.writeEntry("name", deviceName); 128 cfg.writeEntry( "name" , deviceName );
127 cfg.writeEntryCrypt("passkey", defaultPasskey); 129 cfg.writeEntryCrypt( "passkey" , defaultPasskey );
128 cfg.writeEntry("useEncryption", useEncryption); 130 cfg.writeEntry( "useEncryption" , useEncryption );
129 cfg.writeEntry("enableAuthentification", enableAuthentification); 131 cfg.writeEntry( "enableAuthentification" , enableAuthentification );
130 cfg.writeEntry("enablePagescan",enablePagescan); 132 cfg.writeEntry( "enablePagescan" , enablePagescan );
131 cfg.writeEntry("enableInquiryscan", enableInquiryscan); 133 cfg.writeEntry( "enableInquiryscan" , enableInquiryscan );
132} 134}
133 135
134 136
@@ -140,7 +142,7 @@ namespace OpieTooth {
140 142
141 QList<RemoteDevice> *loadedDevices = new QList<RemoteDevice>; 143 QList<RemoteDevice> *loadedDevices = new QList<RemoteDevice>;
142 144
143 Config deviceList( QDir::homeDirPath() + "/Settings/bluetooth/devicelist.conf", Config::File ); 145 Config deviceListSave( QDir::homeDirPath() + "/Settings/bluetooth/devicelist.conf", Config::File );
144 146
145 147
146 // RemoteDevice *currentDevice = RemoteDevice( , ); 148 // RemoteDevice *currentDevice = RemoteDevice( , );
@@ -157,20 +159,13 @@ namespace OpieTooth {
157 159
158 QListViewItemIterator it( ListView2 ); 160 QListViewItemIterator it( ListView2 );
159 161
160 // one top conf file with all decices (by mac adress)
161 Config deviceList( QDir::homeDirPath() + "/Settings/bluetooth/devicelist.conf", Config::File );
162
163 for ( ; it.current(); ++it ) { 162 for ( ; it.current(); ++it ) {
164 163
165 // MAC adress as group
166 deviceList.setGroup( it.current()->text(1) );
167 deviceList.writeEntry("inList", 1);
168
169 // seperate config file for each device, to store more information in future. 164 // seperate config file for each device, to store more information in future.
170 165
171 Config conf( QDir::homeDirPath() + "/Settings/bluetooth/" + (it.current()->text(1)) + ".conf", Config::File ); 166 Config conf( QDir::homeDirPath() + "/Settings/bluetooth/" + (it.current()->text(3)) + ".conf", Config::File );
172 conf.setGroup("Info"); 167 conf.setGroup( "Info" );
173 conf.writeEntry("name", it.current()->text(0) ); 168 conf.writeEntry( "name", it.current()->text(0) );
174 } 169 }
175 } 170 }
176 171
@@ -222,8 +217,8 @@ namespace OpieTooth {
222 217
223 writeConfig(); 218 writeConfig();
224 219
225 QMessageBox* box = new QMessageBox(this, "Test"); 220 QMessageBox* box = new QMessageBox( this, "Test" );
226 box->setText(tr("Changes applied")); 221 box->setText( tr( "Changes applied" ) );
227 box->show(); 222 box->show();
228 223
229 // falls nötig hcid killhupen - die funktionalität adden 224 // falls nötig hcid killhupen - die funktionalität adden
@@ -238,21 +233,21 @@ namespace OpieTooth {
238 233
239 QListViewItem * deviceItem; 234 QListViewItem * deviceItem;
240 235
241 QListIterator<RemoteDevice> it(newDevices); 236 QListIterator<RemoteDevice> it( newDevices );
242 237
243 for( ; it.current(); ++it ) { 238 for( ; it.current() ; ++it ) {
244 239
245 240
246 RemoteDevice *dev = it.current(); 241 RemoteDevice *dev = it.current();
247 deviceItem = new QListViewItem( ListView2, dev->name() ); 242 deviceItem = new QListViewItem( ListView2, dev->name() );
248 243
249 if (deviceActive( dev ) ) { 244 if ( deviceActive( dev ) ) {
250 deviceItem->setPixmap(0, onPix); 245 deviceItem->setPixmap( 1 , onPix );
251 } else { 246 } else {
252 deviceItem->setPixmap(0, offPix); 247 deviceItem->setPixmap( 1, offPix );
253 } 248 }
254 249
255 deviceItem->setText(1, dev->mac() ); 250 deviceItem->setText( 3, dev->mac() );
256 } 251 }
257 } 252 }
258 253
@@ -268,7 +263,7 @@ namespace OpieTooth {
268 /* 263 /*
269 * Action that are toggled on hold (mostly QPopups i guess) 264 * Action that are toggled on hold (mostly QPopups i guess)
270 */ 265 */
271 void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int column) { 266 void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int column ) {
272 267
273 268
274 } 269 }
@@ -278,22 +273,61 @@ namespace OpieTooth {
278 * 273 *
279 */ 274 */
280 void BlueBase::addServicesToDevice( QListViewItem * item ) { 275 void BlueBase::addServicesToDevice( QListViewItem * item ) {
276
281 // row of mac adress 277 // row of mac adress
282 RemoteDevice *device = new RemoteDevice(item->text(1), item->text(0)); 278 RemoteDevice *device = new RemoteDevice(item->text(3), item->text(0));
283 //dann nen manager und darauf dann searchServises, das liefert nen signal, das wieder connected 279
284 // werden muss. 280 deviceList.insert( item->text(3) , item );
281
282// and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back
283 localDevice->searchServices( *device );
285 284
286 // delete 285 // delete
287 } 286 }
288 287
288
289 /**
290 * Overloaded. This one it the one that is connected to the foundServices signal
291 * @param device the mac address of the remote device
292 * @param servicesList the list with the service the device has.
293 */
294 void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) {
295
296 qDebug("fill services list");
297
298
299 QMap<QString,QListViewItem*>::Iterator it;
300
301 QListViewItem* deviceItem;
302
303 for( it = deviceList.begin(); it != deviceList.end(); ++it ) {
304 if (it.key() == device ) {
305 deviceItem = it.data();
306 }
307 }
308
309 QValueList<OpieTooth::Services>::Iterator it2;
310
311
312
313 QListViewItem * serviceItem;
314
315 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) {
316 it2.serviceName()
317 serviceItem = new QListViewItem( deviceItem , it2.serviceName() );
318 }
319
320 }
321
322
289 /* 323 /*
290 * Find out if a device can currently be reached 324 * Find out if a device can currently be reached
291 */ 325 */
292 bool BlueBase::deviceActive( RemoteDevice *device ) { 326 bool BlueBase::deviceActive( RemoteDevice *device ) {
293
294 return true; 327 return true;
295 } 328 }
296 329
330
297 /** 331 /**
298 * Open the "scan for devices" dialog 332 * Open the "scan for devices" dialog
299 */ 333 */
@@ -308,13 +342,13 @@ namespace OpieTooth {
308 342
309 343
310 void BlueBase::setInfo() { 344 void BlueBase::setInfo() {
311 StatusLabel->setText(getStatus()); 345 StatusLabel->setText( getStatus() );
312 } 346 }
313 347
314 /** 348 /**
315 * Decontructor 349 * Decontructor
316 */ 350 */
317 BlueBase::~BlueBase(){ 351 BlueBase::~BlueBase() {
318 writeSavedDevices(); 352 writeSavedDevices();
319 } 353 }
320 354