summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 1fd0ea2..6c17974 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -284,145 +284,142 @@ void BlueBase::startServiceActionClicked( QListViewItem */*item*/ ) {
284 284
285 285
286/** 286/**
287 * Action that are toggled on hold (mostly QPopups i guess) 287 * Action that are toggled on hold (mostly QPopups i guess)
288 */ 288 */
289void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int /*column*/ ) { 289void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int /*column*/ ) {
290 if (!item ) 290 if (!item )
291 return; 291 return;
292 292
293 QPopupMenu *menu = new QPopupMenu(); 293 QPopupMenu *menu = new QPopupMenu();
294 int ret=0; 294 int ret=0;
295 295
296 if ( ((BTListItem*)item)->type() == "device") { 296 if ( ((BTListItem*)item)->type() == "device") {
297 297
298 QPopupMenu *groups = new QPopupMenu(); 298 QPopupMenu *groups = new QPopupMenu();
299 299
300 menu->insertItem( ((BTDeviceItem*)item)->name(),0 ); 300 menu->insertItem( ((BTDeviceItem*)item)->name(),0 );
301 menu->insertSeparator(1); 301 menu->insertSeparator(1);
302 menu->insertItem( tr("rescan sevices"), 2); 302 menu->insertItem( tr("rescan sevices"), 2);
303 menu->insertItem( tr("to group"), groups , 3); 303 menu->insertItem( tr("to group"), groups , 3);
304 menu->insertItem( tr("delete"), 4); 304 menu->insertItem( tr("delete"), 4);
305 305
306 ret = menu->exec( point , 0); 306 ret = menu->exec( point , 0);
307 307
308 switch(ret) { 308 switch(ret) {
309 case -1: 309 case -1:
310 break; 310 break;
311 case 0: 311 case 0:
312 addServicesToDevice( (BTDeviceItem*)item ); 312 addServicesToDevice( (BTDeviceItem*)item );
313 break; 313 break;
314 case 1: 314 case 1:
315 315
316 break; 316 break;
317 317
318 // NO need to, since hcid does that on the fly 318 // NO need to, since hcid does that on the fly
319 // case 2: 319 // case 2:
320 // make connection 320 // make connection
321 //m_localDevice->connectTo( ((BTDeviceItem*)item)->mac() ); 321 //m_localDevice->connectTo( ((BTDeviceItem*)item)->mac() );
322 //break; 322 //break;
323 case 3: 323 case 3:
324 // deletes childs too 324 // deletes childs too
325 delete item; 325 delete item;
326 break; 326 break;
327 } 327 }
328 delete groups; 328 delete groups;
329 329
330 } 330 }
331 331
332 /* 332 /*
333 * We got service sensitive PopupMenus in our factory 333 * We got service sensitive PopupMenus in our factory
334 * We will create one through the factory and will insert 334 * We will create one through the factory and will insert
335 * our Separator + ShowInfo into the menu or create a new 335 * our Separator + ShowInfo into the menu or create a new
336 * one if the factory returns 0 336 * one if the factory returns 0
337 * PopupMenu deletion is kind of weird. 337 * PopupMenu deletion is kind of weird.
338 * If escaped( -1 ) or any of our items were chosen we'll 338 * If escaped( -1 ) or any of our items were chosen we'll
339 * delete the PopupMenu otherwise it's the responsibility of 339 * delete the PopupMenu otherwise it's the responsibility of
340 * the PopupMenu to delete itself 340 * the PopupMenu to delete itself
341 * 341 *
342 */ 342 */
343 else if ( ((BTListItem*)item)->type() == "service") { 343 else if ( ((BTListItem*)item)->type() == "service") {
344 BTServiceItem* service = (BTServiceItem*)item; 344 BTServiceItem* service = (BTServiceItem*)item;
345 QMap<int, QString> list = service->services().classIdList(); 345 QMap<int, QString> list = service->services().classIdList();
346 QMap<int, QString>::Iterator it = list.begin(); 346 QMap<int, QString>::Iterator it = list.begin();
347 QPopupMenu *popup =0l; 347 QPopupMenu *popup =0l;
348 popup->insertItem( (service->services()).serviceName() );
349 popup->insertSeparator();
350 if ( it != list.end() ) { 348 if ( it != list.end() ) {
351 qWarning("Searching id %d %s", it.key(), it.data().latin1() ); 349 qWarning("Searching id %d %s", it.key(), it.data().latin1() );
352 popup = m_popHelper.find( it.key() /*1*/, 350 popup = m_popHelper.find( it.key() /*1*/,
353 service->services(), 351 service->services(),
354 (BTDeviceItem*)service->parent() ); 352 (BTDeviceItem*)service->parent() );
355 }else { 353 }else {
356 qWarning("Empty"); 354 qWarning("Empty");
357 } 355 }
358 356
359 if ( popup == 0l ) { 357 if ( popup == 0l ) {
360 qWarning("factory returned 0l"); 358 qWarning("factory returned 0l");
361 popup = new QPopupMenu(); 359 popup = new QPopupMenu();
362 } 360 }
363 361 int test1 = popup->insertItem( tr("Test1:"), 2);
364 int test1 = popup->insertItem( tr("Test1:"), 0);
365 362
366 ret = popup->exec( point ); 363 ret = popup->exec( point );
367 qWarning("returned from exec() "); 364 qWarning("returned from exec() ");
368 if ( ret == -1 ) { 365 if ( ret == -1 ) {
369 ; 366 ;
370 } else if ( ret == test1 ) { 367 } else if ( ret == test1 ) {
371 ; 368 ;
372 } 369 }
373 delete popup; 370 delete popup;
374 } 371 }
375 delete menu; 372 delete menu;
376} 373}
377 374
378 375
379/** 376/**
380 * Search and display avail. services for a device (on expand from device listing) 377 * Search and display avail. services for a device (on expand from device listing)
381 * @param item the service item returned 378 * @param item the service item returned
382 */ 379 */
383void BlueBase::addServicesToDevice( BTDeviceItem * item ) { 380void BlueBase::addServicesToDevice( BTDeviceItem * item ) {
384 qDebug("addServicesToDevice"); 381 qDebug("addServicesToDevice");
385 // row of mac adress text(3) 382 // row of mac adress text(3)
386 RemoteDevice device = item->remoteDevice(); 383 RemoteDevice device = item->remoteDevice();
387 m_deviceList.insert( item->mac() , item ); 384 m_deviceList.insert( item->mac() , item );
388 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back 385 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back
389 m_localDevice->searchServices( device ); 386 m_localDevice->searchServices( device );
390} 387}
391 388
392 389
393/** 390/**
394 * Overloaded. This one it the one that is connected to the foundServices signal 391 * Overloaded. This one it the one that is connected to the foundServices signal
395 * @param device the mac address of the remote device 392 * @param device the mac address of the remote device
396 * @param servicesList the list with the service the device has. 393 * @param servicesList the list with the service the device has.
397 */ 394 */
398void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) { 395void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) {
399 qDebug("fill services list"); 396 qDebug("fill services list");
400 397
401 QMap<QString,BTDeviceItem*>::Iterator it; 398 QMap<QString,BTDeviceItem*>::Iterator it;
402 BTDeviceItem* deviceItem = 0; 399 BTDeviceItem* deviceItem = 0;
403 400
404 // get the right devices which requested the search 401 // get the right devices which requested the search
405 it = m_deviceList.find( device ); 402 it = m_deviceList.find( device );
406 if( it == m_deviceList.end() ) 403 if( it == m_deviceList.end() )
407 return; 404 return;
408 deviceItem = it.data(); 405 deviceItem = it.data();
409 406
410 QValueList<OpieTooth::Services>::Iterator it2; 407 QValueList<OpieTooth::Services>::Iterator it2;
411 BTServiceItem * serviceItem; 408 BTServiceItem * serviceItem;
412 409
413 if (!servicesList.isEmpty() ) { 410 if (!servicesList.isEmpty() ) {
414 // add services 411 // add services
415 QMap<int, QString> list; 412 QMap<int, QString> list;
416 QMap<int, QString>::Iterator classIt; 413 QMap<int, QString>::Iterator classIt;
417 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { 414 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) {
418 serviceItem = new BTServiceItem( deviceItem , (*it2) ); 415 serviceItem = new BTServiceItem( deviceItem , (*it2) );
419 list = (*it2).classIdList(); 416 list = (*it2).classIdList();
420 classIt = list.begin(); 417 classIt = list.begin();
421 int classId=0; 418 int classId=0;
422 if ( classIt != list.end() ) { 419 if ( classIt != list.end() ) {
423 classId = classIt.key(); 420 classId = classIt.key();
424 } 421 }
425 422
426 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) ); 423 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( classId ) );
427 } 424 }
428 } else { 425 } else {