kolistview.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _KOLISTVIEW_H
00025 #define _KOLISTVIEW_H
00026
00027 #include <qlistview.h>
00028 #include <qmap.h>
00029 #include <qdict.h>
00030 #include <qtooltip.h>
00031
00032 #include <klistview.h>
00033
00034 #include <libkcal/incidence.h>
00035
00036 #include "koprefs.h"
00037 #include "koeventview.h"
00038 #include "customlistviewitem.h"
00039
00040 using namespace KCal;
00041
00042 typedef CustomListViewItem<Incidence *> KOListViewItem;
00043
00044 class KOListView;
00045
00046 class KOListViewToolTip : public QToolTip
00047 {
00048 public:
00049 KOListViewToolTip (QWidget* parent, KListView* lv );
00050
00051 protected:
00052 void maybeTip( const QPoint & pos);
00053
00054 private:
00055 KListView* eventlist;
00056 };
00057
00058
00063 class ListItemVisitor : public Incidence::Visitor
00064 {
00065 public:
00066 ListItemVisitor(KOListViewItem *);
00067 ~ListItemVisitor();
00068
00069 bool visit(Event *);
00070 bool visit(Todo *);
00071 bool visit(Journal *);
00072
00073 private:
00074 KOListViewItem *mItem;
00075 };
00076
00087 class KOListView : public KOEventView
00088 {
00089 Q_OBJECT
00090 public:
00091 KOListView(Calendar *calendar, QWidget *parent = 0,
00092 const char *name = 0);
00093 ~KOListView();
00094
00095 virtual int maxDatesHint();
00096 virtual int currentDateCount();
00097 virtual Incidence::List selectedIncidences();
00098 virtual DateList selectedDates();
00099
00100 void showDates(bool show);
00101
00102 virtual void printPreview(CalPrinter *calPrinter,
00103 const QDate &, const QDate &);
00104
00105 void readSettings(KConfig *config);
00106 void writeSettings(KConfig *config);
00107
00108 void clear();
00109
00110 public slots:
00111 virtual void updateView();
00112 virtual void showDates( const QDate &start, const QDate &end );
00113 virtual void showEvents( const Event::List & );
00114 void showIncidences( const Incidence::List &eventList );
00115
00116 void clearSelection();
00117
00118 void showDates();
00119 void hideDates();
00120
00121 void changeEventDisplay(Event *, int);
00122
00123 void defaultItemAction(QListViewItem *item);
00124 void popupMenu(QListViewItem *item,const QPoint &,int);
00125
00126 protected slots:
00127 void processSelectionChange();
00128
00129 protected:
00130 void addEvents( const Event::List & );
00131 void addTodos( const Todo::List & );
00132 void addIncidences( const Incidence::List & );
00133 void addIncidence(Incidence *);
00134 KOListViewItem *getItemForEvent(Event *event);
00135
00136 private:
00137 KListView *mListView;
00138 KOEventPopupMenu *mPopupMenu;
00139 KOListViewItem *mActiveItem;
00140 QDict<Incidence> mUidDict;
00141 };
00142
00143 #endif
This file is part of the documentation for korganizer Library Version 3.2.2.