New Appointment -> New Task
[kdepim.git] / calendarsupport / incidencefilterproxymodel.h
blobbb85100d3875b11f63a64c431994d713b77d7759
1 /*
2 Copyright (c) 2009 KDAB
3 Author: Frank Osterfeld <osterfeld@kde.org>
5 This library is free software; you can redistribute it and/or modify it
6 under the terms of the GNU Library General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or (at your
8 option) any later version.
10 This library is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 License for more details.
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to the
17 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 02110-1301, USA.
20 #ifndef CALENDARSUPPORT_INCIDENCEFILTERPROXYMODEL_H
21 #define CALENDARSUPPORT_INCIDENCEFILTERPROXYMODEL_H
23 #include "calendarsupport_export.h"
25 #include <QSortFilterProxyModel>
27 namespace CalendarSupport {
29 class CALENDARSUPPORT_EXPORT IncidenceFilterProxyModel : public QSortFilterProxyModel
31 Q_OBJECT
32 public:
33 explicit IncidenceFilterProxyModel( QObject *parent=0 );
34 ~IncidenceFilterProxyModel();
36 bool showJournals() const;
37 void setShowJournals( bool show );
39 bool showEvents() const;
40 void setShowEvents( bool show );
42 bool showTodos() const;
43 void setShowTodos( bool show );
45 void showAll();
46 void hideAll();
48 protected:
49 /* reimp */ bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const;
51 private:
52 class Visitor;
53 friend class CalendarSupport::IncidenceFilterProxyModel::Visitor;
54 class Private;
55 Private *const d;
60 #endif