2
This file is part of KOrganizer.
4
Copyright (c) 1999 Preston Brown <pbrown@kde.org>
5
Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
6
Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2 of the License, or
11
(at your option) any later version.
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
18
You should have received a copy of the GNU General Public License along
19
with this program; if not, write to the Free Software Foundation, Inc.,
20
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
As a special exception, permission is given to link this program
23
with any edition of Qt, and distribute the resulting executable,
24
without including the source code for Qt in the source distribution.
26
#ifndef CALENDARVIEWS_LISTVIEW_H
27
#define CALENDARVIEWS_LISTVIEW_H
29
#include "eventview.h"
30
#include "customlistviewitem.h"
32
#include <KCalCore/Incidence>
39
namespace CalendarSupport {
43
typedef CustomListViewItem<Akonadi::Item::Id> ListViewItem;
47
This class provides a multi-column list view of events. It can
48
display events from one particular day or several days, it doesn't
49
matter. To use a view that only handles one day at a time, use
52
@short multi-column list view of various events.
53
@author Preston Brown <pbrown@kde.org>
54
@see KOBaseView, KODayListView
57
namespace EventViews {
61
class EVENTVIEWS_EXPORT ListView : public EventView
65
explicit ListView( CalendarSupport::Calendar *calendar,
66
QWidget *parent = 0, bool nonInteractive = false );
69
virtual int currentDateCount() const;
70
virtual Akonadi::Item::List selectedIncidences() const;
71
virtual KCalCore::DateList selectedIncidenceDates() const;
73
void showDates( bool show );
75
// Shows all incidences of the calendar
78
void readSettings( KConfig *config );
79
void writeSettings( KConfig *config );
82
QSize sizeHint() const;
85
virtual void updateView();
86
virtual void showDates( const QDate &start, const QDate &end, const QDate &preferredMonth = QDate() );
87
virtual void showIncidences( const Akonadi::Item::List &incidenceList, const QDate &date );
89
void clearSelection();
94
void changeIncidenceDisplay( const Akonadi::Item &, int );
96
void defaultItemAction( const QModelIndex & );
97
void defaultItemAction( const Akonadi::Item::Id id );
99
void popupMenu( const QPoint & );
102
void showNewEventPopupSignal();
103
void showIncidencePopupSignal( const Akonadi::Item &, const QDate & );
106
void processSelectionChange();