korganizer
kolistview.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _KOLISTVIEW_H
00027 #define _KOLISTVIEW_H
00028
00029 #include <qdict.h>
00030 #include <qmap.h>
00031 #include <qtooltip.h>
00032
00033 #include <libkcal/incidence.h>
00034
00035 #include "koeventview.h"
00036 #include "customlistviewitem.h"
00037
00038 using namespace KCal;
00039
00040 typedef CustomListViewItem<Incidence *> KOListViewItem;
00041
00042 class KOListView;
00043
00044 class KOListViewToolTip : public QToolTip
00045 {
00046 public:
00047 KOListViewToolTip (QWidget* parent, Calendar *calendar, KListView* lv );
00048
00049 protected:
00050 void maybeTip( const QPoint & pos);
00051
00052 private:
00053 Calendar *mCalendar;
00054 KListView* eventlist;
00055 };
00056
00057
00068 class KOListView : public KOEventView
00069 {
00070 Q_OBJECT
00071 public:
00072 KOListView(Calendar *calendar, QWidget *parent = 0,
00073 const char *name = 0);
00074 ~KOListView();
00075
00076 virtual int maxDatesHint();
00077 virtual int currentDateCount();
00078 virtual Incidence::List selectedIncidences();
00079 virtual DateList selectedIncidenceDates();
00080
00081 void showDates(bool show);
00082
00083 void readSettings(KConfig *config);
00084 void writeSettings(KConfig *config);
00085
00086 void clear();
00087
00088 public slots:
00089 virtual void updateView();
00090 virtual void showDates( const QDate &start, const QDate &end );
00091 virtual void showIncidences( const Incidence::List &incidenceList, const QDate &date );
00092
00093 void clearSelection();
00094
00095 void showDates();
00096 void hideDates();
00097
00098 void changeIncidenceDisplay(Incidence *, int);
00099
00100 void defaultItemAction(QListViewItem *item);
00101 void popupMenu(QListViewItem *item,const QPoint &,int);
00102
00103 protected slots:
00104 void processSelectionChange();
00105
00106 protected:
00107 void addIncidences(const Incidence::List &, const QDate &date);
00108 void addIncidence(Incidence *, const QDate &date);
00109 KOListViewItem *getItemForIncidence(Incidence *incidence);
00110
00111 private:
00112 class ListItemVisitor;
00113 KListView *mListView;
00114 KOEventPopupMenu *mPopupMenu;
00115 KOListViewItem *mActiveItem;
00116 QDict<Incidence> mUidDict;
00117 QMap<QString, QDate>mDateList;
00118 DateList mSelectedDates;
00119 };
00120
00121 #endif
|