Diffstat (limited to 'kaddressbook/phoneeditwidget.h') (more/less context) (show whitespace changes)
-rw-r--r-- | kaddressbook/phoneeditwidget.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/kaddressbook/phoneeditwidget.h b/kaddressbook/phoneeditwidget.h index c730c7b..df5aff9 100644 --- a/kaddressbook/phoneeditwidget.h +++ b/kaddressbook/phoneeditwidget.h @@ -18,69 +18,75 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, permission is given to link this program with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ #include <kdialogbase.h> #include <kiconloader.h> #include <qpushbutton.h> #include <qlayout.h> +#include <qpopupmenu.h> #include <qptrlist.h> #include <qscrollview.h> #include "addresseeconfig.h" #include "typecombo.h" class QButtonGroup; class QCheckBox; class PhoneTypeNumberEdit; #include <klineedit.h> #include <kcombobox.h> #include <kabc/phonenumber.h> typedef TypeCombo<KABC::PhoneNumber> PhoneTypeCombo; /** Widget for editing phone numbers. */ -class PhoneEditWidget : public QScrollView +class PhoneEditWidget : public QWidget { Q_OBJECT public: PhoneEditWidget( QWidget *parent, const char *name = 0 ); ~PhoneEditWidget(); void setPhoneNumbers( const KABC::PhoneNumber::List &list ); KABC::PhoneNumber::List phoneNumbers(); // void updateTypeCombo( const KABC::PhoneNumber::List&, KComboBox* ); //KABC::PhoneNumber currentPhoneNumber( KComboBox*, int ); signals: void modified(); void typeChange( int oldType, int newType ); private slots: + void bottomVisible(); + void addNumberInt( int ); void deleteEdit( PhoneTypeNumberEdit* ew ); void addNumber(); void pendingDelete(); protected: private: + QScrollView* sv; + QPopupMenu *mPopup; + int mPopupCount; PhoneTypeNumberEdit* mPendingDelete; void setDefaults(); PhoneTypeNumberEdit* appendEditCombo(); QWidget* mw; QVBoxLayout* mainLayout; QPtrList <PhoneTypeNumberEdit> mTypeNumberEditList; KABC::PhoneNumber::List mPhoneList; }; @@ -217,66 +223,67 @@ public: mCombo->insertStringList( PhoneNumber::supportedTypeListNames() ); } ~PhoneTypeNumberEdit() { // qDebug("~PhoneTypeNumberEdit() "); } void setPhoneNumber( const KABC::PhoneNumber &phoneNumber ) { mPhoneNumber = phoneNumber; int index = PhoneNumber::typeListIndex4Type( mPhoneNumber.type() ); mCombo->setCurrentItem( index ); mNumber->setText( mPhoneNumber.number() ); show(); - + mNumber->setFocus(); } KABC::PhoneNumber phoneNumber() { mPhoneNumber.setNumber( mNumber->text() ); int index = mCombo->currentItem(); mPhoneNumber.setType( PhoneNumber::supportedTypeList()[index] ); return mPhoneNumber; } bool isValid() { if ( mNumber->text().isEmpty() )return false; return true; } + int currentType() + { + return mCombo->currentItem(); + } 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() { emit deleteMe( this ); } void comboTypeChange( int index ) { int old = mPhoneNumber.type(); int newT = PhoneNumber::supportedTypeList()[index]; if ( old != newT ) { emit modified(); + if ( newT != PhoneNumber::Voice ) emit typeChange ( old, newT ); mPhoneNumber.setType(newT ); } } - int currentType() - { - return mCombo->currentItem(); - } void textChanged ( const QString & ) { emit modified(); } signals: void typeChange( int oldType, int newType ); void modified(); void deleteMe( PhoneTypeNumberEdit* ); private: KABC::PhoneNumber mPhoneNumber; QPushButton* mMinusButton; |