Diffstat (limited to 'noncore/net/opietooth/manager/bluebase.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opietooth/manager/bluebase.cpp | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp index 3e7e2ab..d023302 100644 --- a/noncore/net/opietooth/manager/bluebase.cpp +++ b/noncore/net/opietooth/manager/bluebase.cpp @@ -31,16 +31,17 @@ #include <qscrollview.h> #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 <qpe/resource.h> #include <qpe/config.h> #include <remotedevice.h> namespace OpieTooth { @@ -60,16 +61,18 @@ namespace OpieTooth { this, SLOT( startServiceActionClicked( QListViewItem* ) ) ); // hehe, cast right later connect( ListView2, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int ) ), this, SLOT(startServiceActionHold( QListViewItem *, const QPoint &, int) ) ); connect( localDevice , SIGNAL( foundServices( const QString& , Services::ValueList ) ), this, SLOT( addServicesToDevice( const QString& , Services::ValueList ) ) ); connect( localDevice, SIGNAL( available( const QString&, bool ) ), this, SLOT( deviceActive( const QString& , bool ) ) ); + connect( localDevice, SIGNAL( connections( Connection::ValueList ) ), + this, SLOT( addConnectedDevices( Connection::ValueList ) ) ); //Load all icons needed offPix = Resource::loadPixmap( "editdelete" ); onPix = Resource::loadPixmap( "installed" ); QPalette pal = this->palette(); QColor col = pal.color( QPalette::Active, QColorGroup::Background ); @@ -87,16 +90,18 @@ namespace OpieTooth { //TESTING ListView2->setRootIsDecorated(true); BTListItem *topLV2 = new BTListItem( ListView2, "Siemens S45", "", "device" ); topLV2->setPixmap( 1, onPix ); (void) new BTListItem( topLV2, "Serial" ,"", "service" ); (void) new BTListItem( topLV2, "BlueNiC" , "", "service" ); writeToHciConfig(); + // search conncetions + addConnectedDevices(); } /** * Reads all options from the config file */ void BlueBase::readConfig() { @@ -290,21 +295,16 @@ namespace OpieTooth { RemoteDevice *dev = it.current(); deviceItem = new BTListItem( ListView2 , dev->name(), dev->mac(), "device" ); deviceItem->setExpandable ( true ); // look if device is avail. atm, async deviceActive( dev ); - // move into the c'tor - // deviceItem->setMac( dev->mac() ); - // what kind of entry is it. - //deviceItem->setType( "device"); - // ggf auch hier? addServicesToDevice( deviceItem ); } } /** * Action that is toggled on entrys on click @@ -405,26 +405,16 @@ namespace OpieTooth { // get the right devices which requested the search for( it = deviceList.begin(); it != deviceList.end(); ++it ) { if ( it.key() == device ) { deviceItem = it.data(); } } - - // empty entries - // QListViewItem * myChild = deviceItem->firstChild(); - //QList<QListViewItem*> tmpList; - //while( myChild ) { - // tmpList.append(myChild); - // myChild = myChild->nextSibling(); - // } - - QValueList<OpieTooth::Services>::Iterator it2; BTListItem * serviceItem; if (!servicesList.isEmpty() ) { // add services for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { serviceItem = new BTListItem( deviceItem , (*it2).serviceName() , "" , "service" ); @@ -434,23 +424,39 @@ namespace OpieTooth { serviceItem = new BTListItem( deviceItem , tr("no services found"), "" , "service" ); //serviceItem->setText(4, "service"); } } /** * Add the existing connections (pairs) to the connections tab. - * + * This one triggers the search */ void BlueBase::addConnectedDevices() { + localDevice->searchConnections(); + } - //mac address + void BlueBase::addConnectedDevices( Connection::ValueList connectionList ) { + + QValueList<OpieTooth::Connection>::Iterator it; + BTListItem * connectionItem; + + if ( !connectionList.isEmpty() ) { + + for (it = connectionList.begin(); it != connectionList.end(); ++it) { + connectionItem = new BTListItem( ListView4 , (*it).mac() , (*it).mac() , "connection" ); + } + } else { + connectionItem = new BTListItem( ListView4 , tr("No connections found"), "", "connection" ); + } + // recall connection search after some time + QTimer::singleShot( 20000, this, SLOT( addConnectedDevices() ) ); } /** * Find out if a device can currently be reached */ void BlueBase::deviceActive( RemoteDevice *device ) { // search by mac, async, gets a signal back |