digiKam
Loading...
Searching...
No Matches
databaseworkeriface.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 : 2012-01-18
7 * Description : database worker interface
8 *
9 * SPDX-FileCopyrightText: 2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QList>
20
21// Local includes
22
23#include "fileactionmngr.h"
25#include "iteminfo.h"
26#include "workerobject.h"
27
28namespace Digikam
29{
30
31class MetadataHub;
32
33class DatabaseWorkerInterface : public WorkerObject // clazy:exclude=ctor-missing-parent-argument
34{
35 Q_OBJECT
36
37public Q_SLOTS:
38
39 virtual void assignTags(const FileActionItemInfoList&, const QList<int>&) {};
40 virtual void removeTags(const FileActionItemInfoList&, const QList<int>&) {};
41 virtual void assignPickLabel(const FileActionItemInfoList&, int) {};
42 virtual void assignColorLabel(const FileActionItemInfoList&, int) {};
43 virtual void assignRating(const FileActionItemInfoList&, int) {};
44 virtual void editGroup(int, const ItemInfo&, const FileActionItemInfoList&) {};
45 virtual void setExifOrientation(const FileActionItemInfoList&, int) {};
47 virtual void copyAttributes(const FileActionItemInfoList&, const QStringList&) {};
48
49Q_SIGNALS:
50
52 void writeOrientationToFiles(FileActionItemInfoList infos, int orientation);
54};
55
56// ------------------------------------------------------------------------------------
57
59{
60 Q_OBJECT
61
62public:
63
65 : d(dd)
66 {
67 }
68
69public:
70
71 void assignTags(const FileActionItemInfoList& infos, const QList<int>& tagIDs) override;
72 void removeTags(const FileActionItemInfoList& infos, const QList<int>& tagIDs) override;
73 void assignPickLabel(const FileActionItemInfoList& infos, int pickId) override;
74 void assignColorLabel(const FileActionItemInfoList& infos, int colorId) override;
75 void assignRating(const FileActionItemInfoList& infos, int rating) override;
76 void editGroup(int groupAction, const ItemInfo& pick, const FileActionItemInfoList& infos) override;
77 void setExifOrientation(const FileActionItemInfoList& infos, int orientation) override;
78 void applyMetadata(const FileActionItemInfoList& infos, DisjointMetadata* hub) override;
79 void copyAttributes(const FileActionItemInfoList& infos, const QStringList& derivedPaths) override;
80
81private:
82
83 void changeTags(const FileActionItemInfoList& infos, const QList<int>& tagIDs, bool addOrRemove);
84
85private:
86
87 FileActionMngr::Private* const d = nullptr;
88};
89
90} // namespace Digikam
Definition databaseworkeriface.h:34
virtual void copyAttributes(const FileActionItemInfoList &, const QStringList &)
Definition databaseworkeriface.h:47
virtual void assignPickLabel(const FileActionItemInfoList &, int)
Definition databaseworkeriface.h:41
void writeMetadataToFiles(FileActionItemInfoList infos)
virtual void applyMetadata(const FileActionItemInfoList &, DisjointMetadata *)
Definition databaseworkeriface.h:46
virtual void assignTags(const FileActionItemInfoList &, const QList< int > &)
Definition databaseworkeriface.h:39
void writeMetadata(FileActionItemInfoList infos, int flag)
virtual void assignColorLabel(const FileActionItemInfoList &, int)
Definition databaseworkeriface.h:42
virtual void removeTags(const FileActionItemInfoList &, const QList< int > &)
Definition databaseworkeriface.h:40
virtual void setExifOrientation(const FileActionItemInfoList &, int)
Definition databaseworkeriface.h:45
virtual void editGroup(int, const ItemInfo &, const FileActionItemInfoList &)
Definition databaseworkeriface.h:44
virtual void assignRating(const FileActionItemInfoList &, int)
Definition databaseworkeriface.h:43
void writeOrientationToFiles(FileActionItemInfoList infos, int orientation)
Definition disjointmetadata.h:38
Definition fileactionimageinfolist.h:95
Definition databaseworkeriface.h:59
void editGroup(int groupAction, const ItemInfo &pick, const FileActionItemInfoList &infos) override
Definition databaseworkeriface.cpp:255
void assignTags(const FileActionItemInfoList &infos, const QList< int > &tagIDs) override
Definition databaseworkeriface.cpp:35
void applyMetadata(const FileActionItemInfoList &infos, DisjointMetadata *hub) override
Definition databaseworkeriface.cpp:332
void assignColorLabel(const FileActionItemInfoList &infos, int colorId) override
Definition databaseworkeriface.cpp:156
void removeTags(const FileActionItemInfoList &infos, const QList< int > &tagIDs) override
Definition databaseworkeriface.cpp:40
void setExifOrientation(const FileActionItemInfoList &infos, int orientation) override
Definition databaseworkeriface.cpp:299
void assignRating(const FileActionItemInfoList &infos, int rating) override
Definition databaseworkeriface.cpp:205
FileActionMngrDatabaseWorker(FileActionMngr::Private *const dd)
Definition databaseworkeriface.h:64
void copyAttributes(const FileActionItemInfoList &infos, const QStringList &derivedPaths) override
Definition databaseworkeriface.cpp:372
void assignPickLabel(const FileActionItemInfoList &infos, int pickId) override
Definition databaseworkeriface.cpp:107
Definition fileactionmngr_p.h:68
Definition iteminfo.h:68
Definition workerobject.h:35
Definition datefolderview.cpp:34