summaryrefslogtreecommitdiff
authorharlekin <harlekin>2003-03-06 23:17:10 (UTC)
committer harlekin <harlekin>2003-03-06 23:17:10 (UTC)
commit78a2773ef477a4ab7327350e5f1f6c07428ad8a4 (patch) (side-by-side diff)
treed93e516530f66c0b15260c283d21481e92cfeb18
parent94a385f5f6868e930361dc8d25d3e87eacd20feb (diff)
downloadopie-78a2773ef477a4ab7327350e5f1f6c07428ad8a4.zip
opie-78a2773ef477a4ab7327350e5f1f6c07428ad8a4.tar.gz
opie-78a2773ef477a4ab7327350e5f1f6c07428ad8a4.tar.bz2
remove previous found services on rescan
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
@@ -38,16 +38,17 @@
#include <qvbox.h>
#include <qmessagebox.h>
#include <qcheckbox.h>
#include <qlineedit.h>
#include <qlistview.h>
#include <qdir.h>
#include <qpopupmenu.h>
#include <qtimer.h>
+#include <qlist.h>
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/config.h>
using namespace OpieTooth;
@@ -380,37 +381,48 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s
BTDeviceItem* deviceItem = 0;
// get the right devices which requested the search
it = m_deviceList.find( device );
if( it == m_deviceList.end() )
return;
deviceItem = it.data();
+ // remove previous entries
+ QList<QListViewItem> tempList;
+ tempList.setAutoDelete( true );
+ QListViewItem * child = deviceItem->firstChild();
+ while( child ) {
+ tempList.append( child );
+ child = child->nextSibling();
+ }
+ tempList.clear();
+
QValueList<OpieTooth::Services>::Iterator it2;
- BTServiceItem * serviceItem;
+ BTServiceItem* serviceItem;
+
if (!servicesList.isEmpty() ) {
// add services
QMap<int, QString> list;
QMap<int, QString>::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;
if ( classIt != list.end() ) {
classId = classIt.key();
}
serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) );
}
} 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
m_deviceList.remove( it );
}
/**
@@ -441,17 +453,17 @@ void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList )
}
} else {
ConnectionState con;
con.setMac( tr("No connections found") );
connectionItem = new BTConnectionItem( ListView4 , con );
}
// recall connection search after some time
- QTimer::singleShot( 20000, this, SLOT( addConnectedDevices() ) );
+ QTimer::singleShot( 15000, this, SLOT( addConnectedDevices() ) );
}
/**
* Find out if a device can currently be reached
* @param device
*/
void BlueBase::deviceActive( const RemoteDevice &device ) {