author | zautrix <zautrix> | 2005-10-28 08:57:25 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-10-28 08:57:25 (UTC) |
commit | f284eafbe4274cb97ec25f375544b924ae04ac09 (patch) (side-by-side diff) | |
tree | bc754eac9882740463a447099944cbb590bad7f6 | |
parent | d934f3fe2a62f6a696992335124c4434cd77d990 (diff) | |
download | kdepimpi-f284eafbe4274cb97ec25f375544b924ae04ac09.zip kdepimpi-f284eafbe4274cb97ec25f375544b924ae04ac09.tar.gz kdepimpi-f284eafbe4274cb97ec25f375544b924ae04ac09.tar.bz2 |
cimmit
-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 4 | ||||
-rw-r--r-- | kabc/phonenumber.cpp | 26 | ||||
-rw-r--r-- | kabc/phonenumber.h | 3 | ||||
-rw-r--r-- | kaddressbook/addresseeeditorwidget.cpp | 26 | ||||
-rw-r--r-- | kaddressbook/phoneeditwidget.h | 79 |
5 files changed, 130 insertions, 8 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index 2ae6eb9..dcf43c1 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt @@ -828,6 +828,6 @@ { "Primary","Bevorzugt" },
{ "Mobile (Home)","Handy (Privat)" },
-{ "","" },
-{ "","" },
+{ "Unfiled","Nicht zugeordnet" },
+{ "Format.n.:","Format.N.:" },
{ "","" },
{ "","" },
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp index 0d46ba7..eee25a5 100644 --- a/kabc/phonenumber.cpp +++ b/kabc/phonenumber.cpp @@ -223,4 +223,30 @@ PhoneNumber::TypeList PhoneNumber::typeList() return list; } +PhoneNumber::TypeList PhoneNumber::supportedTypeList() +{ + static TypeList list; + if ( list.count() == 0 ) + list << (Home| Pref) << (Work| Pref) << Cell << Home << Work << Car << (Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< (Pcs|Pref)<< Pcs<< Pager << Isdn << Video << Msg << Pref << Voice; + return list; +} +QStringList PhoneNumber::supportedTypeListNames() +{ + static QStringList list; + if ( list.count() == 0 ) + list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("Home2")<< i18n("Work2") << i18n("Mobile2 (Work)") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("SIP") << i18n("VoIP") << i18n("Pager") << i18n("ISDN") << i18n("Video") << i18n("Callback") << i18n("Primary")<< i18n("Other"); + return list; +} + +int PhoneNumber::typeListIndex4Type(int type ) +{ + TypeList list = supportedTypeList(); + int i = 0; + while ( i < list.count() ) { + if ( list [i] == type ) + return i; + ++i; + } + return list.count()-1; +} QString PhoneNumber::label( int type ) diff --git a/kabc/phonenumber.h b/kabc/phonenumber.h index b9d6a17..feeba6c 100644 --- a/kabc/phonenumber.h +++ b/kabc/phonenumber.h @@ -149,4 +149,7 @@ class PhoneNumber */ static QString label( int type ); + static TypeList supportedTypeList(); + static QStringList supportedTypeListNames(); + static int typeListIndex4Type(int type ); bool simplifyNumber(); void simplifyType(); diff --git a/kaddressbook/addresseeeditorwidget.cpp b/kaddressbook/addresseeeditorwidget.cpp index 310d628..9814cd5 100644 --- a/kaddressbook/addresseeeditorwidget.cpp +++ b/kaddressbook/addresseeeditorwidget.cpp @@ -155,5 +155,12 @@ void AddresseeEditorWidget::setupTab1() //US QGridLayout *layout = new QGridLayout( tab1, 11, 7 ); - QGridLayout *layout = new QGridLayout( tab1, 7, 1 ); + bool horLayout = false; + int maxCol = 1; + if ( QApplication::desktop()->width() == 640 || QApplication::desktop()->width() == 320 ) { + horLayout = true; + maxCol = 3; + } + QGridLayout *layout = new QGridLayout( tab1, 8-maxCol, maxCol ); + layout->setMargin( KDialogBase::marginHintSmall() ); layout->setSpacing( KDialogBase::spacingHintSmall() ); @@ -207,12 +214,23 @@ void AddresseeEditorWidget::setupTab1() connect( mOrgEdit, SIGNAL( textChanged( const QString& ) ), SLOT( textChanged( const QString& ) ) ); + if ( horLayout ) { + layout->addWidget( button, 1, 2 ); + layout->addWidget( mOrgEdit, 1, 3 ); + + } else { layout->addWidget( button, 2, 0 ); layout->addWidget( mOrgEdit, 2, 1 ); + } // File as (formatted name) - label = new QLabel( i18n( "Formatted name:" ), tab1 ); + label = new QLabel( i18n( "Format.n.:" ), tab1 ); mFormattedNameLabel = new KSqueezedTextLabel( tab1 ); + if ( horLayout ) { + layout->addWidget( label, 0,2 ); + layout->addWidget( mFormattedNameLabel, 0, 3 ); + } else { layout->addWidget( label, 3, 0 ); layout->addWidget( mFormattedNameLabel, 3, 1 ); + } /* LR // Left hand separator. This separator doesn't go all the way @@ -241,5 +259,5 @@ void AddresseeEditorWidget::setupTab1() iii = 8; #endif - layout->addMultiCellWidget( mPhoneEditWidget, 4, iii, 0, 1 ); + layout->addMultiCellWidget( mPhoneEditWidget, 4, iii, 0, maxCol ); ++iii; /* LR @@ -322,5 +340,5 @@ void AddresseeEditorWidget::setupTab1() //US layout->addMultiCellWidget( categoryBox, 11, 11, 0, 6 ); - layout->addMultiCellWidget( categoryBox, iii, iii, 0, 1 ); + layout->addMultiCellWidget( categoryBox, iii, iii, 0, maxCol ); // Build the layout and add to the tab widget diff --git a/kaddressbook/phoneeditwidget.h b/kaddressbook/phoneeditwidget.h index 7fe4bc0..0241cf0 100644 --- a/kaddressbook/phoneeditwidget.h +++ b/kaddressbook/phoneeditwidget.h @@ -25,4 +25,8 @@ #include <kdialogbase.h> +#include <kiconloader.h> +#include <qpushbutton.h> +#include <qlayout.h> + #include "addresseeconfig.h" @@ -32,7 +36,7 @@ class QButtonGroup; class QCheckBox; +#include <klineedit.h> +#include <kcombobox.h> class KListView; -class KLineEdit; -class KComboBox; typedef TypeCombo<KABC::PhoneNumber> PhoneTypeCombo; @@ -144,4 +148,75 @@ private: 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 |