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
00043 public:
00044 PhoneTypeCombo( TQWidget *parent );
00045 ~PhoneTypeCombo();
00046
00047 void setType( int type );
00048 int type() const;
00049
00050 signals:
00051 void modified();
00052
00053 protected slots:
00054 void selected( int );
00055 void otherSelected();
00056
00057 private:
00058 void update();
00059
00060 int mType;
00061 int mLastSelected;
00062 TQValueList<int> mTypeList;
00063 };
00064
00065 class PhoneNumberWidget : public QWidget
00066 {
00067 Q_OBJECT
00068
00069 public:
00070 PhoneNumberWidget( TQWidget *parent );
00071
00072 void setNumber( const KABC::PhoneNumber &number );
00073 KABC::PhoneNumber number() const;
00074
00075 void setReadOnly( bool readOnly );
00076
00077 signals:
00078 void modified();
00079
00080 private:
00081 PhoneTypeCombo *mTypeCombo;
00082 KLineEdit *mNumberEdit;
00083 KABC::PhoneNumber mNumber;
00084 };
00085
00089 class PhoneEditWidget : public QWidget
00090 {
00091 Q_OBJECT
00092
00093 public:
00094 PhoneEditWidget( TQWidget *parent, const char *name = 0 );
00095 ~PhoneEditWidget();
00096
00097 void setPhoneNumbers( const KABC::PhoneNumber::List &list );
00098 KABC::PhoneNumber::List phoneNumbers() const;
00099
00100 void setReadOnly( bool readOnly );
00101
00102 signals:
00103 void modified();
00104
00105 protected slots:
00106 void add();
00107 void remove();
00108 void changed();
00109 void changed( int pos );
00110
00111 private:
00112 void recreateNumberWidgets();
00113
00114 KABC::PhoneNumber::List mPhoneNumberList;
00115 TQPtrList<PhoneNumberWidget> mWidgets;
00116
00117 TQPushButton *mAddButton;
00118 TQPushButton *mRemoveButton;
00119 TQVBoxLayout *mWidgetLayout;
00120
00121 bool mReadOnly;
00122 TQSignalMapper *mMapper;
00123 };
00124
00128 class PhoneTypeDialog : public KDialogBase
00129 {
00130 Q_OBJECT
00131 public:
00132 PhoneTypeDialog( int type, TQWidget *parent );
00133
00134 int type() const;
00135
00136 private:
00137 int mType;
00138 KABC::PhoneNumber::TypeList mTypeList;
00139
00140 TQButtonGroup *mGroup;
00141 TQCheckBox *mPreferredBox;
00142 };
00143
00144 #endif
|