00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef _KOEDITORDETAILS_H
00024
#define _KOEDITORDETAILS_H
00025
00026
#include <qframe.h>
00027
#include <qlabel.h>
00028
#include <qcheckbox.h>
00029
#include <qpushbutton.h>
00030
#include <qgroupbox.h>
00031
#include <qlineedit.h>
00032
#include <qcombobox.h>
00033
#include <qmultilineedit.h>
00034
#include <klistview.h>
00035
#include <qradiobutton.h>
00036
#include <qptrlist.h>
00037
00038
#include <kapplication.h>
00039
00040
#include <libkcal/event.h>
00041
00042
#include "ktimeedit.h"
00043
#include "customlistviewitem.h"
00044
00045
class KDateEdit;
00046
class KOEditorGantt;
00047
00048
using namespace KCal;
00049
00050
typedef CustomListViewItem<Attendee *> AttendeeListItem;
00051
00052
00058 class KOAttendeeListView :
public KListView
00059 {
00060 Q_OBJECT
00061
public:
00062
KOAttendeeListView (QWidget *parent=0,
const char *name=0);
00063
virtual ~KOAttendeeListView();
00064
virtual void addAttendee( QString newAttendee );
00065
public slots:
00066
virtual void contentsDragEnterEvent( QDragEnterEvent *e );
00067
virtual void dragEnterEvent( QDragEnterEvent *e );
00068
virtual void contentsDropEvent( QDropEvent *e );
00069
virtual void dropEvent( QDropEvent *e );
00070
virtual void contentsDragMoveEvent(QDragMoveEvent *e);
00071 signals:
00072
void dropped(Attendee*);
00073 };
00074
00075
00076
class KOEditorDetails :
public QWidget
00077 {
00078 Q_OBJECT
00079
public:
00080 KOEditorDetails (
int spacing = 8,QWidget* parent = 0,
const char* name = 0);
00081
virtual ~KOEditorDetails();
00082
00084
void setDefaults();
00086
void readEvent(Incidence *);
00088
void writeEvent(Incidence *);
00089
00091
void cancelAttendeeEvent(Incidence *);
00093
bool validateInput();
00094
00096
void setGanttWidget( KOEditorGantt* );
00097
00098
public slots:
00099
void insertAttendee(Attendee *);
00100
00101
protected slots:
00102
void addNewAttendee();
00103
void removeAttendee();
00104
void openAddressBook();
00105
void updateAttendeeInput();
00106
void clearAttendeeInput();
00107
void fillAttendeeInput(AttendeeListItem *);
00108
void updateAttendeeItem();
00109
void setEnabledAttendeeInput(
bool);
00110
00111
private:
00112
bool mDisableItemUpdate;
00113
00114 QLineEdit *mNameEdit;
00115 QLineEdit *mUidEdit;
00116 QLineEdit *mEmailEdit;
00117 KListView *mListView;
00118 QComboBox* mRoleCombo;
00119 QCheckBox* mRsvpButton;
00120 QComboBox* mStatusCombo;
00121 QLabel *mOrganizerLabel;
00122
00123 QPushButton* mAddButton;
00124 QPushButton* mRemoveButton;
00125 QPushButton* mAddressBookButton;
00126
00127 QPtrList<Attendee> mdelAttendees;
00128
00129 KOEditorGantt* mGantt;
00130 };
00131
00132
#endif