summaryrefslogtreecommitdiffabout
path: root/kaddressbook/phoneeditwidget.cpp
Unidiff
Diffstat (limited to 'kaddressbook/phoneeditwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/phoneeditwidget.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp
index a435959..2bce39a 100644
--- a/kaddressbook/phoneeditwidget.cpp
+++ b/kaddressbook/phoneeditwidget.cpp
@@ -303,193 +303,196 @@ void PhoneEditWidget::updatePhoneNumber( PhoneTypeCombo *combo )
303 303
304void PhoneEditWidget::updateOtherEdit( PhoneTypeCombo *combo, PhoneTypeCombo *otherCombo ) 304void PhoneEditWidget::updateOtherEdit( PhoneTypeCombo *combo, PhoneTypeCombo *otherCombo )
305{ 305{
306 if ( combo == otherCombo ) return; 306 if ( combo == otherCombo ) return;
307 307
308 if ( combo->currentItem() == otherCombo->currentItem() ) { 308 if ( combo->currentItem() == otherCombo->currentItem() ) {
309 updateEdit( otherCombo ); 309 updateEdit( otherCombo );
310 } 310 }
311} 311}
312 312
313/////////////////////////////////////////// 313///////////////////////////////////////////
314// PhoneEditDialog 314// PhoneEditDialog
315 315
316class PhoneViewItem : public QListViewItem 316class PhoneViewItem : public QListViewItem
317{ 317{
318public: 318public:
319 PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number ); 319 PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number );
320 320
321 void setPhoneNumber( const KABC::PhoneNumber &number ) 321 void setPhoneNumber( const KABC::PhoneNumber &number )
322 { 322 {
323 mPhoneNumber = number; 323 mPhoneNumber = number;
324 makeText(); 324 makeText();
325 } 325 }
326 326
327 QString key() { return mPhoneNumber.id(); } 327 QString key() { return mPhoneNumber.id(); }
328 QString country() { return ""; } 328 QString country() { return ""; }
329 QString region() { return ""; } 329 QString region() { return ""; }
330 QString number() { return ""; } 330 QString number() { return ""; }
331 331
332 KABC::PhoneNumber phoneNumber() { return mPhoneNumber; } 332 KABC::PhoneNumber phoneNumber() { return mPhoneNumber; }
333 333
334private: 334private:
335 void makeText(); 335 void makeText();
336 336
337 KABC::PhoneNumber mPhoneNumber; 337 KABC::PhoneNumber mPhoneNumber;
338}; 338};
339 339
340PhoneViewItem::PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number ) 340PhoneViewItem::PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number )
341 : QListViewItem( parent ), mPhoneNumber( number ) 341 : QListViewItem( parent ), mPhoneNumber( number )
342{ 342{
343#ifdef DESKTOP_VERSION 343#ifdef DESKTOP_VERSION
344 setRenameEnabled ( 0, true ); 344 setRenameEnabled ( 0, true );
345#endif 345#endif
346 makeText(); 346 makeText();
347} 347}
348 348
349void PhoneViewItem::makeText() 349void PhoneViewItem::makeText()
350{ 350{
351 /** 351 /**
352 * Will be used in future versions of kaddressbook/libkabc 352 * Will be used in future versions of kaddressbook/libkabc
353 353
354 setText( 0, mPhoneNumber.country() ); 354 setText( 0, mPhoneNumber.country() );
355 setText( 1, mPhoneNumber.region() ); 355 setText( 1, mPhoneNumber.region() );
356 setText( 2, mPhoneNumber.number() ); 356 setText( 2, mPhoneNumber.number() );
357 setText( 3, mPhoneNumber.typeLabel() ); 357 setText( 3, mPhoneNumber.typeLabel() );
358 */ 358 */
359 359
360 setText( 0, mPhoneNumber.number() ); 360 setText( 0, mPhoneNumber.number() );
361 setText( 1, mPhoneNumber.typeLabel() ); 361 setText( 1, mPhoneNumber.typeLabel() );
362} 362}
363 363
364PhoneEditDialog::PhoneEditDialog( const KABC::PhoneNumber::List &list, QWidget *parent, const char *name ) 364PhoneEditDialog::PhoneEditDialog( const KABC::PhoneNumber::List &list, QWidget *parent, const char *name )
365 : KDialogBase( KDialogBase::Plain, i18n( "Edit Phone Numbers" ), 365 : KDialogBase( KDialogBase::Plain, i18n( "Edit Phone Numbers" ),
366 KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, 366 KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok,
367 parent, name, true) 367 parent, name, true)
368{ 368{
369 mPhoneNumberList = list; 369 mPhoneNumberList = list;
370 370
371 QWidget *page = plainPage(); 371 QWidget *page = plainPage();
372 372
373 QGridLayout *layout = new QGridLayout( page, 1, 2 ); 373 QGridLayout *layout = new QGridLayout( page, 1, 2 );
374 layout->setSpacing( spacingHint() ); 374 layout->setSpacing( spacingHint() );
375 375
376 mListView = new KListView( page ); 376 mListView = new KListView( page );
377 mListView->setAllColumnsShowFocus( true ); 377 mListView->setAllColumnsShowFocus( true );
378 mListView->addColumn( i18n( "Number" ) ); 378 mListView->addColumn( i18n( "Number" ) );
379 mListView->addColumn( i18n( "Type" ) ); 379 mListView->addColumn( i18n( "Type" ) );
380 380
381 KButtonBox *buttonBox = new KButtonBox( page, Vertical ); 381 KButtonBox *buttonBox = new KButtonBox( page, Vertical );
382 382
383 buttonBox->addButton( i18n( "&Add..." ), this, SLOT( slotAddPhoneNumber() ) ); 383 buttonBox->addButton( i18n( "&Add..." ), this, SLOT( slotAddPhoneNumber() ) );
384 mEditButton = buttonBox->addButton( i18n( "&Edit..." ), this, SLOT( slotEditPhoneNumber() ) ); 384 mEditButton = buttonBox->addButton( i18n( "&Edit..." ), this, SLOT( slotEditPhoneNumber() ) );
385 mEditButton->setEnabled( false ); 385 mEditButton->setEnabled( false );
386 mRemoveButton = buttonBox->addButton( i18n( "&Remove" ), this, SLOT( slotRemovePhoneNumber() ) ); 386 mRemoveButton = buttonBox->addButton( i18n( "&Remove" ), this, SLOT( slotRemovePhoneNumber() ) );
387 mRemoveButton->setEnabled( false ); 387 mRemoveButton->setEnabled( false );
388 buttonBox->layout(); 388 buttonBox->layout();
389 389
390 layout->addWidget( mListView, 0, 0 ); 390 layout->addWidget( mListView, 0, 0 );
391 layout->addWidget( buttonBox, 0, 1 ); 391 layout->addWidget( buttonBox, 0, 1 );
392 392
393 connect( mListView, SIGNAL(selectionChanged()), SLOT(slotSelectionChanged()) ); 393 connect( mListView, SIGNAL(selectionChanged()), SLOT(slotSelectionChanged()) );
394 connect( mListView, SIGNAL(doubleClicked( QListViewItem *, const QPoint &, int )), this, SLOT( slotEditPhoneNumber())); 394 connect( mListView, SIGNAL(doubleClicked( QListViewItem *, const QPoint &, int )), this, SLOT( slotEditPhoneNumber()));
395 395
396 KABC::PhoneNumber::List::Iterator it; 396 KABC::PhoneNumber::List::Iterator it;
397 for ( it = mPhoneNumberList.begin(); it != mPhoneNumberList.end(); ++it ) 397 for ( it = mPhoneNumberList.begin(); it != mPhoneNumberList.end(); ++it )
398 new PhoneViewItem( mListView, *it ); 398 new PhoneViewItem( mListView, *it );
399 399 if (QApplication::desktop()->width() < 480 )
400 showMaximized();
401 else
402 resize( 400, 400 );
400 mChanged = false; 403 mChanged = false;
401} 404}
402 405
403PhoneEditDialog::~PhoneEditDialog() 406PhoneEditDialog::~PhoneEditDialog()
404{ 407{
405} 408}
406 409
407void PhoneEditDialog::slotAddPhoneNumber() 410void PhoneEditDialog::slotAddPhoneNumber()
408{ 411{
409 KABC::PhoneNumber tmp( "", 0 ); 412 KABC::PhoneNumber tmp( "", 0 );
410 PhoneTypeDialog dlg( tmp, this ); 413 PhoneTypeDialog dlg( tmp, this );
411 414
412 if ( dlg.exec() ) { 415 if ( dlg.exec() ) {
413 QListViewItem* i = mListView->firstChild(); 416 QListViewItem* i = mListView->firstChild();
414 KABC::PhoneNumber phoneNumber = dlg.phoneNumber(); 417 KABC::PhoneNumber phoneNumber = dlg.phoneNumber();
415 bool insert = true; 418 bool insert = true;
416 while ( i ) { 419 while ( i ) {
417 PhoneViewItem* p = ( PhoneViewItem* ) i; 420 PhoneViewItem* p = ( PhoneViewItem* ) i;
418 KABC::PhoneNumber pn = p->phoneNumber(); 421 KABC::PhoneNumber pn = p->phoneNumber();
419 if ( (pn.type() | KABC::PhoneNumber::Pref) == (phoneNumber.type() | KABC::PhoneNumber::Pref) ) { 422 if ( (pn.type() | KABC::PhoneNumber::Pref) == (phoneNumber.type() | KABC::PhoneNumber::Pref) ) {
420 if ( p->text(0).isEmpty()) { 423 if ( p->text(0).isEmpty()) {
421 p->setPhoneNumber( phoneNumber ); 424 p->setPhoneNumber( phoneNumber );
422 mPhoneNumberList.remove( pn ); 425 mPhoneNumberList.remove( pn );
423 mPhoneNumberList.append( phoneNumber ); 426 mPhoneNumberList.append( phoneNumber );
424 insert = false; 427 insert = false;
425 break; 428 break;
426 } 429 }
427 } 430 }
428 i = i->nextSibling(); 431 i = i->nextSibling();
429 } 432 }
430 if ( insert ) { 433 if ( insert ) {
431 mPhoneNumberList.append( phoneNumber ); 434 mPhoneNumberList.append( phoneNumber );
432 new PhoneViewItem( mListView, phoneNumber ); 435 new PhoneViewItem( mListView, phoneNumber );
433 } 436 }
434 mChanged = true; 437 mChanged = true;
435 } 438 }
436} 439}
437 440
438void PhoneEditDialog::slotRemovePhoneNumber() 441void PhoneEditDialog::slotRemovePhoneNumber()
439{ 442{
440 PhoneViewItem *item = static_cast<PhoneViewItem*>( mListView->currentItem() ); 443 PhoneViewItem *item = static_cast<PhoneViewItem*>( mListView->currentItem() );
441 if ( !item ) 444 if ( !item )
442 return; 445 return;
443 446
444 mPhoneNumberList.remove( item->phoneNumber() ); 447 mPhoneNumberList.remove( item->phoneNumber() );
445 QListViewItem *currItem = mListView->currentItem(); 448 QListViewItem *currItem = mListView->currentItem();
446 mListView->takeItem( currItem ); 449 mListView->takeItem( currItem );
447 delete currItem; 450 delete currItem;
448 451
449 mChanged = true; 452 mChanged = true;
450} 453}
451 454
452void PhoneEditDialog::slotEditPhoneNumber() 455void PhoneEditDialog::slotEditPhoneNumber()
453{ 456{
454 PhoneViewItem *item = static_cast<PhoneViewItem*>( mListView->currentItem() ); 457 PhoneViewItem *item = static_cast<PhoneViewItem*>( mListView->currentItem() );
455 if ( !item ) 458 if ( !item )
456 return; 459 return;
457 460
458 PhoneTypeDialog dlg( item->phoneNumber(), this ); 461 PhoneTypeDialog dlg( item->phoneNumber(), this );
459 462
460 if ( dlg.exec() ) { 463 if ( dlg.exec() ) {
461 slotRemovePhoneNumber(); 464 slotRemovePhoneNumber();
462 KABC::PhoneNumber phoneNumber = dlg.phoneNumber(); 465 KABC::PhoneNumber phoneNumber = dlg.phoneNumber();
463 mPhoneNumberList.append( phoneNumber ); 466 mPhoneNumberList.append( phoneNumber );
464 new PhoneViewItem( mListView, phoneNumber ); 467 new PhoneViewItem( mListView, phoneNumber );
465 468
466 mChanged = true; 469 mChanged = true;
467 } 470 }
468} 471}
469 472
470void PhoneEditDialog::slotSelectionChanged() 473void PhoneEditDialog::slotSelectionChanged()
471{ 474{
472 bool state = ( mListView->currentItem() != 0 ); 475 bool state = ( mListView->currentItem() != 0 );
473 476
474 mRemoveButton->setEnabled( state ); 477 mRemoveButton->setEnabled( state );
475 mEditButton->setEnabled( state ); 478 mEditButton->setEnabled( state );
476} 479}
477 480
478const KABC::PhoneNumber::List &PhoneEditDialog::phoneNumbers() 481const KABC::PhoneNumber::List &PhoneEditDialog::phoneNumbers()
479{ 482{
480 return mPhoneNumberList; 483 return mPhoneNumberList;
481} 484}
482 485
483bool PhoneEditDialog::changed() const 486bool PhoneEditDialog::changed() const
484{ 487{
485 return mChanged; 488 return mChanged;
486} 489}
487 490
488/////////////////////////////////////////// 491///////////////////////////////////////////
489// PhoneTypeDialog 492// PhoneTypeDialog
490PhoneTypeDialog::PhoneTypeDialog( const KABC::PhoneNumber &phoneNumber, 493PhoneTypeDialog::PhoneTypeDialog( const KABC::PhoneNumber &phoneNumber,
491 QWidget *parent, const char *name) 494 QWidget *parent, const char *name)
492 : KDialogBase( KDialogBase::Plain, i18n( "Edit Phone Number" ), 495 : KDialogBase( KDialogBase::Plain, i18n( "Edit Phone Number" ),
493 KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, 496 KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok,
494 parent, name, true), mPhoneNumber( phoneNumber ) 497 parent, name, true), mPhoneNumber( phoneNumber )
495{ 498{