~ubuntu-branches/ubuntu/utopic/kde-workspace/utopic-proposed

« back to all changes in this revision

Viewing changes to plasma/generic/dataengines/calendar/akonadi/calendarmodel.h

  • Committer: Bazaar Package Importer
  • Author(s): Michał Zając
  • Date: 2011-07-09 08:31:15 UTC
  • Revision ID: james.westby@ubuntu.com-20110709083115-ohyxn6z93mily9fc
Tags: upstream-4.6.90
Import upstream version 4.6.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
  Copyright (c) 2009 KDAB
 
3
  Author: Frank Osterfeld <osterfeld@kde.org>
 
4
 
 
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.
 
9
 
 
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.
 
14
 
 
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.
 
19
*/
 
20
 
 
21
#ifndef CALENDARSUPPORT_CALENDARMODEL_H
 
22
#define CALENDARSUPPORT_CALENDARMODEL_H
 
23
 
 
24
#include <Akonadi/EntityTreeModel>
 
25
 
 
26
namespace CalendarSupport {
 
27
 
 
28
class CalendarModel : public Akonadi::EntityTreeModel
 
29
{
 
30
  Q_OBJECT
 
31
  public:
 
32
    enum ItemColumn {
 
33
      Summary=0,
 
34
      Type,
 
35
      DateTimeStart,
 
36
      DateTimeEnd,
 
37
      DateTimeDue,
 
38
      PrimaryDate,
 
39
      Priority,
 
40
      PercentComplete,
 
41
      ItemColumnCount
 
42
    };
 
43
 
 
44
    enum CollectionColumn {
 
45
      CollectionTitle=0,
 
46
      CollectionColumnCount
 
47
    };
 
48
 
 
49
    enum Role {
 
50
      SortRole=Akonadi::EntityTreeModel::UserRole,
 
51
      RecursRole
 
52
    };
 
53
 
 
54
    explicit CalendarModel( Akonadi::ChangeRecorder *monitor, QObject *parent = 0 );
 
55
    ~CalendarModel();
 
56
 
 
57
    /* reimp */
 
58
    QVariant entityData( const Akonadi::Item &item, int column, int role=Qt::DisplayRole ) const;
 
59
 
 
60
    /* reimp */
 
61
    QVariant entityData( const Akonadi::Collection &collection, int column,
 
62
                         int role=Qt::DisplayRole ) const;
 
63
 
 
64
    /* reimp */
 
65
    int entityColumnCount( EntityTreeModel::HeaderGroup headerSet ) const;
 
66
 
 
67
    /* reimp */
 
68
    QVariant entityHeaderData( int section, Qt::Orientation orientation, int role,
 
69
                               EntityTreeModel::HeaderGroup headerSet ) const;
 
70
 
 
71
  private:
 
72
    class Private;
 
73
    Private *const d;
 
74
};
 
75
 
 
76
}
 
77
 
 
78
#endif
 
79