-rw-r--r-- | noncore/net/opietooth/manager/bluebase.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp index d2854a1..af64663 100644 --- a/noncore/net/opietooth/manager/bluebase.cpp +++ b/noncore/net/opietooth/manager/bluebase.cpp @@ -279,48 +279,54 @@ void BlueBase::startServiceActionClicked( QListViewItem */*item*/ ) { /** * Action that are toggled on hold (mostly QPopups i guess) */ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int /*column*/ ) { QPopupMenu *menu = new QPopupMenu(); int ret=0; if ( ((BTListItem*)item)->type() == "device") { QPopupMenu *groups = new QPopupMenu(); menu->insertItem( tr("rescan sevices:"), 0); menu->insertItem( tr("to group"), groups , 1); - menu->insertItem( tr("bound device"), 2); + // menu->insertItem( tr("bound device"), 2); menu->insertItem( tr("delete"), 3); ret = menu->exec( point , 0); switch(ret) { case -1: - + break; + case 0: + addServicesToDevice( (BTDeviceItem*)item ); break; case 1: + break; - case 2: + + // NO need to, since hcid does that on the fly + // case 2: // make connection - break; + //m_localDevice->connectTo( ((BTDeviceItem*)item)->mac() ); + //break; case 3: - // delete childs too + // deletes childs too delete item; break; } delete groups; } /* * We got service sensitive PopupMenus in our factory * We will create one through the factory and will insert * our Separator + ShowInfo into the menu or create a new * one if the factory returns 0 * PopupMenu deletion is kind of weird. * If escaped( -1 ) or any of our items were chosen we'll * delete the PopupMenu otherwise it's the responsibility of * the PopupMenu to delete itself @@ -396,34 +402,35 @@ void BlueBase::addServicesToDevice( const QString& device, Services::ValueList s if( it == m_deviceList.end() ) return; deviceItem = it.data(); QValueList<OpieTooth::Services>::Iterator it2; 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) ); list = (*it2).classIdList(); classIt = list.begin(); int classId=0; - if ( classIt != list.end() ) + if ( classIt != list.end() ) { classId = classIt.key(); + } serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) ); } } else { Services s1; s1.setServiceName( tr("no serives found") ); serviceItem = new BTServiceItem( deviceItem, s1 ); } // now remove them from the list m_deviceList.remove( it ); } /** * Add the existing connections (pairs) to the connections tab. * This one triggers the search |