addresseeeditorwidget.h
00001 #ifndef ADDRESSEEEDITORWIDGET_H
00002 #define ADDRESSEEEDITORWIDGET_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <qwidget.h>
00028 #include <qdatetime.h>
00029
00030 #include <kdialogbase.h>
00031 #include <kjanuswidget.h>
00032 #include <kabc/addressee.h>
00033
00034 class QCheckBox;
00035 class QTabWidget;
00036 class QTextEdit;
00037 class QSpinBox;
00038
00039 class KLineEdit;
00040 class KComboBox;
00041 class KDateEdit;
00042 class KSqueezedTextLabel;
00043
00044 class EmailEditWidget;
00045 class AddressEditWidget;
00046 class PhoneEditWidget;
00047
00048 namespace KPIM
00049 {
00050 class CategorySelectDialog;
00051 class CategoryEditDialog;
00052 }
00053
00054 namespace KABC { class AddressBook; }
00055
00056 class AddresseeEditorWidget : public QWidget
00057 {
00058 Q_OBJECT
00059
00060 public:
00061 AddresseeEditorWidget( QWidget *parent, const char *name = 0 );
00062 ~AddresseeEditorWidget();
00063
00064 void setAddressee(const KABC::Addressee &a);
00065 const KABC::Addressee &addressee();
00066
00067 void load();
00068 void save();
00069
00070 bool dirty();
00071
00072 signals:
00073 void modified();
00074
00075 protected slots:
00076 void textChanged(const QString &);
00077 void pageChanged(QWidget *wdg);
00078
00083 void emitModified();
00084 void dateChanged(QDate);
00085 void invalidDate();
00086 void nameTextChanged(const QString &);
00087 void nameBoxChanged();
00088 void nameButtonClicked();
00089 void categoryButtonClicked();
00090 void formattedNameChanged(const QString &);
00091
00094 void categoriesSelected(const QStringList &);
00095
00098 void editCategories();
00099
00100 private:
00101 void initGUI();
00102 void setupTab1();
00103 void setupTab2();
00104 void setupTab3();
00105
00106 KABC::Addressee mAddressee;
00107 bool mDirty;
00108
00109
00110 KPIM::CategorySelectDialog *mCategoryDialog;
00111 KPIM::CategoryEditDialog *mCategoryEditDialog;
00112 QTabWidget *mTabWidget;
00113
00114
00115 KLineEdit *mNameEdit;
00116 KLineEdit *mRoleEdit;
00117 KLineEdit *mOrgEdit;
00118 KComboBox *mFormattedNameBox;
00119 EmailEditWidget *mEmailWidget;
00120 AddressEditWidget *mAddressEditWidget;
00121 PhoneEditWidget *mPhoneEditWidget;
00122 KLineEdit *mURLEdit;
00123 KLineEdit *mIMAddressEdit;
00124 KLineEdit *mCategoryEdit;
00125 KSqueezedTextLabel *mNameLabel;
00126
00127
00128 KLineEdit *mDepartmentEdit;
00129 KLineEdit *mOfficeEdit;
00130 KLineEdit *mProfessionEdit;
00131 KLineEdit *mManagerEdit;
00132 KLineEdit *mAssistantEdit;
00133 KLineEdit *mNicknameEdit;
00134 KLineEdit *mSpouseEdit;
00135 KDateEdit *mBirthdayPicker;
00136 KDateEdit *mAnniversaryPicker;
00137 QTextEdit *mNoteEdit;
00138 QSpinBox *mTimeZoneSpin;
00139 QSpinBox *mGeoLat;
00140 QSpinBox *mGeoLon;
00141 };
00142
00143 #endif
This file is part of the documentation for kdelibs Version 3.1.5.