File indexing completed on 2025-03-09 03:58:51
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-02-06 0007 * Description : Thread actions task. 0008 * 0009 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * SPDX-FileCopyrightText: 2012 by Pankaj Kumar <me at panks dot me> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_BQM_TASK_H 0017 #define DIGIKAM_BQM_TASK_H 0018 0019 // Qt includes 0020 0021 #include <QUrl> 0022 0023 // Local includes 0024 0025 #include "actions.h" 0026 #include "queuesettings.h" 0027 #include "batchtoolutils.h" 0028 #include "actionthreadbase.h" 0029 0030 namespace Digikam 0031 { 0032 0033 class Task : public ActionJob 0034 { 0035 Q_OBJECT 0036 0037 public: 0038 0039 Task(); 0040 ~Task() override; 0041 0042 void setSettings(const QueueSettings& settings); 0043 void setItem(const AssignedBatchTools& tools); 0044 0045 Q_SIGNALS: 0046 0047 void signalStarting(const Digikam::ActionData& ad); 0048 void signalFinished(const Digikam::ActionData& ad); 0049 0050 public Q_SLOTS: 0051 0052 void slotCancel(); 0053 0054 protected: 0055 0056 void run() override; 0057 0058 private: 0059 0060 void removeTempFiles(const QList<QUrl>& tmpList); 0061 void emitActionData(ActionData::ActionStatus st, 0062 const QString& mess = QString(), 0063 const QUrl& dest = QUrl(), 0064 bool noWrite = false); 0065 0066 private: 0067 0068 // Disable 0069 explicit Task(QObject*) = delete; 0070 0071 private: 0072 0073 class Private; 0074 Private* const d; 0075 }; 0076 0077 } // namespace Digikam 0078 0079 #endif // DIGIKAM_BQM_TASK_H