From f284eafbe4274cb97ec25f375544b924ae04ac09 Mon Sep 17 00:00:00 2001 From: zautrix Date: Fri, 28 Oct 2005 08:57:25 +0000 Subject: cimmit --- (limited to 'kaddressbook/phoneeditwidget.h') diff --git a/kaddressbook/phoneeditwidget.h b/kaddressbook/phoneeditwidget.h index 7fe4bc0..0241cf0 100644 --- a/kaddressbook/phoneeditwidget.h +++ b/kaddressbook/phoneeditwidget.h @@ -24,6 +24,10 @@ */ #include +#include +#include +#include + #include "addresseeconfig.h" #include "typecombo.h" @@ -31,9 +35,9 @@ class QButtonGroup; class QCheckBox; +#include +#include class KListView; -class KLineEdit; -class KComboBox; typedef TypeCombo PhoneTypeCombo; @@ -143,5 +147,76 @@ private: QCheckBox *mPreferredBox; KLineEdit *mNumber; }; +class PhoneTypeNumberEdit : public QWidget +{ + Q_OBJECT +public: + PhoneTypeNumberEdit( QWidget *parent, const char *name = 0 ) + { + QHBoxLayout * lay = new QHBoxLayout( this ); + lay->setSpacing( KDialogBase::spacingHintSmall() ); + lay->setMargin( KDialogBase::marginHintSmall() ); + mMinusButton = new QPushButton ( this ); + mMinusButton->setPixmap ( SmallIcon("minus")); + mCombo = new KComboBox( this ); + mNumber = new KLineEdit( this ); + lay->addWidget( mMinusButton ); + lay->addWidget( mCombo ); + lay->addWidget( mNumber ); + connect( mMinusButton , SIGNAL ( clicked() ), this, SLOT ( deleteNumber() ) ); + connect( mCombo , SIGNAL ( activated ( int ) ), this, SLOT ( comboTypeChange( int ) ) ); + mCombo->insertStringList( PhoneNumber::supportedTypeListNames() ); + } + + void setPhoneNumber( const KABC::PhoneNumber &phoneNumber ) + { + mPhoneNumber = phoneNumber; + int index = PhoneNumber::typeListIndex4Type( mPhoneNumber.type() ); + mCombo->setCurrentItem( index ); + mNumber->setText( mPhoneNumber.number() ); + show(); + + } + KABC::PhoneNumber phoneNumber() + { + mPhoneNumber.setNumber( mNumber->text() ); + int index = mCombo->currentItem(); + mPhoneNumber.setType( PhoneNumber::supportedTypeList()[index] ); + return mPhoneNumber; + + } + private slots: + void typeExternalChanged( int oldType, int newType ) + { + if ( mPhoneNumber.type() == newType ) { + mPhoneNumber.setType(oldType); + int index = PhoneNumber::typeListIndex4Type( mPhoneNumber.type() ); + mCombo->setCurrentItem( index ); + } + + } + void deleteNumber() + { + hide(); + } + void comboTypeChange( int index ) + { + int old = mPhoneNumber.type(); + int newT = PhoneNumber::supportedTypeList()[index]; + if ( old != newT ) { + mPhoneNumber.setType(newT ); + emit typeChange ( old, newT ); + } + + } + signals: +void typeChange( int oldType, int newType ); + +private: + KABC::PhoneNumber mPhoneNumber; + QPushButton* mMinusButton; + KComboBox *mCombo; + KLineEdit *mNumber; +}; #endif -- cgit v0.9.0.2