diff options
author | Michael Bohlender <michael.bohlender@kdemail.net> | 2015-10-16 17:11:22 +0200 |
---|---|---|
committer | Michael Bohlender <michael.bohlender@kdemail.net> | 2015-10-16 17:12:02 +0200 |
commit | 3b455f3b2e557fa4f1ca69c042309612acf7fe59 (patch) | |
tree | 71fefae0257e8f706ec5b1b81d429d98697cfa2a /framework/mail/maillistmodel.cpp | |
parent | ac6cbedf135a3b31596af83bf75843f1fabdf1fb (diff) | |
download | kube-3b455f3b2e557fa4f1ca69c042309612acf7fe59.tar.gz kube-3b455f3b2e557fa4f1ca69c042309612acf7fe59.zip |
initial mailplugin with maillistcontroller, model and view
Diffstat (limited to 'framework/mail/maillistmodel.cpp')
-rw-r--r-- | framework/mail/maillistmodel.cpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/framework/mail/maillistmodel.cpp b/framework/mail/maillistmodel.cpp new file mode 100644 index 00000000..14219ee2 --- /dev/null +++ b/framework/mail/maillistmodel.cpp | |||
@@ -0,0 +1,73 @@ | |||
1 | #include "maillistmodel.h" | ||
2 | |||
3 | #include <QDateTime> | ||
4 | |||
5 | MailListModel::MailListModel(QObject *parent) : QAbstractListModel(parent), m_msgs() | ||
6 | { | ||
7 | |||
8 | } | ||
9 | |||
10 | MailListModel::~MailListModel() | ||
11 | { | ||
12 | |||
13 | } | ||
14 | |||
15 | QHash< int, QByteArray > MailListModel::roleNames() const | ||
16 | { | ||
17 | QHash<int, QByteArray> roles; | ||
18 | |||
19 | roles[Subject] = "subject"; | ||
20 | |||
21 | return roles; | ||
22 | } | ||
23 | |||
24 | |||
25 | QVariant MailListModel::data(const QModelIndex &index, int role) const | ||
26 | { | ||
27 | if (!index.isValid()) { | ||
28 | return QVariant(); | ||
29 | } | ||
30 | |||
31 | if (index.row() >= m_msgs.count() || index.row() < 0) { | ||
32 | return QVariant(); | ||
33 | } | ||
34 | switch (role) { | ||
35 | case Subject: | ||
36 | return m_msgs.at(index.row()); | ||
37 | } | ||
38 | return QVariant(); | ||
39 | } | ||
40 | |||
41 | int MailListModel::rowCount(const QModelIndex &parent) const | ||
42 | { | ||
43 | return m_msgs.size(); | ||
44 | } | ||
45 | |||
46 | bool MailListModel::addMails(const QStringList &items) | ||
47 | { | ||
48 | beginInsertRows(QModelIndex(), rowCount(), rowCount() + items.size() - 1); | ||
49 | |||
50 | m_msgs += items; | ||
51 | |||
52 | endInsertRows(); | ||
53 | |||
54 | return true; | ||
55 | } | ||
56 | |||
57 | void MailListModel::clearMails() | ||
58 | { | ||
59 | if (!m_msgs.isEmpty()) { | ||
60 | beginResetModel(); | ||
61 | m_msgs.clear(); | ||
62 | endResetModel(); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | void MailListModel::runQuery(const QString& query) | ||
67 | { | ||
68 | clearMails(); | ||
69 | QStringList itemlist; | ||
70 | itemlist << "I feel tiny" << "Big News!" << "[FUN] lets do things"; | ||
71 | addMails(itemlist); | ||
72 | } | ||
73 | |||