summaryrefslogtreecommitdiff
authorharlekin <harlekin>2003-03-06 19:45:59 (UTC)
committer harlekin <harlekin>2003-03-06 19:45:59 (UTC)
commit56eadb23f09da3823da787d98c0f2478620a15b3 (patch) (unidiff)
treef04fd0e01ad6b85c55fbf8d51dc2cb359b6d113c
parentde5ee3b655897d8d6b8b78fee3cb2b63f9a9bf8a (diff)
downloadopie-56eadb23f09da3823da787d98c0f2478620a15b3.zip
opie-56eadb23f09da3823da787d98c0f2478620a15b3.tar.gz
opie-56eadb23f09da3823da787d98c0f2478620a15b3.tar.bz2
make recan services and delete item work
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp12
1 files changed, 2 insertions, 10 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index b31e14f..d3abb54 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -204,205 +204,197 @@ void BlueBase::initGui() {
204 pagescanCheckBox->setChecked( m_enablePagescan ); 204 pagescanCheckBox->setChecked( m_enablePagescan );
205 inquiryscanCheckBox->setChecked( m_enableInquiryscan ); 205 inquiryscanCheckBox->setChecked( m_enableInquiryscan );
206 deviceNameLine->setText( m_deviceName ); 206 deviceNameLine->setText( m_deviceName );
207 passkeyLine->setText( m_defaultPasskey ); 207 passkeyLine->setText( m_defaultPasskey );
208 // set info tab 208 // set info tab
209 setInfo(); 209 setInfo();
210} 210}
211 211
212 212
213/** 213/**
214 * Get the status informations and returns it 214 * Get the status informations and returns it
215 * @return QString the status informations gathered 215 * @return QString the status informations gathered
216 */ 216 */
217QString BlueBase::status()const{ 217QString BlueBase::status()const{
218 QString infoString = tr( "<b>Device name : </b> Ipaq" ); 218 QString infoString = tr( "<b>Device name : </b> Ipaq" );
219 infoString += QString( "<br><b>" + tr( "MAC adress: " ) +"</b> No idea" ); 219 infoString += QString( "<br><b>" + tr( "MAC adress: " ) +"</b> No idea" );
220 infoString += QString( "<br><b>" + tr( "Class" ) + "</b> PDA" ); 220 infoString += QString( "<br><b>" + tr( "Class" ) + "</b> PDA" );
221 221
222 return (infoString); 222 return (infoString);
223} 223}
224 224
225 225
226/** 226/**
227 * Read the current values from the gui and invoke writeConfig() 227 * Read the current values from the gui and invoke writeConfig()
228 */ 228 */
229void BlueBase::applyConfigChanges() { 229void BlueBase::applyConfigChanges() {
230 m_deviceName = deviceNameLine->text(); 230 m_deviceName = deviceNameLine->text();
231 m_defaultPasskey = passkeyLine->text(); 231 m_defaultPasskey = passkeyLine->text();
232 m_useEncryption = cryptCheckBox->isChecked(); 232 m_useEncryption = cryptCheckBox->isChecked();
233 m_enableAuthentification = authCheckBox->isChecked(); 233 m_enableAuthentification = authCheckBox->isChecked();
234 m_enablePagescan = pagescanCheckBox->isChecked(); 234 m_enablePagescan = pagescanCheckBox->isChecked();
235 m_enableInquiryscan = inquiryscanCheckBox->isChecked(); 235 m_enableInquiryscan = inquiryscanCheckBox->isChecked();
236 236
237 writeConfig(); 237 writeConfig();
238 238
239 QMessageBox::information( this, tr("Test") , tr("Changes were applied.") ); 239 QMessageBox::information( this, tr("Test") , tr("Changes were applied.") );
240} 240}
241 241
242/** 242/**
243 * Add fresh found devices from scan dialog to the listing 243 * Add fresh found devices from scan dialog to the listing
244 * 244 *
245 */ 245 */
246void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) { 246void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) {
247 BTDeviceItem * deviceItem; 247 BTDeviceItem * deviceItem;
248 QValueList<RemoteDevice>::ConstIterator it; 248 QValueList<RemoteDevice>::ConstIterator it;
249 249
250 for( it = newDevices.begin(); it != newDevices.end() ; ++it ) { 250 for( it = newDevices.begin(); it != newDevices.end() ; ++it ) {
251 251
252 if (find( (*it) )) // is already inserted 252 if (find( (*it) )) // is already inserted
253 continue; 253 continue;
254 254
255 deviceItem = new BTDeviceItem( ListView2 , (*it) ); 255 deviceItem = new BTDeviceItem( ListView2 , (*it) );
256 deviceItem->setPixmap( 1, m_findPix ); 256 deviceItem->setPixmap( 1, m_findPix );
257 deviceItem->setExpandable ( true ); 257 deviceItem->setExpandable ( true );
258 258
259 // look if device is avail. atm, async 259 // look if device is avail. atm, async
260 deviceActive( (*it) ); 260 deviceActive( (*it) );
261 261
262 // ggf auch hier? 262 // ggf auch hier?
263 addServicesToDevice( deviceItem ); 263 addServicesToDevice( deviceItem );
264 } 264 }
265} 265}
266 266
267 267
268/** 268/**
269 * Action that is toggled on entrys on click 269 * Action that is toggled on entrys on click
270 */ 270 */
271void BlueBase::startServiceActionClicked( QListViewItem */*item*/ ) { 271void BlueBase::startServiceActionClicked( QListViewItem */*item*/ ) {
272} 272}
273 273
274 274
275/** 275/**
276 * Action that are toggled on hold (mostly QPopups i guess) 276 * Action that are toggled on hold (mostly QPopups i guess)
277 */ 277 */
278void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int /*column*/ ) { 278void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int /*column*/ ) {
279 if (!item ) 279 if (!item )
280 return; 280 return;
281 281
282 QPopupMenu *menu = new QPopupMenu(); 282 QPopupMenu *menu = new QPopupMenu();
283 int ret=0; 283 int ret=0;
284 284
285 if ( ((BTListItem*)item)->type() == "device") { 285 if ( ((BTListItem*)item)->type() == "device") {
286 286
287 QPopupMenu *groups = new QPopupMenu(); 287 QPopupMenu *groups = new QPopupMenu();
288 288
289 menu->insertItem( ((BTDeviceItem*)item)->name(),0 ); 289 menu->insertItem( ((BTDeviceItem*)item)->name(),0 );
290 menu->insertSeparator(1); 290 menu->insertSeparator(1);
291 menu->insertItem( tr("rescan sevices"), 2); 291 menu->insertItem( tr("rescan sevices"), 2);
292 menu->insertItem( tr("to group"), groups , 3); 292 menu->insertItem( tr("to group"), groups , 3);
293 menu->insertItem( tr("delete"), 4); 293 menu->insertItem( tr("delete"), 4);
294 294
295 ret = menu->exec( point , 0); 295 ret = menu->exec( point , 0);
296 296
297 switch(ret) { 297 switch(ret) {
298 case -1: 298 case -1:
299 break; 299 break;
300 case 0: 300 case 2:
301 addServicesToDevice( (BTDeviceItem*)item ); 301 addServicesToDevice( (BTDeviceItem*)item );
302 break; 302 break;
303 case 1:
304 303
305 break; 304 case 4:
306
307 // NO need to, since hcid does that on the fly
308 // case 2:
309 // make connection
310 //m_localDevice->connectTo( ((BTDeviceItem*)item)->mac() );
311 //break;
312 case 3:
313 // deletes childs too 305 // deletes childs too
314 delete item; 306 delete item;
315 break; 307 break;
316 } 308 }
317 delete groups; 309 delete groups;
318 310
319 } 311 }
320 312
321 /* 313 /*
322 * We got service sensitive PopupMenus in our factory 314 * We got service sensitive PopupMenus in our factory
323 * We will create one through the factory and will insert 315 * We will create one through the factory and will insert
324 * our Separator + ShowInfo into the menu or create a new 316 * our Separator + ShowInfo into the menu or create a new
325 * one if the factory returns 0 317 * one if the factory returns 0
326 * PopupMenu deletion is kind of weird. 318 * PopupMenu deletion is kind of weird.
327 * If escaped( -1 ) or any of our items were chosen we'll 319 * If escaped( -1 ) or any of our items were chosen we'll
328 * delete the PopupMenu otherwise it's the responsibility of 320 * delete the PopupMenu otherwise it's the responsibility of
329 * the PopupMenu to delete itself 321 * the PopupMenu to delete itself
330 * 322 *
331 */ 323 */
332 else if ( ((BTListItem*)item)->type() == "service") { 324 else if ( ((BTListItem*)item)->type() == "service") {
333 BTServiceItem* service = (BTServiceItem*)item; 325 BTServiceItem* service = (BTServiceItem*)item;
334 QMap<int, QString> list = service->services().classIdList(); 326 QMap<int, QString> list = service->services().classIdList();
335 QMap<int, QString>::Iterator it = list.begin(); 327 QMap<int, QString>::Iterator it = list.begin();
336 QPopupMenu *popup =0l; 328 QPopupMenu *popup =0l;
337 if ( it != list.end() ) { 329 if ( it != list.end() ) {
338 qWarning("Searching id %d %s", it.key(), it.data().latin1() ); 330 qWarning("Searching id %d %s", it.key(), it.data().latin1() );
339 popup = m_popHelper.find( it.key() /*1*/, 331 popup = m_popHelper.find( it.key() /*1*/,
340 service->services(), 332 service->services(),
341 (BTDeviceItem*)service->parent() ); 333 (BTDeviceItem*)service->parent() );
342 }else { 334 }else {
343 qWarning("Empty"); 335 qWarning("Empty");
344 } 336 }
345 337
346 if ( popup == 0l ) { 338 if ( popup == 0l ) {
347 qWarning("factory returned 0l"); 339 qWarning("factory returned 0l");
348 popup = new QPopupMenu(); 340 popup = new QPopupMenu();
349 } 341 }
350 int test1 = popup->insertItem( tr("Test1:"), 2); 342 int test1 = popup->insertItem( tr("Test1:"), 2);
351 343
352 ret = popup->exec( point ); 344 ret = popup->exec( point );
353 qWarning("returned from exec() "); 345 qWarning("returned from exec() ");
354 if ( ret == -1 ) { 346 if ( ret == -1 ) {
355 ; 347 ;
356 } else if ( ret == test1 ) { 348 } else if ( ret == test1 ) {
357 ; 349 ;
358 } 350 }
359 delete popup; 351 delete popup;
360 } 352 }
361 delete menu; 353 delete menu;
362} 354}
363 355
364 356
365/** 357/**
366 * Search and display avail. services for a device (on expand from device listing) 358 * Search and display avail. services for a device (on expand from device listing)
367 * @param item the service item returned 359 * @param item the service item returned
368 */ 360 */
369void BlueBase::addServicesToDevice( BTDeviceItem * item ) { 361void BlueBase::addServicesToDevice( BTDeviceItem * item ) {
370 qDebug("addServicesToDevice"); 362 qDebug("addServicesToDevice");
371 // row of mac adress text(3) 363 // row of mac adress text(3)
372 RemoteDevice device = item->remoteDevice(); 364 RemoteDevice device = item->remoteDevice();
373 m_deviceList.insert( item->mac() , item ); 365 m_deviceList.insert( item->mac() , item );
374 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back 366 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back
375 m_localDevice->searchServices( device ); 367 m_localDevice->searchServices( device );
376} 368}
377 369
378 370
379/** 371/**
380 * Overloaded. This one it the one that is connected to the foundServices signal 372 * Overloaded. This one it the one that is connected to the foundServices signal
381 * @param device the mac address of the remote device 373 * @param device the mac address of the remote device
382 * @param servicesList the list with the service the device has. 374 * @param servicesList the list with the service the device has.
383 */ 375 */
384void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) { 376void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) {
385 qDebug("fill services list"); 377 qDebug("fill services list");
386 378
387 QMap<QString,BTDeviceItem*>::Iterator it; 379 QMap<QString,BTDeviceItem*>::Iterator it;
388 BTDeviceItem* deviceItem = 0; 380 BTDeviceItem* deviceItem = 0;
389 381
390 // get the right devices which requested the search 382 // get the right devices which requested the search
391 it = m_deviceList.find( device ); 383 it = m_deviceList.find( device );
392 if( it == m_deviceList.end() ) 384 if( it == m_deviceList.end() )
393 return; 385 return;
394 deviceItem = it.data(); 386 deviceItem = it.data();
395 387
396 QValueList<OpieTooth::Services>::Iterator it2; 388 QValueList<OpieTooth::Services>::Iterator it2;
397 BTServiceItem * serviceItem; 389 BTServiceItem * serviceItem;
398 390
399 if (!servicesList.isEmpty() ) { 391 if (!servicesList.isEmpty() ) {
400 // add services 392 // add services
401 QMap<int, QString> list; 393 QMap<int, QString> list;
402 QMap<int, QString>::Iterator classIt; 394 QMap<int, QString>::Iterator classIt;
403 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { 395 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) {
404 serviceItem = new BTServiceItem( deviceItem , (*it2) ); 396 serviceItem = new BTServiceItem( deviceItem , (*it2) );
405 list = (*it2).classIdList(); 397 list = (*it2).classIdList();
406 classIt = list.begin(); 398 classIt = list.begin();
407 int classId=0; 399 int classId=0;
408 if ( classIt != list.end() ) { 400 if ( classIt != list.end() ) {