From 78a2773ef477a4ab7327350e5f1f6c07428ad8a4 Mon Sep 17 00:00:00 2001 From: harlekin Date: Thu, 06 Mar 2003 23:17:10 +0000 Subject: remove previous found services on rescan --- 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 @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -385,15 +386,26 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s return; deviceItem = it.data(); + // remove previous entries + QList tempList; + tempList.setAutoDelete( true ); + QListViewItem * child = deviceItem->firstChild(); + while( child ) { + tempList.append( child ); + child = child->nextSibling(); + } + tempList.clear(); + QValueList::Iterator it2; - BTServiceItem * serviceItem; + BTServiceItem* serviceItem; + if (!servicesList.isEmpty() ) { // add services QMap list; QMap::Iterator classIt; for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { - serviceItem = new BTServiceItem( deviceItem , (*it2) ); + serviceItem = new BTServiceItem( deviceItem, (*it2) ); list = (*it2).classIdList(); classIt = list.begin(); int classId=0; @@ -405,7 +417,7 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s } } else { Services s1; - s1.setServiceName( tr("no serives found") ); + s1.setServiceName( tr("no services found") ); serviceItem = new BTServiceItem( deviceItem, s1 ); } // now remove them from the list @@ -446,7 +458,7 @@ void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList ) } // recall connection search after some time - QTimer::singleShot( 20000, this, SLOT( addConnectedDevices() ) ); + QTimer::singleShot( 15000, this, SLOT( addConnectedDevices() ) ); } -- cgit v0.9.0.2