datamodel.cpp 2.84 KB
Newer Older
1
2
3
/*
 *  datamodel.cpp  -  calendar data model dependent functions
 *  Program:  kalarm
4
 *  Copyright © 2019-2020 David Jarvie <djarvie@kde.org>
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 */

#include "datamodel.h"

#include "akonadidatamodel.h"
#include "akonadiresource.h"
25
#include "akonadiresourcecreator.h"
26
#include "akonadicalendarupdater.h"
27
28
29
#include "eventmodel.h"
#include "resourcemodel.h"

David Jarvie's avatar
David Jarvie committed
30
31
#include <AkonadiWidgets/ControlGui>

32
33
34
35
36
namespace DataModel
{

void initialise()
{
37
38
39
    AkonadiDataModel* model = AkonadiDataModel::instance();
    Preferences::setBackend(model->dataStorageBackend());
    Preferences::self()->save();
40
41
}

42
43
44
45
void terminate()
{
}

46
47
48
49
50
void widgetNeedsDatabase(QWidget* widget)
{
    Akonadi::ControlGui::widgetNeedsAkonadi(widget);
}

51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
void reload()
{
    AkonadiDataModel::instance()->reload();
}

bool reload(Resource& resource)
{
    return AkonadiDataModel::instance()->reload(resource);
}

bool isMigrationComplete()
{
    return AkonadiDataModel::instance()->isMigrationComplete();
}

void removeDuplicateResources()
{
    AkonadiResource::removeDuplicateResources();
}

ResourceListModel* createResourceListModel(QObject* parent)
{
    return ResourceListModel::create<AkonadiDataModel>(parent);
}

ResourceFilterCheckListModel* createResourceFilterCheckListModel(QObject* parent)
{
    return ResourceFilterCheckListModel::create<AkonadiDataModel>(parent);
}

AlarmListModel* createAlarmListModel(QObject* parent)
{
    return AlarmListModel::create<AkonadiDataModel>(parent);
}

AlarmListModel* allAlarmListModel()
{
    return AlarmListModel::all<AkonadiDataModel>();
}

TemplateListModel* createTemplateListModel(QObject* parent)
{
    return TemplateListModel::create<AkonadiDataModel>(parent);
}

TemplateListModel* allTemplateListModel()
{
    return TemplateListModel::all<AkonadiDataModel>();
}

101
102
103
104
105
ResourceCreator* createResourceCreator(KAlarmCal::CalEvent::Type defaultType, QWidget* parent)
{
    return new AkonadiResourceCreator(defaultType, parent);
}

David Jarvie's avatar
David Jarvie committed
106
void updateCalendarToCurrentFormat(Resource& resource, bool ignoreKeepFormat, QObject* parent)
107
108
109
110
{
    AkonadiCalendarUpdater::updateToCurrentFormat(resource, ignoreKeepFormat, parent);
}

111
112
113
} // namespace DataModel

// vim: et sw=4: