-rw-r--r-- | noncore/net/opietooth/manager/bluebase.cpp | 40 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/bluebase.h | 1 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/hciconfwrapper.cpp | 4 |
3 files changed, 25 insertions, 20 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 diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h index ef67aa2..0516c16 100644 --- a/noncore/net/opietooth/manager/bluebase.h +++ b/noncore/net/opietooth/manager/bluebase.h @@ -64,16 +64,17 @@ namespace OpieTooth { QPixmap offPix; QPixmap onPix; private slots: void addSearchedDevices( QList<RemoteDevice> &newDevices ); void addServicesToDevice( BTListItem *item ); void addServicesToDevice( const QString& device, Services::ValueList ); void addConnectedDevices(); + void addConnectedDevices( Connection::ValueList ); void startServiceActionClicked( QListViewItem *item ); void startServiceActionHold( QListViewItem *, const QPoint &, int ); void deviceActive( const QString& mac, bool connected ); void applyConfigChanges(); }; } diff --git a/noncore/net/opietooth/manager/hciconfwrapper.cpp b/noncore/net/opietooth/manager/hciconfwrapper.cpp index 7b2497a..2d6d7da 100644 --- a/noncore/net/opietooth/manager/hciconfwrapper.cpp +++ b/noncore/net/opietooth/manager/hciconfwrapper.cpp @@ -94,21 +94,19 @@ namespace OpieTooth { // still need to look if its commented out!!! str.simplifyWhiteSpace(); qDebug( key ); if (str.startsWith("#")) { str = (key + " " + value + ";"); } else { str = str.replace( QRegExp( "\\s*"+key+"\\s+[^\\s][^;]*;" ), key + " " + value + ";"); } - qDebug( str ); } - outstream << str << endl; } f.close(); + f2.flush(); f2.close(); } - } |