digiKam
Loading...
Searching...
No Matches
iojobsthread.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 : 2015-06-15
7 * Description : IO Jobs thread for file system jobs
8 *
9 * SPDX-FileCopyrightText: 2015 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
10 * SPDX-FileCopyrightText: 2018 by Maik Qualmann <metzpinguin at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Local includes
19
20#include "actionthreadbase.h"
21#include "digikam_export.h"
22#include "dtrashiteminfo.h"
23
24namespace Digikam
25{
26
27class IOJob;
28class IOJobData;
29
30class DIGIKAM_GUI_EXPORT IOJobsThread : public ActionThreadBase
31{
32 Q_OBJECT
33
34public:
35
36 explicit IOJobsThread(QObject* const parent);
37 ~IOJobsThread() override;
38
43 void copyOrMove(IOJobData* const data);
44
49 void deleteFiles(IOJobData* const data);
50
55 void renameFile(IOJobData* const data);
56
61 void listDTrashItems(const QString& collectionPath);
62
67 void restoreDTrashItems(IOJobData* const data);
68
73 void emptyDTrashItems(IOJobData* const data);
74
79 void buildTrashCounters();
80
85 bool isCanceled() const;
86
91 bool hasErrors() const;
92
97 QStringList& errorsList() const;
98
103 IOJobData* jobData() const;
104
105public Q_SLOTS:
106
110 void slotCancel();
111
112Q_SIGNALS:
113
115
116 void signalOneProccessed(const QUrl& url);
117 void signalRenameFailed(const QUrl& url);
118
119 void collectionTrashItemInfo(const DTrashItemInfo& trashItemInfo);
120 void signalTrashCountersMap(const QMap<QString, int>& counterMap);
121
122private:
123
128 void connectOneJob(IOJob* const j);
129
130private Q_SLOTS:
131
136 void slotOneJobFinished();
137
142 void slotError(const QString& errString);
143
144private:
145
146 class Private;
147 Private* const d = nullptr;
148};
149
150} // namespace Digikam
Definition actionthreadbase.h:100
Definition dtrashiteminfo.h:26
Definition iojobdata.h:35
Definition iojob.h:34
Definition iojobsthread.h:31
void collectionTrashItemInfo(const DTrashItemInfo &trashItemInfo)
void signalRenameFailed(const QUrl &url)
void signalOneProccessed(const QUrl &url)
void signalTrashCountersMap(const QMap< QString, int > &counterMap)
Definition datefolderview.cpp:34