summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp76
-rw-r--r--noncore/net/opietooth/manager/bluebase.h5
2 files changed, 60 insertions, 21 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
@@ -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,18 +159,11 @@ 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 }
@@ -247,12 +242,12 @@ namespace OpieTooth {
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
@@ -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 */
diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h
index 7b03f82..dcb7681 100644
--- a/noncore/net/opietooth/manager/bluebase.h
+++ b/noncore/net/opietooth/manager/bluebase.h
@@ -11,7 +11,9 @@
11 11
12#include "bluetoothbase.h" 12#include "bluetoothbase.h"
13 13
14
14#include <remotedevice.h> 15#include <remotedevice.h>
16#include <manager.h>
15 17
16class QVBox; 18class QVBox;
17class QHBoxLayout; 19class QHBoxLayout;
@@ -48,6 +50,8 @@ namespace OpieTooth {
48 QString getStatus(); 50 QString getStatus();
49 void initGui(); 51 void initGui();
50 void setInfo(); 52 void setInfo();
53 Manager *localDevice;
54 QMap<QString,QListViewItem*> deviceList;
51 55
52 bool deviceActive( RemoteDevice *device ); 56 bool deviceActive( RemoteDevice *device );
53 57
@@ -64,6 +68,7 @@ namespace OpieTooth {
64 private slots: 68 private slots:
65 void addSearchedDevices( QList<RemoteDevice> &newDevices ); 69 void addSearchedDevices( QList<RemoteDevice> &newDevices );
66 void addServicesToDevice( QListViewItem * item ); 70 void addServicesToDevice( QListViewItem * item );
71 void addServicesToDevice( const QString& device, Services::ValueList );
67 void startServiceActionClicked( QListViewItem * item ); 72 void startServiceActionClicked( QListViewItem * item );
68 void startServiceActionHold( QListViewItem * item, const QPoint & point, int column); 73 void startServiceActionHold( QListViewItem * item, const QPoint & point, int column);
69 void applyConfigChanges(); 74 void applyConfigChanges();