Changeset View
Changeset View
Standalone View
Standalone View
agents/unifiedmailboxagent/unifiedmailbox.h
Show All 18 Lines | |||||
19 | 19 | | |||
20 | #ifndef UNIFIEDMAILBOX_H | 20 | #ifndef UNIFIEDMAILBOX_H | ||
21 | #define UNIFIEDMAILBOX_H | 21 | #define UNIFIEDMAILBOX_H | ||
22 | 22 | | |||
23 | #include <QString> | 23 | #include <QString> | ||
24 | #include <QMetaType> | 24 | #include <QMetaType> | ||
25 | #include <QSet> | 25 | #include <QSet> | ||
26 | 26 | | |||
27 | #include "utils.h" | | |||
28 | | ||||
29 | class KConfigGroup; | 27 | class KConfigGroup; | ||
30 | class UnifiedMailboxManager; | 28 | class UnifiedMailboxManager; | ||
31 | 29 | | |||
32 | class UnifiedMailbox | 30 | class UnifiedMailbox | ||
33 | { | 31 | { | ||
34 | friend class UnifiedMailboxManager; | 32 | friend class UnifiedMailboxManager; | ||
35 | public: | 33 | public: | ||
36 | UnifiedMailbox() = default; | 34 | UnifiedMailbox() = default; | ||
37 | UnifiedMailbox(UnifiedMailbox &&) = default; | 35 | UnifiedMailbox(UnifiedMailbox &&) = default; | ||
38 | UnifiedMailbox &operator=(UnifiedMailbox &&) = default; | 36 | UnifiedMailbox &operator=(UnifiedMailbox &&) = default; | ||
39 | 37 | | |||
40 | UnifiedMailbox(const UnifiedMailbox &) = delete; | 38 | UnifiedMailbox(const UnifiedMailbox &) = delete; | ||
41 | UnifiedMailbox &operator=(const UnifiedMailbox &) = delete; | 39 | UnifiedMailbox &operator=(const UnifiedMailbox &) = delete; | ||
42 | 40 | | |||
43 | /** Compares two boxes by their ID **/ | 41 | /** Compares two boxes by their ID **/ | ||
44 | bool operator==(const UnifiedMailbox &other) const; | 42 | bool operator==(const UnifiedMailbox &other) const; | ||
45 | 43 | | |||
46 | void save(KConfigGroup &group) const; | 44 | void save(KConfigGroup &group) const; | ||
47 | void load(const KConfigGroup &group); | 45 | void load(const KConfigGroup &group); | ||
48 | 46 | | |||
49 | bool isSpecial() const; | 47 | bool isSpecial() const; | ||
50 | 48 | | |||
51 | stdx::optional<qint64> collectionId() const; | 49 | qint64 collectionId() const; | ||
52 | void setCollectionId(qint64 id); | 50 | void setCollectionId(qint64 id); | ||
53 | 51 | | |||
54 | QString id() const; | 52 | QString id() const; | ||
55 | void setId(const QString &id); | 53 | void setId(const QString &id); | ||
56 | 54 | | |||
57 | QString name() const; | 55 | QString name() const; | ||
58 | void setName(const QString &name); | 56 | void setName(const QString &name); | ||
59 | 57 | | |||
60 | QString icon() const; | 58 | QString icon() const; | ||
61 | void setIcon(const QString &icon); | 59 | void setIcon(const QString &icon); | ||
62 | 60 | | |||
63 | void addSourceCollection(qint64 source); | 61 | void addSourceCollection(qint64 source); | ||
64 | void removeSourceCollection(qint64 source); | 62 | void removeSourceCollection(qint64 source); | ||
65 | void setSourceCollections(const QSet<qint64> &sources); | 63 | void setSourceCollections(const QSet<qint64> &sources); | ||
66 | QSet<qint64> sourceCollections() const; | 64 | QSet<qint64> sourceCollections() const; | ||
67 | 65 | | |||
68 | private: | 66 | private: | ||
69 | void attachManager(UnifiedMailboxManager *manager); | 67 | void attachManager(UnifiedMailboxManager *manager); | ||
70 | 68 | | |||
71 | stdx::optional<qint64> mCollectionId; | 69 | qint64 mCollectionId = -1; | ||
72 | QString mId; | 70 | QString mId; | ||
73 | QString mName; | 71 | QString mName; | ||
74 | QString mIcon; | 72 | QString mIcon; | ||
75 | QSet<qint64> mSources; | 73 | QSet<qint64> mSources; | ||
76 | 74 | | |||
77 | UnifiedMailboxManager *mManager = nullptr; | 75 | UnifiedMailboxManager *mManager = nullptr; | ||
78 | }; | 76 | }; | ||
79 | 77 | | |||
80 | Q_DECLARE_METATYPE(UnifiedMailbox *) | 78 | Q_DECLARE_METATYPE(UnifiedMailbox *) | ||
81 | 79 | | |||
82 | #endif | 80 | #endif |