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 class QListViewItem;
00034
00035 namespace KPIM {
00036 class AddresseeLineEdit;
00037 }
00038
00039 namespace KABC {
00040 class Addressee;
00041 }
00042
00043 namespace KCal {
00044 class Incidence;
00045 }
00046
00050 class KOAttendeeEditor : public QWidget
00051 {
00052 Q_OBJECT
00053 public:
00054 KOAttendeeEditor( QWidget *parent, const char *name = 0 );
00055
00056 virtual void insertAttendee( KCal::Attendee* attendee, bool fetchFB = true ) = 0;
00057
00058 virtual void readEvent( KCal::Incidence *incidence );
00059 virtual void writeEvent( KCal::Incidence *incidence );
00060
00062 void cancelAttendeeEvent( KCal::Incidence *incidence );
00063
00064 public slots:
00065 void acceptForMe();
00066 void declineForMe();
00067
00068 signals:
00069 void updateAttendeeSummary( int count );
00070
00071 protected:
00072 void initOrganizerWidgets( QWidget *parent, QBoxLayout *layout );
00073 void initEditWidgets( QWidget *parent, QBoxLayout *layout );
00074
00080 void insertAttendeeFromAddressee( const KABC::Addressee &a, const KCal::Attendee* at=0 );
00081
00082 void fillOrganizerCombo();
00083 virtual QListViewItem* hasExampleAttendee() const = 0;
00084 bool isExampleAttendee( const KCal::Attendee* ) const;
00085 virtual KCal::Attendee* currentAttendee() const = 0;
00086 virtual void updateCurrentItem() = 0;
00087
00088 virtual void changeStatusForMe( KCal::Attendee::PartStat status ) = 0;
00089
00090 virtual bool eventFilter( QObject *, QEvent *);
00091
00092 protected slots:
00093 void addNewAttendee();
00094 void openAddressBook();
00095
00096 void setEnableAttendeeInput( bool enabled );
00097 void updateAttendeeInput();
00098 void clearAttendeeInput();
00099 void fillAttendeeInput( KCal::Attendee *a );
00100 void updateAttendee();
00101
00102 protected:
00103 KPIM::AddresseeLineEdit *mNameEdit;
00104 QString mUid;
00105 QComboBox* mRoleCombo;
00106 QCheckBox* mRsvpButton;
00107 QComboBox* mStatusCombo;
00108
00109 QHBox* mOrganizerHBox;
00110 QComboBox *mOrganizerCombo;
00111 QLabel *mOrganizerLabel;
00112
00113 QLabel* mDelegateLabel;
00114
00115 QPushButton* mAddButton;
00116 QPushButton* mRemoveButton;
00117 QPushButton* mAddressBookButton;
00118
00119 QPtrList<KCal::Attendee> mdelAttendees;
00120 QPtrList<KCal::Attendee> mnewAttendees;
00121
00122 private:
00123 bool mDisableItemUpdate;
00124 };
00125
00126 #endif
|