korganizer
koattendeeeditor.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KOATTENDEEEDITOR_H
00022 #define KOATTENDEEEDITOR_H
00023
00024 #include <qwidget.h>
00025 #include <libkcal/attendee.h>
00026
00027 class QBoxLayout;
00028 class QComboBox;
00029 class QCheckBox;
00030 class QLabel;
00031 class QPushButton;
00032 class QHBox;
00033
00034 namespace KPIM {
00035 class AddresseeLineEdit;
00036 }
00037
00038 namespace KABC {
00039 class Addressee;
00040 }
00041
00042 namespace KCal {
00043 class Incidence;
00044 }
00045
00049 class KOAttendeeEditor : public QWidget
00050 {
00051 Q_OBJECT
00052 public:
00053 KOAttendeeEditor( QWidget *parent, const char *name = 0 );
00054
00055 virtual void insertAttendee( KCal::Attendee* attendee, bool fetchFB = true ) = 0;
00056
00057 virtual void readEvent( KCal::Incidence *incidence );
00058 virtual void writeEvent( KCal::Incidence *incidence );
00059
00061 void cancelAttendeeEvent( KCal::Incidence *incidence );
00062
00063 public slots:
00064 void acceptForMe();
00065 void declineForMe();
00066
00067 signals:
00068 void updateAttendeeSummary( int count );
00069
00070 protected:
00071 void initOrganizerWidgets( QWidget *parent, QBoxLayout *layout );
00072 void initEditWidgets( QWidget *parent, QBoxLayout *layout );
00073
00079 void insertAttendeeFromAddressee( const KABC::Addressee &a, const KCal::Attendee* at=0 );
00080
00081 void fillOrganizerCombo();
00082
00083 virtual KCal::Attendee* currentAttendee() const = 0;
00084 virtual void updateCurrentItem() = 0;
00085
00086 virtual void changeStatusForMe( KCal::Attendee::PartStat status ) = 0;
00087
00088 virtual bool eventFilter( QObject *, QEvent *);
00089
00090 protected slots:
00091 void addNewAttendee();
00092 void openAddressBook();
00093
00094 void setEnableAttendeeInput( bool enabled );
00095 void updateAttendeeInput();
00096 void clearAttendeeInput();
00097 void fillAttendeeInput( KCal::Attendee *a );
00098 void updateAttendee();
00099
00100 protected:
00101 KPIM::AddresseeLineEdit *mNameEdit;
00102 QString mUid;
00103 QComboBox* mRoleCombo;
00104 QCheckBox* mRsvpButton;
00105 QComboBox* mStatusCombo;
00106
00107 QHBox* mOrganizerHBox;
00108 QComboBox *mOrganizerCombo;
00109 QLabel *mOrganizerLabel;
00110
00111 QLabel* mDelegateLabel;
00112
00113 QPushButton* mAddButton;
00114 QPushButton* mRemoveButton;
00115 QPushButton* mAddressBookButton;
00116
00117 QPtrList<KCal::Attendee> mdelAttendees;
00118 QPtrList<KCal::Attendee> mnewAttendees;
00119
00120 private:
00121 bool mDisableItemUpdate;
00122 };
00123
00124 #endif
|