digiKam
Loading...
Searching...
No Matches
queuemgrwindow.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 : 2008-11-21
7 * Description : Batch Queue Manager GUI
8 *
9 * SPDX-FileCopyrightText: 2008-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 <QMap>
20#include <QString>
21#include <QCloseEvent>
22#include <QUrl>
23
24// Local includes
25
26#include "iteminfo.h"
27#include "setup.h"
28#include "dhistoryview.h"
29#include "dxmlguiwindow.h"
30
31class QAction;
32
33namespace Digikam
34{
35
36class ActionData;
37class BatchToolsFactory;
38class AssignedBatchTools;
39class QueueListViewItem;
40class QueuePool;
41
43{
44 Q_OBJECT
45
46public:
47
48 ~QueueMgrWindow() override;
49
51 static bool queueManagerWindowCreated();
52
53 void addNewQueue();
54 void loadItemInfos(const ItemInfoList& list, int queueId);
56 void loadItemInfosToNewQueue(const ItemInfoList& list);
57 void refreshView();
58 void applySettings();
59
63 QMap<int, QString> queuesMap() const;
64
65 bool isBusy() const;
66 int currentQueueId() const;
67
68 bool queryClose() override;
69
70 DInfoInterface* infoIface(DPluginAction* const) override;
71
72 QueuePool* queuePool() const;
73
74Q_SIGNALS:
75
77 void signalBqmIsBusy(bool);
78
79protected:
80
81 void moveEvent(QMoveEvent* e) override;
82
83public Q_SLOTS:
84
85 void slotRun();
86 void slotRunAll();
87 void slotStop();
88 void slotAssignQueueSettings(const QString&);
89 void slotUpdateQueueSettings(const QString&);
90
91private:
92
93 void customizedFullScreenMode(bool set) override;
94 void closeEvent(QCloseEvent* e) override;
95 void setupActions();
96 void setupConnections();
97 void setupUserArea();
98 void setupStatusBar();
99 void readSettings();
100 void writeSettings();
101 void refreshStatusBar();
102 void populateToolsList();
103 void setup(Setup::Page page);
104 void addHistoryMessage(QueueListViewItem* const cItem,
105 const QString& msg,
107
108 bool checkTargetAlbum(int queueId);
109 void busy(bool busy);
110 void processOneQueue();
111 void processingAborted();
112
114
115private Q_SLOTS:
116
117 void slotSetup() override;
118 void slotComponentsInfo() override;
119 void slotDBStat() override;
120 void slotOnlineVersionCheck() override;
121 void slotAction(const Digikam::ActionData&);
122 void slotHistoryEntryClicked(int, qlonglong);
123 void slotAssignedToolsChanged(const AssignedBatchTools&);
124 void slotQueueContentsChanged();
125 void slotItemSelectionChanged();
126 void slotQueueProcessed();
127 void slotSaveWorkflow();
128
129private:
130
131 // Disable
132 QueueMgrWindow(QWidget*) = delete;
133
134private:
135
136 class Private;
137 Private* const d = nullptr;
138
139 static QueueMgrWindow* m_instance;
140};
141
142} // namespace Digikam
Definition actiondata.h:27
Definition batchtoolutils.h:81
EntryType
Definition dhistoryview.h:38
Definition dinfointerface.h:48
Definition dpluginaction.h:30
Definition dxmlguiwindow.h:84
Definition iteminfolist.h:37
Definition queuelist.h:39
Definition queuemgrwindow_p.h:98
Definition queuemgrwindow.h:43
void slotAssignQueueSettings(const QString &)
Definition queuemgrwindow.cpp:1036
void slotStop()
Definition queuemgrwindow.cpp:997
bool isBusy() const
Definition queuemgrwindow.cpp:102
void loadItemInfosToNewQueue(const ItemInfoList &list)
Definition queuemgrwindow.cpp:592
void loadItemInfosToCurrentQueue(const ItemInfoList &list)
Definition queuemgrwindow.cpp:582
void slotUpdateQueueSettings(const QString &)
Definition queuemgrwindow.cpp:1057
int currentQueueId() const
Definition queuemgrwindow.cpp:567
static QueueMgrWindow * queueManagerWindow()
Definition queuemgrwindow.cpp:22
void loadItemInfos(const ItemInfoList &list, int queueId)
Definition queuemgrwindow.cpp:572
DInfoInterface * infoIface(DPluginAction *const) override
Definition queuemgrwindow.cpp:1092
static bool queueManagerWindowCreated()
Definition queuemgrwindow.cpp:32
void slotRun()
Definition queuemgrwindow.cpp:637
void applySettings()
Definition queuemgrwindow.cpp:412
bool queryClose() override
Definition queuemgrwindow.cpp:541
void addNewQueue()
Definition queuemgrwindow.cpp:562
QueuePool * queuePool() const
Definition queuemgrwindow.cpp:1099
void moveEvent(QMoveEvent *e) override
Definition queuemgrwindow.cpp:885
void refreshView()
Definition queuemgrwindow.cpp:382
void slotRunAll()
Definition queuemgrwindow.cpp:686
~QueueMgrWindow() override
Definition queuemgrwindow.cpp:86
QMap< int, QString > queuesMap() const
Definition queuemgrwindow.cpp:92
Definition queuepool.h:61
Page
Definition setup.h:36
Definition datefolderview.cpp:34