digiKam
Loading...
Searching...
No Matches
workflowmanager.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-12-17
7 * Description : workflow manager.
8 *
9 * SPDX-FileCopyrightText: 2012-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 <QList>
20#include <QObject>
21#include <QString>
22#include <QStringList>
23
24// Local includes
25
26#include "queuesettings.h"
27#include "batchtoolutils.h"
28
29namespace Digikam
30{
31
36{
37public:
38
39 Workflow() = default;
40 ~Workflow() = default;
41
42public:
43
44 QString title;
45 QString desc;
46
49};
50
51// -----------------------------------------------------------------------------------------------------------
52
53class WorkflowManager : public QObject
54{
55 Q_OBJECT
56
57public:
58
59 static WorkflowManager* instance();
60
61public:
62
67 bool load(QStringList& failed);
68
72 bool save();
73 void clear();
74
75 void insert(const Workflow& q);
76 void remove(const Workflow& q);
77
78 Workflow findByTitle(const QString& title) const;
79 QList<Workflow> queueSettingsList() const;
80
81Q_SIGNALS:
82
83 void signalQueueSettingsAdded(const QString&);
84 void signalQueueSettingsRemoved(const QString&);
85
86private:
87
88 void insertPrivate(const Workflow& q);
89 void removePrivate(const Workflow& q);
90
91private:
92
93 // Disable
95 WorkflowManager(QObject*) = delete;
96 ~WorkflowManager() override;
97
98private:
99
101
102 class Private;
103 Private* const d = nullptr;
104};
105
106} // namespace Digikam
Definition queuesettings.h:34
Definition workflowmanager.h:54
void signalQueueSettingsRemoved(const QString &)
void signalQueueSettingsAdded(const QString &)
Workflow findByTitle(const QString &title) const
Definition workflowmanager.cpp:149
void remove(const Workflow &q)
Definition workflowmanager.cpp:97
friend class WorkflowManagerCreator
Definition workflowmanager.h:100
bool save()
Definition workflowmanager.cpp:182
void clear()
Definition workflowmanager.cpp:164
QList< Workflow > queueSettingsList() const
Definition workflowmanager.cpp:177
void insert(const Workflow &q)
Definition workflowmanager.cpp:86
bool load(QStringList &failed)
Definition workflowmanager.cpp:343
static WorkflowManager * instance()
Definition workflowmanager.cpp:65
Definition workflowmanager.h:36
Workflow()=default
~Workflow()=default
QueueSettings qSettings
Definition workflowmanager.h:47
BatchSetList aTools
Definition workflowmanager.h:48
QString desc
Definition workflowmanager.h:45
QString title
Definition workflowmanager.h:44
Definition datefolderview.cpp:34
QList< BatchToolSet > BatchSetList
Definition batchtoolutils.h:72