digiKam
Loading...
Searching...
No Matches
itemalbummodel.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-03-08
7 * Description : Qt item model for database entries, listing done with database job
8 *
9 * SPDX-FileCopyrightText: 2009-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 * SPDX-FileCopyrightText: 2015 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QList>
21
22// Local includes
23
24#include "itemthumbnailmodel.h"
25#include "album.h"
26#include "itemlisterrecord.h"
27
28namespace Digikam
29{
30
31class ImageChangeset;
32class CollectionImageChangeset;
33class SearchChangeset;
34class Album;
35
37{
38 Q_OBJECT
39
40public:
41
42 explicit ItemAlbumModel(QWidget* const parent);
43 ~ItemAlbumModel() override;
44
45 QList<Album*> currentAlbums() const;
46
47 bool hasScheduledRefresh() const;
48 bool isRecursingAlbums() const;
49 bool isRecursingTags() const;
51
52public Q_SLOTS:
53
59 void openAlbum(const QList<Album*>& albums);
60
64 void refresh();
65
66 void setRecurseAlbums(bool recursiveListing);
67 void setRecurseTags(bool recursiveListing);
68 void setListOnlyAvailableImages(bool onlyAvailable);
69
70 void setSpecialTagListing(const QString& specialListing);
71/*
72Q_SIGNALS:
73
74 void listedAlbumChanged(QList<Album*> album);
75*/
76protected Q_SLOTS:
77
80
81 void slotResult();
82 void slotData(const QList<ItemListerRecord>& records);
83
85 void slotSearchChange(const SearchChangeset& changeset);
86
87 void slotAlbumAdded(Album* album);
88 void slotAlbumDeleted(Album* album);
89 void slotAlbumRenamed(Album* album);
90 void slotAlbumsCleared();
91
92 void incrementalRefresh();
93
94 void slotImageChange(const ImageChangeset& changeset) override;
95 void slotImageTagChange(const ImageTagChangeset& changeset) override;
96
97protected:
98
99 void startListJob(const QList<Album*>& albums);
100
101private:
102
103 // Disable
104 ItemAlbumModel(const ItemAlbumModel&) = delete;
105 ItemAlbumModel& operator=(const ItemAlbumModel&) = delete;
106
107private:
108
109 class Private;
110 Private* const d = nullptr;
111};
112
113} // namespace Digikam
Abstract base class for all album types.
Definition album.h:57
Definition coredbchangesets.h:142
Definition coredbchangesets.h:38
Definition coredbchangesets.h:70
Definition itemalbummodel.h:37
QList< Album * > currentAlbums() const
Definition itemalbummodel.cpp:108
bool hasScheduledRefresh() const
Definition itemalbummodel.cpp:242
void slotData(const QList< ItemListerRecord > &records)
Definition itemalbummodel.cpp:424
void slotImageTagChange(const ImageTagChangeset &changeset) override
Definition itemalbummodel.cpp:576
void scheduleIncrementalRefresh()
Definition itemalbummodel.cpp:247
void slotNextIncrementalRefresh()
Definition itemalbummodel.cpp:255
void slotCollectionImageChange(const CollectionImageChangeset &changeset)
Definition itemalbummodel.cpp:630
void openAlbum(const QList< Album * > &albums)
Definition itemalbummodel.cpp:164
void slotAlbumsCleared()
Definition itemalbummodel.cpp:789
bool isRecursingAlbums() const
Definition itemalbummodel.cpp:140
void slotAlbumRenamed(Album *album)
Definition itemalbummodel.cpp:779
void setRecurseTags(bool recursiveListing)
Definition itemalbummodel.cpp:122
bool isListingOnlyAvailableImages() const
Definition itemalbummodel.cpp:150
void slotAlbumDeleted(Album *album)
Definition itemalbummodel.cpp:762
void slotAlbumAdded(Album *album)
Definition itemalbummodel.cpp:758
~ItemAlbumModel() override
Definition itemalbummodel.cpp:97
void startListJob(const QList< Album * > &albums)
Definition itemalbummodel.cpp:267
void slotResult()
Definition itemalbummodel.cpp:397
void slotImageChange(const ImageChangeset &changeset) override
Definition itemalbummodel.cpp:494
void setSpecialTagListing(const QString &specialListing)
Definition itemalbummodel.cpp:155
void setRecurseAlbums(bool recursiveListing)
Definition itemalbummodel.cpp:113
bool isRecursingTags() const
Definition itemalbummodel.cpp:145
void slotSearchChange(const SearchChangeset &changeset)
Definition itemalbummodel.cpp:733
void incrementalRefresh()
Definition itemalbummodel.cpp:219
void setListOnlyAvailableImages(bool onlyAvailable)
Definition itemalbummodel.cpp:131
void refresh()
Definition itemalbummodel.cpp:190
Definition itemthumbnailmodel.h:31
Definition coredbchangesets.h:362
@ Album
Definition coredbfields.h:48
Definition datefolderview.cpp:34