Changeset View
Changeset View
Standalone View
Standalone View
src/imagetimemodel.cpp
Show All 22 Lines | |||||
23 | #include "types.h" | 23 | #include "types.h" | ||
24 | #include "roles.h" | 24 | #include "roles.h" | ||
25 | 25 | | |||
26 | #include <kio/copyjob.h> | 26 | #include <kio/copyjob.h> | ||
27 | #include <kio/jobuidelegate.h> | 27 | #include <kio/jobuidelegate.h> | ||
28 | 28 | | |||
29 | ImageTimeModel::ImageTimeModel(QObject* parent) | 29 | ImageTimeModel::ImageTimeModel(QObject* parent) | ||
30 | : QAbstractListModel(parent) | 30 | : QAbstractListModel(parent) | ||
31 | , m_group(ImageTimeModel::Day) | 31 | , m_group(Groups::TimeGroup::Day) | ||
32 | { | 32 | { | ||
33 | connect(ImageStorage::instance(), SIGNAL(storageModified()), this, SLOT(slotPopulate())); | 33 | connect(ImageStorage::instance(), SIGNAL(storageModified()), this, SLOT(slotPopulate())); | ||
34 | } | 34 | } | ||
35 | 35 | | |||
36 | void ImageTimeModel::slotPopulate() | 36 | void ImageTimeModel::slotPopulate() | ||
37 | { | 37 | { | ||
38 | beginResetModel(); | 38 | beginResetModel(); | ||
39 | auto tg = static_cast<ImageStorage::TimeGroup>(m_group); | 39 | auto tg = static_cast<Groups::TimeGroup>(m_group); | ||
40 | m_times = ImageStorage::instance()->timeGroups(tg); | 40 | m_times = ImageStorage::instance()->timeGroups(tg); | ||
41 | endResetModel(); | 41 | endResetModel(); | ||
42 | } | 42 | } | ||
43 | 43 | | |||
44 | QHash<int, QByteArray> ImageTimeModel::roleNames() const | 44 | QHash<int, QByteArray> ImageTimeModel::roleNames() const | ||
45 | { | 45 | { | ||
46 | auto hash = QAbstractItemModel::roleNames(); | 46 | auto hash = QAbstractItemModel::roleNames(); | ||
47 | hash.insert( Roles::FilesRole, "files"); | 47 | hash.insert( Roles::FilesRole, "files"); | ||
Show All 15 Lines | 58 | { | |||
63 | QByteArray key = m_times.at(index.row()).first; | 63 | QByteArray key = m_times.at(index.row()).first; | ||
64 | QString display = m_times.at(index.row()).second; | 64 | QString display = m_times.at(index.row()).second; | ||
65 | 65 | | |||
66 | switch (role) { | 66 | switch (role) { | ||
67 | case Qt::DisplayRole: | 67 | case Qt::DisplayRole: | ||
68 | return display; | 68 | return display; | ||
69 | 69 | | |||
70 | case Roles::FilesRole: { | 70 | case Roles::FilesRole: { | ||
71 | auto tg = static_cast<ImageStorage::TimeGroup>(m_group); | 71 | auto tg = static_cast<Groups::TimeGroup>(m_group); | ||
72 | return ImageStorage::instance()->imagesForTime(key, tg); | 72 | return ImageStorage::instance()->imagesForTime(key, tg); | ||
73 | } | 73 | } | ||
74 | 74 | | |||
75 | case Roles::FileCountRole: { | 75 | case Roles::FileCountRole: { | ||
76 | auto tg = static_cast<ImageStorage::TimeGroup>(m_group); | 76 | auto tg = static_cast<Groups::TimeGroup>(m_group); | ||
77 | return ImageStorage::instance()->imagesForTime(key, tg).size(); | 77 | return ImageStorage::instance()->imagesForTime(key, tg).size(); | ||
78 | } | 78 | } | ||
79 | 79 | | |||
80 | case Roles::ImageUrlRole: { | 80 | case Roles::ImageUrlRole: { | ||
81 | auto tg = static_cast<ImageStorage::TimeGroup>(m_group); | 81 | auto tg = static_cast<Groups::TimeGroup>(m_group); | ||
82 | return ImageStorage::instance()->imageForTime(key, tg); | 82 | return ImageStorage::instance()->imageForTime(key, tg); | ||
83 | } | 83 | } | ||
84 | 84 | | |||
85 | case Roles::DateRole: { | 85 | case Roles::DateRole: { | ||
86 | auto tg = static_cast<ImageStorage::TimeGroup>(m_group); | 86 | auto tg = static_cast<Groups::TimeGroup>(m_group); | ||
87 | return ImageStorage::instance()->dateForKey(key, tg); | 87 | return ImageStorage::instance()->dateForKey(key, tg); | ||
88 | } | 88 | } | ||
89 | 89 | | |||
90 | case Roles::ItemTypeRole: { | 90 | case Roles::ItemTypeRole: { | ||
91 | return Types::Album; | 91 | return Types::Album; | ||
92 | } | 92 | } | ||
93 | } | 93 | } | ||
94 | 94 | | |||
95 | return QVariant(); | 95 | return QVariant(); | ||
96 | 96 | | |||
97 | } | 97 | } | ||
98 | 98 | | |||
99 | int ImageTimeModel::rowCount(const QModelIndex& parent) const | 99 | int ImageTimeModel::rowCount(const QModelIndex& parent) const | ||
100 | { | 100 | { | ||
101 | if (parent.isValid()) { | 101 | if (parent.isValid()) { | ||
102 | return 0; | 102 | return 0; | ||
103 | } | 103 | } | ||
104 | 104 | | |||
105 | return m_times.size(); | 105 | return m_times.size(); | ||
106 | } | 106 | } | ||
107 | 107 | | |||
108 | ImageTimeModel::TimeGroup ImageTimeModel::group() const | 108 | Groups::TimeGroup ImageTimeModel::group() const | ||
109 | { | 109 | { | ||
110 | return m_group; | 110 | return m_group; | ||
111 | } | 111 | } | ||
112 | 112 | | |||
113 | void ImageTimeModel::setGroup(ImageTimeModel::TimeGroup group) | 113 | void ImageTimeModel::setGroup(Groups::TimeGroup group) | ||
114 | { | 114 | { | ||
115 | beginResetModel(); | 115 | beginResetModel(); | ||
116 | m_group = group; | 116 | m_group = group; | ||
117 | 117 | | |||
118 | auto tg = static_cast<ImageStorage::TimeGroup>(m_group); | 118 | auto tg = static_cast<Groups::TimeGroup>(m_group); | ||
119 | m_times = ImageStorage::instance()->timeGroups(tg); | 119 | m_times = ImageStorage::instance()->timeGroups(tg); | ||
120 | endResetModel(); | 120 | endResetModel(); | ||
121 | 121 | | |||
122 | emit groupChanged(); | 122 | emit groupChanged(); | ||
123 | } | 123 | } |