digiKam
Loading...
Searching...
No Matches
metadatasynchronizer.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 : 2007-22-01
7 * Description : batch sync pictures metadata with database
8 *
9 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QObject>
20
21// Local includes
22
23#include "album.h"
24#include "iteminfo.h"
25#include "maintenancetool.h"
26
27namespace Digikam
28{
29
31{
32 Q_OBJECT
33
34public:
35
41
42public:
43
48 explicit MetadataSynchronizer(const AlbumList& list = AlbumList(),
50 ProgressItem* const parent = nullptr);
51
55 explicit MetadataSynchronizer(const ItemInfoList& list,
57 ProgressItem* const parent = nullptr);
58
59 void setTagsOnly(bool value);
60
61 ~MetadataSynchronizer() override;
62
63 void setUseMultiCoreCPU(bool b) override;
64
65Q_SIGNALS:
66
67 void signalRemovePending(const ItemInfo& info);
68
69private Q_SLOTS:
70
71 void slotStart() override;
72 void slotCancel() override;
73 void slotDone() override;
74
75 void slotParseAlbums();
76 void slotAlbumParsed(const ItemInfoList&);
77 void slotAdvance(const ItemInfo&);
78 void slotOneAlbumIsComplete();
79
80private:
81
82 void init(SyncDirection direction);
83 void parseList();
84 void parsePicture();
85 void processOneAlbum();
86
87private:
88
89 class Private;
90 Private* const d = nullptr;
91};
92
93} // namespace Digikam
Definition iteminfolist.h:37
Definition iteminfo.h:68
Definition maintenancetool.h:31
Definition metadatasynchronizer.h:31
~MetadataSynchronizer() override
Definition metadatasynchronizer.cpp:134
void signalRemovePending(const ItemInfo &info)
SyncDirection
Definition metadatasynchronizer.h:37
@ ReadFromFileToDatabase
Definition metadatasynchronizer.h:39
@ WriteFromDatabaseToFile
Definition metadatasynchronizer.h:38
void setUseMultiCoreCPU(bool b) override
Definition metadatasynchronizer.cpp:109
void setTagsOnly(bool value)
Definition metadatasynchronizer.cpp:89
Definition progressmanager.h:35
ProgressItem * parent() const
Definition progressmanager.cpp:283
qulonglong value
Definition itemviewutilities.cpp:585
Definition datefolderview.cpp:34
QList< Album * > AlbumList
Definition album.h:41