27
27
#define KOLISTVIEW_H
29
29
#include "koeventview.h"
30
#include "customlistviewitem.h"
32
#include <KCal/Incidence>
31
#include <KCalCore/Incidence>
33
#include <calendarviews/eventviews/list/listview.h>
39
typedef CustomListViewItem<Incidence *> KOListViewItem;
38
using namespace KCalCore;
40
namespace CalendarSupport {
44
class KOListViewToolTip : public QToolTip
47
KOListViewToolTip ( QWidget *parent, K3ListView *lv );
50
void maybeTip( const QPoint &pos );
53
K3ListView *eventlist;
58
This class provides a multi-column list view of events. It can
59
display events from one particular day or several days, it doesn't
60
matter. To use a view that only handles one day at a time, use
63
@short multi-column list view of various events.
64
@author Preston Brown <pbrown@kde.org>
65
@see KOBaseView, KODayListView
46
class KOEventPopupMenu;
48
namespace EventViews {
67
52
class KOListView : public KOEventView
71
explicit KOListView( Calendar *calendar, QWidget *parent = 0 );
56
explicit KOListView( CalendarSupport::Calendar *calendar,
57
QWidget *parent = 0, bool nonInteractive = false );
74
virtual int maxDatesHint();
75
virtual int currentDateCount();
76
virtual Incidence::List selectedIncidences();
60
virtual int maxDatesHint() const;
61
virtual int currentDateCount() const;
62
virtual Akonadi::Item::List selectedIncidences();
77
63
virtual DateList selectedIncidenceDates();
79
65
void showDates( bool show );
67
// Shows all incidences of the calendar
81
70
void readSettings( KConfig *config );
82
71
void writeSettings( KConfig *config );
85
virtual KOrg::CalPrinterBase::PrintType printType();
74
QSize sizeHint() const;
76
void setCalendar( CalendarSupport::Calendar *cal );
77
void setIncidenceChanger( CalendarSupport::IncidenceChanger *changer );
79
virtual KOrg::CalPrinterBase::PrintType printType() const;
88
82
virtual void updateView();
89
virtual void showDates( const QDate &start, const QDate &end );
90
virtual void showIncidences( const Incidence::List &incidenceList, const QDate &date );
83
virtual void showDates( const QDate &start, const QDate &end, const QDate &preferredMonth = QDate() );
84
virtual void showIncidences( const Akonadi::Item::List &incidenceList, const QDate &date );
92
86
void clearSelection();
97
void changeIncidenceDisplay( Incidence *, int );
99
void defaultItemAction( Q3ListViewItem *item );
100
void popupMenu( Q3ListViewItem *item, const QPoint &, int );
103
void processSelectionChange();
106
void addIncidences( const Incidence::List &incidenceList, const QDate & );
107
void addIncidence( Incidence *incidence, const QDate &date );
108
KOListViewItem *getItemForIncidence( Incidence *incidence );
91
void changeIncidenceDisplay( const Akonadi::Item &, int );
93
void defaultItemAction( const QModelIndex & );
94
void defaultItemAction( const Akonadi::Item::Id id );
96
void popupMenu( const QPoint & );
111
class ListItemVisitor;
112
K3ListView *mListView;
113
99
KOEventPopupMenu *mPopupMenu;
114
KOListViewItem *mActiveItem;
115
QList<QString> mUidList;
116
QHash<QString, QDate> mDateList;
119
DateList mSelectedDates;
100
EventViews::ListView *mListView;