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 <qdict.h>
00028 #include <qtooltip.h>
00029
00030 #include <libkcal/incidence.h>
00031
00032 #include "koeventview.h"
00033 #include "customlistviewitem.h"
00034
00035 using namespace KCal;
00036
00037 typedef CustomListViewItem<Incidence *> KOListViewItem;
00038
00039 class KOListView;
00040
00041 class KOListViewToolTip : public QToolTip
00042 {
00043 public:
00044 KOListViewToolTip (QWidget* parent, KListView* lv );
00045
00046 protected:
00047 void maybeTip( const QPoint & pos);
00048
00049 private:
00050 KListView* eventlist;
00051 };
00052
00053
00058 class ListItemVisitor : public Incidence::Visitor
00059 {
00060 public:
00061 ListItemVisitor(KOListViewItem *);
00062 ~ListItemVisitor();
00063
00064 bool visit(Event *);
00065 bool visit(Todo *);
00066 bool visit(Journal *);
00067
00068 private:
00069 KOListViewItem *mItem;
00070 };
00071
00082 class KOListView : public KOEventView
00083 {
00084 Q_OBJECT
00085 public:
00086 KOListView(Calendar *calendar, QWidget *parent = 0,
00087 const char *name = 0);
00088 ~KOListView();
00089
00090 virtual int maxDatesHint();
00091 virtual int currentDateCount();
00092 virtual Incidence::List selectedIncidences();
00093 virtual DateList selectedDates();
00094
00095 void showDates(bool show);
00096
00097 virtual void printPreview(CalPrinter *calPrinter,
00098 const QDate &, const QDate &);
00099
00100 void readSettings(KConfig *config);
00101 void writeSettings(KConfig *config);
00102
00103 void clear();
00104
00105 public slots:
00106 virtual void updateView();
00107 virtual void showDates( const QDate &start, const QDate &end );
00108 virtual void showIncidences( const Incidence::List &incidenceList );
00109
00110 void clearSelection();
00111
00112 void showDates();
00113 void hideDates();
00114
00115 void changeIncidenceDisplay(Incidence *, int);
00116
00117 void defaultItemAction(QListViewItem *item);
00118 void popupMenu(QListViewItem *item,const QPoint &,int);
00119
00120 protected slots:
00121 void processSelectionChange();
00122
00123 protected:
00124 void addIncidences( const Incidence::List & );
00125 void addIncidence(Incidence *);
00126 KOListViewItem *getItemForIncidence(Incidence *incidence);
00127
00128 private:
00129 KListView *mListView;
00130 KOEventPopupMenu *mPopupMenu;
00131 KOListViewItem *mActiveItem;
00132 QDict<Incidence> mUidDict;
00133 DateList mSelectedDates;
00134 };
00135
00136 #endif
This file is part of the documentation for korganizer Library Version 3.3.2.