kaddressbook
phoneeditwidget.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef PHONEEDITWIDGET_H
00025 #define PHONEEDITWIDGET_H
00026
00027 #include <kcombobox.h>
00028 #include <kdialogbase.h>
00029
00030 #include "addresseeconfig.h"
00031
00032 class TQButtonGroup;
00033 class TQCheckBox;
00034 class TQSignalMapper;
00035
00036 class KLineEdit;
00037 class KComboBox;
00038
00039 class PhoneTypeCombo : public KComboBox
00040 {
00041 Q_OBJECT
00042 TQ_OBJECT
00043
00044 public:
00045 PhoneTypeCombo( TQWidget *parent );
00046 ~PhoneTypeCombo();
00047
00048 void setType( int type );
00049 int type() const;
00050
00051 signals:
00052 void modified();
00053
00054 protected slots:
00055 void selected( int );
00056 void otherSelected();
00057
00058 private:
00059 void update();
00060
00061 int mType;
00062 int mLastSelected;
00063 TQValueList<int> mTypeList;
00064 };
00065
00066 class PhoneNumberWidget : public TQWidget
00067 {
00068 Q_OBJECT
00069 TQ_OBJECT
00070
00071 public:
00072 PhoneNumberWidget( TQWidget *parent );
00073
00074 void setNumber( const KABC::PhoneNumber &number );
00075 KABC::PhoneNumber number() const;
00076
00077 void setReadOnly( bool readOnly );
00078
00079 signals:
00080 void modified();
00081
00082 private:
00083 PhoneTypeCombo *mTypeCombo;
00084 KLineEdit *mNumberEdit;
00085 KABC::PhoneNumber mNumber;
00086 };
00087
00091 class PhoneEditWidget : public TQWidget
00092 {
00093 Q_OBJECT
00094 TQ_OBJECT
00095
00096 public:
00097 PhoneEditWidget( TQWidget *parent, const char *name = 0 );
00098 ~PhoneEditWidget();
00099
00100 void setPhoneNumbers( const KABC::PhoneNumber::List &list );
00101 KABC::PhoneNumber::List phoneNumbers() const;
00102
00103 void setReadOnly( bool readOnly );
00104
00105 signals:
00106 void modified();
00107
00108 protected slots:
00109 void add();
00110 void remove();
00111 void changed();
00112 void changed( int pos );
00113
00114 private:
00115 void recreateNumberWidgets();
00116
00117 KABC::PhoneNumber::List mPhoneNumberList;
00118 TQPtrList<PhoneNumberWidget> mWidgets;
00119
00120 TQPushButton *mAddButton;
00121 TQPushButton *mRemoveButton;
00122 TQVBoxLayout *mWidgetLayout;
00123
00124 bool mReadOnly;
00125 TQSignalMapper *mMapper;
00126 };
00127
00131 class PhoneTypeDialog : public KDialogBase
00132 {
00133 Q_OBJECT
00134 TQ_OBJECT
00135 public:
00136 PhoneTypeDialog( int type, TQWidget *parent );
00137
00138 int type() const;
00139
00140 private:
00141 int mType;
00142 KABC::PhoneNumber::TypeList mTypeList;
00143
00144 TQButtonGroup *mGroup;
00145 TQCheckBox *mPreferredBox;
00146 };
00147
00148 #endif
|