digiKam
Loading...
Searching...
No Matches
databasetask.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 : 2017-01-29
7 * Description : Thread actions task for database cleanup.
8 *
9 * SPDX-FileCopyrightText: 2017-2018 by Mario Frank <mario dot frank at uni minus potsdam 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 "actionthreadbase.h"
24#include "identity.h"
25
26namespace Digikam
27{
28
29class LoadingDescription;
30class MaintenanceData;
31
32class DatabaseTask : public ActionJob
33{
34 Q_OBJECT
35
36public:
37
48
49public:
50
51 explicit DatabaseTask();
52 ~DatabaseTask() override;
53
54 void setMode(Mode mode);
55 void setMaintenanceData(MaintenanceData* const data = nullptr);
56
57 void computeDatabaseJunk(bool thumbsDb = false,
58 bool facesDb = false,
59 bool similarityDb = false);
60
61Q_SIGNALS:
62
64 void signalFinished(bool done, bool errorFree);
65
66 void signalData(const QList<qlonglong>& staleImageIds,
67 const QList<int>& staleThumbIds,
68 const QList<Identity>& staleIdentities,
69 const QList<qlonglong>& staleSimilarityImageIds);
70
74 void signalAddItemsToProcess(int count);
75
76protected:
77
78 void run() override;
79
80private:
81
82 // Disable
83 DatabaseTask(QObject*) = delete;
84
85private:
86
87 class Private;
88 Private* const d = nullptr;
89};
90
91} // namespace Digikam
Definition actionthreadbase.h:36
Definition databasetask.h:33
void setMaintenanceData(MaintenanceData *const data=nullptr)
Definition databasetask.cpp:82
void run() override
Definition databasetask.cpp:87
void signalAddItemsToProcess(int count)
void computeDatabaseJunk(bool thumbsDb=false, bool facesDb=false, bool similarityDb=false)
Definition databasetask.cpp:70
void signalData(const QList< qlonglong > &staleImageIds, const QList< int > &staleThumbIds, const QList< Identity > &staleIdentities, const QList< qlonglong > &staleSimilarityImageIds)
void signalFinished(bool done, bool errorFree)
DatabaseTask()
Definition databasetask.cpp:58
Mode
Definition databasetask.h:39
@ ShrinkDatabases
Definition databasetask.h:46
@ CleanRecognitionDb
Definition databasetask.h:44
@ CleanCoreDb
Definition databasetask.h:42
@ CleanSimilarityDb
Definition databasetask.h:45
@ ComputeDatabaseJunk
Definition databasetask.h:41
@ Unknown
Definition databasetask.h:40
@ CleanThumbsDb
Definition databasetask.h:43
~DatabaseTask() override
Definition databasetask.cpp:64
void setMode(Mode mode)
Definition databasetask.cpp:77
Definition maintenancedata.h:32
Definition datefolderview.cpp:34