~ubuntu-branches/ubuntu/oneiric/kdepim/oneiric-updates

« back to all changes in this revision

Viewing changes to examples/coisceim/tripcomponentfactory.cpp

  • Committer: Package Import Robot
  • Author(s): Philip Muškovac
  • Date: 2011-06-28 19:33:24 UTC
  • mfrom: (0.2.13) (0.1.13 sid)
  • Revision ID: package-import@ubuntu.com-20110628193324-8yvjs8sdv9rdoo6c
Tags: 4:4.7.0-0ubuntu1
* New upstream release
  - update install files
  - add missing kdepim-doc package to control file
  - Fix Vcs lines
  - kontact breaks/replaces korganizer << 4:4.6.80
  - tighten the dependency of kdepim-dev on libkdepim4 to fix lintian error

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    This file is part of Akonadi.
 
3
 
 
4
    Copyright (c) 2011 Stephen Kelly <steveire@gmail.com>
 
5
 
 
6
    This program is free software; you can redistribute it and/or modify
 
7
    it under the terms of the GNU General Public License as published by
 
8
    the Free Software Foundation; either version 2 of the License, or
 
9
    (at your option) any later version.
 
10
 
 
11
    This program is distributed in the hope that it will be useful,
 
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 
14
    GNU General Public License for more details.
 
15
 
 
16
    You should have received a copy of the GNU General Public License
 
17
    along with this program; if not, write to the Free Software
 
18
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 
19
    USA.
 
20
*/
 
21
 
 
22
#include "tripcomponentfactory.h"
 
23
 
 
24
#include <Akonadi/EntityTreeModel>
 
25
#include <Akonadi/ChangeRecorder>
 
26
#include <Akonadi/ItemFetchScope>
 
27
#include <Akonadi/EntityMimeTypeFilterModel>
 
28
 
 
29
#include <KMime/Message>
 
30
 
 
31
#include <KCalCore/Todo>
 
32
 
 
33
#include "note.h"
 
34
#include "todocheckableproxymodel.h"
 
35
#include "mixedtreemodel.h"
 
36
 
 
37
Akonadi::ChangeRecorder* TripComponentFactory::createMailChangeRecorder(QObject *parent)
 
38
{
 
39
  Akonadi::ChangeRecorder* chRec = new Akonadi::ChangeRecorder(parent);
 
40
  chRec->setMimeTypeMonitored(KMime::Message::mimeType());
 
41
  chRec->itemFetchScope().fetchFullPayload(true);
 
42
  return chRec;
 
43
}
 
44
 
 
45
Akonadi::ChangeRecorder* TripComponentFactory::createNotesChangeRecorder(QObject *parent)
 
46
{
 
47
  Akonadi::ChangeRecorder* chRec = new Akonadi::ChangeRecorder(parent);
 
48
  chRec->setMimeTypeMonitored(Akonotes::Note::mimeType());
 
49
  chRec->itemFetchScope().fetchFullPayload(true);
 
50
  return chRec;
 
51
}
 
52
 
 
53
Akonadi::ChangeRecorder* TripComponentFactory::createTodoChangeRecorder(QObject *parent)
 
54
{
 
55
  Akonadi::ChangeRecorder* chRec = new Akonadi::ChangeRecorder(parent);
 
56
  chRec->setMimeTypeMonitored(KCalCore::Todo::todoMimeType());
 
57
  chRec->itemFetchScope().fetchFullPayload(true);
 
58
  return chRec;
 
59
}
 
60
 
 
61
QAbstractItemModel* TripComponentFactory::createMailModel(Akonadi::ChangeRecorder *changeRecorder)
 
62
{
 
63
  MixedTreeModel *model = new MixedTreeModel(changeRecorder);
 
64
  model->setCollectionFetchStrategy(MixedTreeModel::FetchNoCollections);
 
65
  return model;
 
66
}
 
67
 
 
68
QAbstractItemModel* TripComponentFactory::createNotesModel(Akonadi::ChangeRecorder *changeRecorder)
 
69
{
 
70
  MixedTreeModel *model = new MixedTreeModel(changeRecorder);
 
71
  model->setCollectionFetchStrategy(MixedTreeModel::FetchNoCollections);
 
72
  return model;
 
73
}
 
74
 
 
75
QAbstractItemModel* TripComponentFactory::createTodoModel(Akonadi::ChangeRecorder *changeRecorder)
 
76
{
 
77
  MixedTreeModel *model = new MixedTreeModel(changeRecorder);
 
78
  model->setCollectionFetchStrategy(MixedTreeModel::FetchNoCollections);
 
79
 
 
80
  Akonadi::EntityMimeTypeFilterModel *filterModel = new Akonadi::EntityMimeTypeFilterModel(changeRecorder);
 
81
  filterModel->addMimeTypeInclusionFilter(KCalCore::Todo::todoMimeType());
 
82
  filterModel->setHeaderGroup(MixedTreeModel::ItemListHeaders);
 
83
  filterModel->setSourceModel(model);
 
84
 
 
85
  TodoCheckableProxyModel *checkableProxy = new TodoCheckableProxyModel(model);
 
86
  checkableProxy->setSourceModel(filterModel);
 
87
 
 
88
  return checkableProxy;
 
89
}