korganizer
koeditordetails.h
Go to the documentation of this file.00001 /* 00002 This file is part of KOrganizer. 00003 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 00004 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License along 00017 with this program; if not, write to the Free Software Foundation, Inc., 00018 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 00020 As a special exception, permission is given to link this program 00021 with any edition of Qt, and distribute the resulting executable, 00022 without including the source code for Qt in the source distribution. 00023 */ 00024 #ifndef KOEDITORDETAILS_H 00025 #define KOEDITORDETAILS_H 00026 00027 #include "customlistviewitem.h" 00028 #include "koattendeeeditor.h" 00029 00030 #include <kcal/attendee.h> 00031 00032 #include <k3listview.h> 00033 #include <kvbox.h> 00034 00035 #include <QDragEnterEvent> 00036 #include <QLabel> 00037 #include <QDragMoveEvent> 00038 #include <QEvent> 00039 #include <QDropEvent> 00040 #include <QList> 00041 00042 class QPushButton; 00043 class QCheckBox; 00044 class QLabel; 00045 class KComboBox; 00046 class KHBox; 00047 class KOEditorFreeBusy; 00048 00049 namespace KCal { 00050 class Attendee; 00051 class Incidence; 00052 } 00053 using namespace KCal; 00054 00055 namespace KPIM { 00056 class AddresseeLineEdit; 00057 } 00058 00059 typedef CustomListViewItem<KCal::Attendee *> AttendeeListItem; 00060 00065 class KOAttendeeListView : public K3ListView 00066 { 00067 Q_OBJECT 00068 public: 00069 KOAttendeeListView( QWidget *parent=0 ); 00070 virtual ~KOAttendeeListView(); 00071 virtual void addAttendee( const QString &newAttendee ); 00072 00073 public slots: 00074 virtual void contentsDragEnterEvent( QDragEnterEvent *e ); 00075 virtual void dragEnterEvent( QDragEnterEvent *e ); 00076 virtual void contentsDropEvent( QDropEvent *e ); 00077 virtual void dropEvent( QDropEvent *e ); 00078 virtual void contentsDragMoveEvent( QDragMoveEvent *e ); 00079 00080 signals: 00081 void dropped( Attendee * ); 00082 }; 00083 00084 class KOEditorDetails : public KOAttendeeEditor 00085 { 00086 Q_OBJECT 00087 public: 00088 explicit KOEditorDetails( int spacing = 8, QWidget *parent = 0 ); 00089 virtual ~KOEditorDetails(); 00090 00092 void setDefaults(); 00093 00095 void readIncidence( Incidence * ); 00096 00098 void writeIncidence( Incidence * ); 00099 00101 bool validateInput(); 00102 00104 bool hasAttendees(); 00105 00106 void insertAttendee( Attendee *, bool goodEmailAddress=true ); 00107 00108 protected slots: 00109 void removeAttendee(); 00110 void slotInsertAttendee( Attendee *a ); 00111 00112 protected: 00113 void changeStatusForMe( Attendee::PartStat status ); 00114 00115 KCal::Attendee *currentAttendee() const; 00116 /* reimpl */ 00117 Q3ListViewItem* hasExampleAttendee() const; 00118 void updateCurrentItem(); 00119 00120 private: 00121 bool mDisableItemUpdate; 00122 00123 K3ListView *mListView; 00124 // KOEditorFreeBusy *mFreeBusy; 00125 }; 00126 00127 #endif
KDE 4.2 API Reference