summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 5c5f069..8b15c4f 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -42,8 +42,9 @@
42#include <qlistview.h> 42#include <qlistview.h>
43#include <qdir.h> 43#include <qdir.h>
44#include <qpopupmenu.h> 44#include <qpopupmenu.h>
45#include <qtimer.h> 45#include <qtimer.h>
46#include <qlist.h>
46 47
47#include <qpe/qpeapplication.h> 48#include <qpe/qpeapplication.h>
48#include <qpe/resource.h> 49#include <qpe/resource.h>
49#include <qpe/config.h> 50#include <qpe/config.h>
@@ -384,17 +385,28 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s
384 if( it == m_deviceList.end() ) 385 if( it == m_deviceList.end() )
385 return; 386 return;
386 deviceItem = it.data(); 387 deviceItem = it.data();
387 388
389 // remove previous entries
390 QList<QListViewItem> tempList;
391 tempList.setAutoDelete( true );
392 QListViewItem * child = deviceItem->firstChild();
393 while( child ) {
394 tempList.append( child );
395 child = child->nextSibling();
396 }
397 tempList.clear();
398
388 QValueList<OpieTooth::Services>::Iterator it2; 399 QValueList<OpieTooth::Services>::Iterator it2;
389 BTServiceItem * serviceItem; 400 BTServiceItem* serviceItem;
401
390 402
391 if (!servicesList.isEmpty() ) { 403 if (!servicesList.isEmpty() ) {
392 // add services 404 // add services
393 QMap<int, QString> list; 405 QMap<int, QString> list;
394 QMap<int, QString>::Iterator classIt; 406 QMap<int, QString>::Iterator classIt;
395 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { 407 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) {
396 serviceItem = new BTServiceItem( deviceItem , (*it2) ); 408 serviceItem = new BTServiceItem( deviceItem, (*it2) );
397 list = (*it2).classIdList(); 409 list = (*it2).classIdList();
398 classIt = list.begin(); 410 classIt = list.begin();
399 int classId=0; 411 int classId=0;
400 if ( classIt != list.end() ) { 412 if ( classIt != list.end() ) {
@@ -404,9 +416,9 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s
404 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) ); 416 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) );
405 } 417 }
406 } else { 418 } else {
407 Services s1; 419 Services s1;
408 s1.setServiceName( tr("no serives found") ); 420 s1.setServiceName( tr("no services found") );
409 serviceItem = new BTServiceItem( deviceItem, s1 ); 421 serviceItem = new BTServiceItem( deviceItem, s1 );
410 } 422 }
411 // now remove them from the list 423 // now remove them from the list
412 m_deviceList.remove( it ); 424 m_deviceList.remove( it );
@@ -445,9 +457,9 @@ void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList )
445 connectionItem = new BTConnectionItem( ListView4 , con ); 457 connectionItem = new BTConnectionItem( ListView4 , con );
446 } 458 }
447 459
448 // recall connection search after some time 460 // recall connection search after some time
449 QTimer::singleShot( 20000, this, SLOT( addConnectedDevices() ) ); 461 QTimer::singleShot( 15000, this, SLOT( addConnectedDevices() ) );
450} 462}
451 463
452 464
453/** 465/**