summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth
Unidiff
Diffstat (limited to 'noncore/net/opietooth') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/manager.cc33
-rw-r--r--noncore/net/opietooth/lib/manager.h7
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp36
-rw-r--r--noncore/net/opietooth/manager/bluebase.h5
-rw-r--r--noncore/net/opietooth/manager/bluetoothbase.ui14
-rw-r--r--noncore/net/opietooth/manager/btconnectionitem.cpp18
-rw-r--r--noncore/net/opietooth/manager/btconnectionitem.h8
7 files changed, 117 insertions, 4 deletions
diff --git a/noncore/net/opietooth/lib/manager.cc b/noncore/net/opietooth/lib/manager.cc
index 8ddcfe8..c89d325 100644
--- a/noncore/net/opietooth/lib/manager.cc
+++ b/noncore/net/opietooth/lib/manager.cc
@@ -251,25 +251,24 @@ void Manager::searchConnections() {
251 connect(proc, SIGNAL(receivedStdout(OProcess*, char*, int) ), 251 connect(proc, SIGNAL(receivedStdout(OProcess*, char*, int) ),
252 this, SLOT(slotConnectionOutput(OProcess*, char*, int) ) ); 252 this, SLOT(slotConnectionOutput(OProcess*, char*, int) ) );
253 *proc << "hcitool"; 253 *proc << "hcitool";
254 *proc << "con"; 254 *proc << "con";
255 255
256 if (!proc->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) { 256 if (!proc->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
257 ConnectionState::ValueList list; 257 ConnectionState::ValueList list;
258 emit connections( list ); 258 emit connections( list );
259 delete proc; 259 delete proc;
260 } 260 }
261} 261}
262void Manager::slotConnectionExited( OProcess* proc ) { 262void Manager::slotConnectionExited( OProcess* proc ) {
263 qWarning("<<<<<<<<<<<<<<<<<exited");
264 ConnectionState::ValueList list; 263 ConnectionState::ValueList list;
265 list = parseConnections( m_hcitoolCon ); 264 list = parseConnections( m_hcitoolCon );
266 emit connections(list ); 265 emit connections(list );
267 delete proc; 266 delete proc;
268} 267}
269void Manager::slotConnectionOutput(OProcess* /*proc*/, char* cha, int len) { 268void Manager::slotConnectionOutput(OProcess* /*proc*/, char* cha, int len) {
270 QCString str(cha, len ); 269 QCString str(cha, len );
271 m_hcitoolCon.append( str ); 270 m_hcitoolCon.append( str );
272 //delete proc; 271 //delete proc;
273} 272}
274ConnectionState::ValueList Manager::parseConnections( const QString& out ) { 273ConnectionState::ValueList Manager::parseConnections( const QString& out ) {
275 ConnectionState::ValueList list2; 274 ConnectionState::ValueList list2;
@@ -292,12 +291,44 @@ ConnectionState::ValueList Manager::parseConnections( const QString& out ) {
292 qWarning("8: %s", value[8].latin1() ); 291 qWarning("8: %s", value[8].latin1() );
293 ConnectionState con; 292 ConnectionState con;
294 con.setDirection( value[0] == QString::fromLatin1("<") ? Outgoing : Incoming ); 293 con.setDirection( value[0] == QString::fromLatin1("<") ? Outgoing : Incoming );
295 con.setConnectionMode( value[1] ); 294 con.setConnectionMode( value[1] );
296 con.setMac( value[2] ); 295 con.setMac( value[2] );
297 con.setHandle( value[4].toInt() ); 296 con.setHandle( value[4].toInt() );
298 con.setState( value[6].toInt() ); 297 con.setState( value[6].toInt() );
299 con.setLinkMode( value[8] == QString::fromLatin1("MASTER") ? Master : Client ); 298 con.setLinkMode( value[8] == QString::fromLatin1("MASTER") ? Master : Client );
300 list2.append( con ); 299 list2.append( con );
301 } 300 }
302 return list2; 301 return list2;
303} 302}
303
304void Manager::signalStrength( const QString &mac ) {
305
306 OProcess* sig_proc = new OProcess();
307
308 connect(sig_proc, SIGNAL(processExited(OProcess*) ),
309 this, SLOT(slotSignalStrengthExited( OProcess*) ) );
310 connect(sig_proc, SIGNAL(receivedStdout(OProcess*, char*, int) ),
311 this, SLOT(slotSignalStrengthOutput(OProcess*, char*, int) ) );
312 *sig_proc << "hcitool";
313 *sig_proc << "lq";
314 *sig_proc << mac;
315
316 sig_proc->setName( mac.latin1() );
317
318 if (!sig_proc->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
319 emit signalStrength( mac, "-1" );
320 delete sig_proc;
321 }
322}
323
324void Manager::slotSignalStrengthOutput(OProcess* proc, char* cha, int len) {
325 QCString str(cha, len );
326 QString temp = QString(str).stripWhiteSpace();
327 QStringList value = QStringList::split(' ', temp );
328 emit signalStrength( proc->name(), value[2].latin1() );
329}
330
331
332void Manager::slotSignalStrengthExited( OProcess* proc ) {
333 delete proc;
334}
diff --git a/noncore/net/opietooth/lib/manager.h b/noncore/net/opietooth/lib/manager.h
index 0ebe1b3..abc8ba1 100644
--- a/noncore/net/opietooth/lib/manager.h
+++ b/noncore/net/opietooth/lib/manager.h
@@ -115,52 +115,59 @@ namespace OpieTooth {
115 * Starts to connect to the device 115 * Starts to connect to the device
116 * in @param 116 * in @param
117 */ 117 */
118 void connectTo(const QString& ); 118 void connectTo(const QString& );
119 119
120 /** 120 /**
121 * Searches for active connections 121 * Searches for active connections
122 * the result is emitted with the 122 * the result is emitted with the
123 * connections signal 123 * connections signal
124 */ 124 */
125 void searchConnections(); 125 void searchConnections();
126 126
127 void signalStrength( const QString &mac );
127//// not implemented yet 128//// not implemented yet
128 /*static*/ QString toDevice( const QString& mac ); 129 /*static*/ QString toDevice( const QString& mac );
129 /*static*/ QString toMac( const QString &device ); 130 /*static*/ QString toMac( const QString &device );
130//// not implemented yet over 131//// not implemented yet over
131 132
132 signals: 133 signals:
133 // device either mac or dev name 134 // device either mac or dev name
134 // the first device is the device which you access 135 // the first device is the device which you access
135 void available( const QString& device, bool connected ); 136 void available( const QString& device, bool connected );
136 void addedService( const QString& service, bool added ); 137 void addedService( const QString& service, bool added );
137 void removedService( const QString& service, bool removed ); 138 void removedService( const QString& service, bool removed );
138 void foundServices( const QString& device, Services::ValueList ); 139 void foundServices( const QString& device, Services::ValueList );
139 void foundDevices( const QString& device, RemoteDevice::ValueList ); 140 void foundDevices( const QString& device, RemoteDevice::ValueList );
140 void connections( ConnectionState::ValueList ); 141 void connections( ConnectionState::ValueList );
142 void signalStrength( const QString& mac, const QString& strengh );
141 143
142private slots: 144private slots:
143 void slotProcessExited(OProcess* ); 145 void slotProcessExited(OProcess* );
144 146
145 void slotSDPExited(OProcess*); 147 void slotSDPExited(OProcess*);
146 void slotSDPOut(OProcess*, char*, int); 148 void slotSDPOut(OProcess*, char*, int);
147 149
148 void slotHCIExited(OProcess* ); 150 void slotHCIExited(OProcess* );
149 void slotHCIOut(OProcess*, char*, int ); 151 void slotHCIOut(OProcess*, char*, int );
150 152
151 void slotConnectionExited(OProcess* ); 153 void slotConnectionExited(OProcess* );
152 void slotConnectionOutput(OProcess*, char*, int ); 154 void slotConnectionOutput(OProcess*, char*, int );
155
156 void slotSignalStrengthOutput( OProcess*, char*, int );
157 void slotSignalStrengthExited( OProcess* );
153 private: 158 private:
154 Services::ValueList parseSDPOutput( const QString& ); 159 Services::ValueList parseSDPOutput( const QString& );
155 RemoteDevice::ValueList parseHCIOutput( const QString& ); 160 RemoteDevice::ValueList parseHCIOutput( const QString& );
156 ConnectionState::ValueList parseConnections( const QString& ); 161 ConnectionState::ValueList parseConnections( const QString& );
157 OProcess *m_hcitool; 162 OProcess *m_hcitool;
158 OProcess *m_sdp; // not only one 163 OProcess *m_sdp; // not only one
159 QString m_device; 164 QString m_device;
165 QMap<QString, int> m_signalStrength;
160 QMap<QString, QString> m_out; 166 QMap<QString, QString> m_out;
161 QMap<QString, QString> m_devices; 167 QMap<QString, QString> m_devices;
168 QMap<OProcess*, QString> m_signalMac;
162 QString m_hcitoolCon; 169 QString m_hcitoolCon;
163 }; 170 };
164}; 171};
165 172
166#endif 173#endif
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 8b15c4f..9663b52 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -63,24 +63,26 @@ BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
63 // connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ), 63 // connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ),
64 // this, SLOT( addServicesToDevice( QListViewItem * ) ) ); 64 // this, SLOT( addServicesToDevice( QListViewItem * ) ) );
65 connect( ListView2, SIGNAL( clicked( QListViewItem* )), 65 connect( ListView2, SIGNAL( clicked( QListViewItem* )),
66 this, SLOT( startServiceActionClicked( QListViewItem* ) ) ); 66 this, SLOT( startServiceActionClicked( QListViewItem* ) ) );
67 connect( ListView2, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int ) ), 67 connect( ListView2, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int ) ),
68 this, SLOT(startServiceActionHold( QListViewItem *, const QPoint &, int) ) ); 68 this, SLOT(startServiceActionHold( QListViewItem *, const QPoint &, int) ) );
69 connect( m_localDevice , SIGNAL( foundServices( const QString& , Services::ValueList ) ), 69 connect( m_localDevice , SIGNAL( foundServices( const QString& , Services::ValueList ) ),
70 this, SLOT( addServicesToDevice( const QString& , Services::ValueList ) ) ); 70 this, SLOT( addServicesToDevice( const QString& , Services::ValueList ) ) );
71 connect( m_localDevice, SIGNAL( available( const QString&, bool ) ), 71 connect( m_localDevice, SIGNAL( available( const QString&, bool ) ),
72 this, SLOT( deviceActive( const QString& , bool ) ) ); 72 this, SLOT( deviceActive( const QString& , bool ) ) );
73 connect( m_localDevice, SIGNAL( connections( ConnectionState::ValueList ) ), 73 connect( m_localDevice, SIGNAL( connections( ConnectionState::ValueList ) ),
74 this, SLOT( addConnectedDevices( ConnectionState::ValueList ) ) ); 74 this, SLOT( addConnectedDevices( ConnectionState::ValueList ) ) );
75 connect( m_localDevice, SIGNAL( signalStrength( const QString&, const QString& ) ),
76 this, SLOT( addSignalStrength( const QString&, const QString& ) ) );
75 77
76 78
77 // let hold be rightButtonClicked() 79 // let hold be rightButtonClicked()
78 QPEApplication::setStylusOperation( ListView2->viewport(), QPEApplication::RightOnHold); 80 QPEApplication::setStylusOperation( ListView2->viewport(), QPEApplication::RightOnHold);
79 QPEApplication::setStylusOperation( ListView4->viewport(), QPEApplication::RightOnHold); 81 QPEApplication::setStylusOperation( ListView4->viewport(), QPEApplication::RightOnHold);
80 82
81 //Load all icons needed 83 //Load all icons needed
82 m_offPix = Resource::loadPixmap( "opietooth/notconnected" ); 84 m_offPix = Resource::loadPixmap( "opietooth/notconnected" );
83 m_onPix = Resource::loadPixmap( "opietooth/connected" ); 85 m_onPix = Resource::loadPixmap( "opietooth/connected" );
84 m_findPix = Resource::loadPixmap( "opietooth/find" ); 86 m_findPix = Resource::loadPixmap( "opietooth/find" );
85 87
86 QPalette pal = this->palette(); 88 QPalette pal = this->palette();
@@ -89,27 +91,29 @@ BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
89 pal.setColor( QPalette::Inactive, QColorGroup::Button, col ); 91 pal.setColor( QPalette::Inactive, QColorGroup::Button, col );
90 pal.setColor( QPalette::Normal, QColorGroup::Button, col ); 92 pal.setColor( QPalette::Normal, QColorGroup::Button, col );
91 pal.setColor( QPalette::Disabled, QColorGroup::Button, col ); 93 pal.setColor( QPalette::Disabled, QColorGroup::Button, col );
92 this->setPalette( pal ); 94 this->setPalette( pal );
93 95
94 setCaption( tr( "Bluetooth Manager" ) ); 96 setCaption( tr( "Bluetooth Manager" ) );
95 97
96 readConfig(); 98 readConfig();
97 initGui(); 99 initGui();
98 100
99 ListView2->setRootIsDecorated(true); 101 ListView2->setRootIsDecorated(true);
100 102
103
101 writeToHciConfig(); 104 writeToHciConfig();
102 // search conncetions 105 // search conncetions
103 addConnectedDevices(); 106 addConnectedDevices();
107 addSignalStrength();
104 m_iconLoader = new BTIconLoader(); 108 m_iconLoader = new BTIconLoader();
105 readSavedDevices(); 109 readSavedDevices();
106} 110}
107 111
108/** 112/**
109 * Reads all options from the config file 113 * Reads all options from the config file
110 */ 114 */
111void BlueBase::readConfig() { 115void BlueBase::readConfig() {
112 116
113 Config cfg( "bluetoothmanager" ); 117 Config cfg( "bluetoothmanager" );
114 cfg.setGroup( "bluezsettings" ); 118 cfg.setGroup( "bluezsettings" );
115 119
@@ -361,25 +365,26 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin
361 */ 365 */
362void BlueBase::addServicesToDevice( BTDeviceItem * item ) { 366void BlueBase::addServicesToDevice( BTDeviceItem * item ) {
363 qDebug("addServicesToDevice"); 367 qDebug("addServicesToDevice");
364 // row of mac adress text(3) 368 // row of mac adress text(3)
365 RemoteDevice device = item->remoteDevice(); 369 RemoteDevice device = item->remoteDevice();
366 m_deviceList.insert( item->mac() , item ); 370 m_deviceList.insert( item->mac() , item );
367 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back 371 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back
368 m_localDevice->searchServices( device ); 372 m_localDevice->searchServices( device );
369} 373}
370 374
371 375
372/** 376/**
373 * Overloaded. This one it the one that is connected to the foundServices signal 377 * Overloaded. This one it the one that is
378 ted to the foundServices signal
374 * @param device the mac address of the remote device 379 * @param device the mac address of the remote device
375 * @param servicesList the list with the service the device has. 380 * @param servicesList the list with the service the device has.
376 */ 381 */
377void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) { 382void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) {
378 qDebug("fill services list"); 383 qDebug("fill services list");
379 384
380 QMap<QString,BTDeviceItem*>::Iterator it; 385 QMap<QString,BTDeviceItem*>::Iterator it;
381 BTDeviceItem* deviceItem = 0; 386 BTDeviceItem* deviceItem = 0;
382 387
383 // get the right devices which requested the search 388 // get the right devices which requested the search
384 it = m_deviceList.find( device ); 389 it = m_deviceList.find( device );
385 if( it == m_deviceList.end() ) 390 if( it == m_deviceList.end() )
@@ -416,49 +421,76 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s
416 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) ); 421 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) );
417 } 422 }
418 } else { 423 } else {
419 Services s1; 424 Services s1;
420 s1.setServiceName( tr("no services found") ); 425 s1.setServiceName( tr("no services found") );
421 serviceItem = new BTServiceItem( deviceItem, s1 ); 426 serviceItem = new BTServiceItem( deviceItem, s1 );
422 } 427 }
423 // now remove them from the list 428 // now remove them from the list
424 m_deviceList.remove( it ); 429 m_deviceList.remove( it );
425} 430}
426 431
427 432
433
434
435
436void BlueBase::addSignalStrength() {
437
438 QListViewItemIterator it( ListView4 );
439 for ( ; it.current(); ++it ) {
440 m_localDevice->signalStrength( ((BTConnectionItem*)it.current() )->connection().mac() );
441 }
442
443 QTimer::singleShot( 5000, this, SLOT( addSignalStrength() ) );
444}
445
446void BlueBase::addSignalStrength( const QString& mac, const QString& strength ) {
447
448 QListViewItemIterator it( ListView4 );
449 for ( ; it.current(); ++it ) {
450 if( ((BTConnectionItem*)it.current())->connection().mac() == mac ) {
451 ((BTConnectionItem*)it.current() )->setSignalStrength( strength );
452 }
453 }
454}
455
428/** 456/**
429 * Add the existing connections (pairs) to the connections tab. 457 * Add the existing connections (pairs) to the connections tab.
430 * This one triggers the search 458 * This one triggers the search
431 */ 459 */
432void BlueBase::addConnectedDevices() { 460void BlueBase::addConnectedDevices() {
433 m_localDevice->searchConnections(); 461 m_localDevice->searchConnections();
434} 462}
435 463
436
437/** 464/**
438 * This adds the found connections to the connection tab. 465 * This adds the found connections to the connection tab.
439 * @param connectionList the ValueList with all current connections 466 * @param connectionList the ValueList with all current connections
440 */ 467 */
441void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList ) { 468void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList ) {
442 469
443 // clear the ListView first 470 // clear the ListView first
444 ListView4->clear(); 471 ListView4->clear();
445 472
446 QValueList<OpieTooth::ConnectionState>::Iterator it; 473 QValueList<OpieTooth::ConnectionState>::Iterator it;
447 BTConnectionItem * connectionItem; 474 BTConnectionItem * connectionItem;
448 475
449 if ( !connectionList.isEmpty() ) { 476 if ( !connectionList.isEmpty() ) {
450 477
451 for (it = connectionList.begin(); it != connectionList.end(); ++it) { 478 for (it = connectionList.begin(); it != connectionList.end(); ++it) {
452 connectionItem = new BTConnectionItem( ListView4 , (*it) ); 479 connectionItem = new BTConnectionItem( ListView4 , (*it) );
480
481 if( m_deviceList.find((*it).mac()).data() ) {
482
483 connectionItem->setName( m_deviceList.find( (*it).mac()).data()->name() );
484 }
453 } 485 }
454 } else { 486 } else {
455 ConnectionState con; 487 ConnectionState con;
456 con.setMac( tr("No connections found") ); 488 con.setMac( tr("No connections found") );
457 connectionItem = new BTConnectionItem( ListView4 , con ); 489 connectionItem = new BTConnectionItem( ListView4 , con );
458 } 490 }
459 491
460 // recall connection search after some time 492 // recall connection search after some time
461 QTimer::singleShot( 15000, this, SLOT( addConnectedDevices() ) ); 493 QTimer::singleShot( 15000, this, SLOT( addConnectedDevices() ) );
462} 494}
463 495
464 496
diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h
index 0326daf..743062c 100644
--- a/noncore/net/opietooth/manager/bluebase.h
+++ b/noncore/net/opietooth/manager/bluebase.h
@@ -4,39 +4,41 @@
4 4
5#include <qvariant.h> 5#include <qvariant.h>
6#include <qwidget.h> 6#include <qwidget.h>
7#include <qscrollview.h> 7#include <qscrollview.h>
8#include <qsplitter.h> 8#include <qsplitter.h>
9#include <qlist.h> 9#include <qlist.h>
10#include <qpixmap.h> 10#include <qpixmap.h>
11 11
12#include "bluetoothbase.h" 12#include "bluetoothbase.h"
13 13
14#include "btserviceitem.h" 14#include "btserviceitem.h"
15#include "btdeviceitem.h" 15#include "btdeviceitem.h"
16
16#include "popuphelper.h" 17#include "popuphelper.h"
17 18
18#include "bticonloader.h" 19#include "bticonloader.h"
19 20
20#include <remotedevice.h> 21#include <remotedevice.h>
21#include <manager.h> 22#include <manager.h>
22 23
23class QVBox; 24class QVBox;
24class QHBoxLayout; 25class QHBoxLayout;
25class QGridLayout; 26class QGridLayout;
26class QFrame; 27class QFrame;
27class QLabel; 28class QLabel;
28class QPushButton; 29class QPushButton;
29class QTabWidget; 30class QTabWidget;
30class QCheckBox; 31class QCheckBox;
32class BTConnectionItem;
31 33
32 34
33namespace OpieTooth { 35namespace OpieTooth {
34 36
35 class BlueBase : public BluetoothBase { 37 class BlueBase : public BluetoothBase {
36 Q_OBJECT 38 Q_OBJECT
37 39
38 public: 40 public:
39 BlueBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 41 BlueBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
40 ~BlueBase(); 42 ~BlueBase();
41 43
42 protected: 44 protected:
@@ -46,24 +48,25 @@ namespace OpieTooth {
46 void startScan(); 48 void startScan();
47 49
48 private: 50 private:
49 bool find( const RemoteDevice& device ); 51 bool find( const RemoteDevice& device );
50 void readConfig(); 52 void readConfig();
51 void writeConfig(); 53 void writeConfig();
52 void readSavedDevices(); 54 void readSavedDevices();
53 void writeSavedDevices(); 55 void writeSavedDevices();
54 void writeToHciConfig(); 56 void writeToHciConfig();
55 QString status()const; 57 QString status()const;
56 void initGui(); 58 void initGui();
57 void setInfo(); 59 void setInfo();
60
58 PopupHelper m_popHelper; 61 PopupHelper m_popHelper;
59 Manager *m_localDevice; 62 Manager *m_localDevice;
60 QMap<QString,BTDeviceItem*> m_deviceList; 63 QMap<QString,BTDeviceItem*> m_deviceList;
61 64
62 void deviceActive( const RemoteDevice &device ); 65 void deviceActive( const RemoteDevice &device );
63 66
64 QString m_deviceName; 67 QString m_deviceName;
65 QString m_defaultPasskey; 68 QString m_defaultPasskey;
66 bool m_useEncryption; 69 bool m_useEncryption;
67 bool m_enableAuthentification; 70 bool m_enableAuthentification;
68 bool m_enablePagescan; 71 bool m_enablePagescan;
69 bool m_enableInquiryscan; 72 bool m_enableInquiryscan;
@@ -75,18 +78,20 @@ namespace OpieTooth {
75 BTIconLoader *m_iconLoader; 78 BTIconLoader *m_iconLoader;
76 79
77 private slots: 80 private slots:
78 void addSearchedDevices( const QValueList<RemoteDevice> &newDevices ); 81 void addSearchedDevices( const QValueList<RemoteDevice> &newDevices );
79 void addServicesToDevice( BTDeviceItem *item ); 82 void addServicesToDevice( BTDeviceItem *item );
80 void addServicesToDevice( const QString& device, Services::ValueList ); 83 void addServicesToDevice( const QString& device, Services::ValueList );
81 void addConnectedDevices(); 84 void addConnectedDevices();
82 void addConnectedDevices( ConnectionState::ValueList ); 85 void addConnectedDevices( ConnectionState::ValueList );
83 void startServiceActionClicked( QListViewItem *item ); 86 void startServiceActionClicked( QListViewItem *item );
84 void startServiceActionHold( QListViewItem *, const QPoint &, int ); 87 void startServiceActionHold( QListViewItem *, const QPoint &, int );
85 void deviceActive( const QString& mac, bool connected ); 88 void deviceActive( const QString& mac, bool connected );
86 void applyConfigChanges(); 89 void applyConfigChanges();
90 void addSignalStrength();
91 void addSignalStrength( const QString& mac, const QString& strengh );
87 92
88 }; 93 };
89 94
90} 95}
91 96
92#endif 97#endif
diff --git a/noncore/net/opietooth/manager/bluetoothbase.ui b/noncore/net/opietooth/manager/bluetoothbase.ui
index 869a9cb..b51c8c6 100644
--- a/noncore/net/opietooth/manager/bluetoothbase.ui
+++ b/noncore/net/opietooth/manager/bluetoothbase.ui
@@ -189,24 +189,38 @@
189 <name>text</name> 189 <name>text</name>
190 <string>Connection type</string> 190 <string>Connection type</string>
191 </property> 191 </property>
192 <property> 192 <property>
193 <name>clickable</name> 193 <name>clickable</name>
194 <bool>true</bool> 194 <bool>true</bool>
195 </property> 195 </property>
196 <property> 196 <property>
197 <name>resizeable</name> 197 <name>resizeable</name>
198 <bool>true</bool> 198 <bool>true</bool>
199 </property> 199 </property>
200 </column> 200 </column>
201 <column>
202 <property>
203 <name>text</name>
204 <string>Signal</string>
205 </property>
206 <property>
207 <name>clickable</name>
208 <bool>true</bool>
209 </property>
210 <property>
211 <name>resizeable</name>
212 <bool>true</bool>
213 </property>
214 </column>
201 <property stdset="1"> 215 <property stdset="1">
202 <name>name</name> 216 <name>name</name>
203 <cstring>ListView4</cstring> 217 <cstring>ListView4</cstring>
204 </property> 218 </property>
205 <property stdset="1"> 219 <property stdset="1">
206 <name>geometry</name> 220 <name>geometry</name>
207 <rect> 221 <rect>
208 <x>0</x> 222 <x>0</x>
209 <y>0</y> 223 <y>0</y>
210 <width>240</width> 224 <width>240</width>
211 <height>240</height> 225 <height>240</height>
212 </rect> 226 </rect>
diff --git a/noncore/net/opietooth/manager/btconnectionitem.cpp b/noncore/net/opietooth/manager/btconnectionitem.cpp
index b57d1b3..c565c47 100644
--- a/noncore/net/opietooth/manager/btconnectionitem.cpp
+++ b/noncore/net/opietooth/manager/btconnectionitem.cpp
@@ -13,12 +13,30 @@ BTConnectionItem::~BTConnectionItem() {
13 13
14} 14}
15QString BTConnectionItem::type() const { 15QString BTConnectionItem::type() const {
16 return QString::fromLatin1("connection"); 16 return QString::fromLatin1("connection");
17} 17}
18int BTConnectionItem::typeId() const { 18int BTConnectionItem::typeId() const {
19 return Connection; 19 return Connection;
20} 20}
21ConnectionState BTConnectionItem::connection() const { 21ConnectionState BTConnectionItem::connection() const {
22 return m_con; 22 return m_con;
23} 23}
24 24
25void BTConnectionItem::setName( QString name ) {
26 m_name = name;
27 setText( 0, m_name );
28}
29
30QString BTConnectionItem::name() {
31 return m_name;
32}
33
34
35void BTConnectionItem::setSignalStrength( QString strength ) {
36 m_signalStrength = strength;
37 setText( 2, m_signalStrength );
38}
39
40QString BTConnectionItem::signalStrength() {
41 return m_signalStrength;
42}
diff --git a/noncore/net/opietooth/manager/btconnectionitem.h b/noncore/net/opietooth/manager/btconnectionitem.h
index 3c0cd79..9ab745e 100644
--- a/noncore/net/opietooth/manager/btconnectionitem.h
+++ b/noncore/net/opietooth/manager/btconnectionitem.h
@@ -4,23 +4,29 @@
4 4
5 5
6#include "btlistitem.h" 6#include "btlistitem.h"
7 7
8namespace OpieTooth { 8namespace OpieTooth {
9 9
10 class ConnectionState; 10 class ConnectionState;
11 class BTConnectionItem : public BTListItem { 11 class BTConnectionItem : public BTListItem {
12 public: 12 public:
13 BTConnectionItem( QListView* parent, const ConnectionState& state ); 13 BTConnectionItem( QListView* parent, const ConnectionState& state );
14 ~BTConnectionItem(); 14 ~BTConnectionItem();
15 QString type()const; 15 QString type()const;
16 QString name();
17 QString signalStrength();
16 int typeId() const; 18 int typeId() const;
17 ConnectionState connection()const; 19 ConnectionState connection()const;
20 void setSignalStrength( QString );
21 void setName( QString );
22
18 private: 23 private:
19 ConnectionState m_con; 24 ConnectionState m_con;
20 25 QString m_name;
26 QString m_signalStrength;
21 }; 27 };
22 28
23}; 29};
24 30
25 31
26#endif 32#endif