digiKam
Loading...
Searching...
No Matches
queuepool.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 : 2009-02-13
7 * Description : tabbed queue items list.
8 *
9 * SPDX-FileCopyrightText: 2009-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 <QTabBar>
21#include <QWidget>
22#include <QDragMoveEvent>
23#include <QDropEvent>
24#include <QTabWidget>
25
26// Local includes
27
28#include "iteminfoset.h"
29
30namespace Digikam
31{
32
33class DRawDecoding;
34class AssignedBatchTools;
35class QueueSettings;
36class QueueListView;
37
38
39class QueuePoolBar : public QTabBar
40{
41 Q_OBJECT
42
43public:
44
45 explicit QueuePoolBar(QWidget* const parent);
46 ~QueuePoolBar() override = default;
47
48Q_SIGNALS:
49
50 void signalTestCanDecode(const QDragMoveEvent*, bool&);
51
52private:
53
54 void dragEnterEvent(QDragEnterEvent* e) override;
55 void dragMoveEvent(QDragMoveEvent* e) override;
56};
57
58// --------------------------------------------------------------------------------------
59
60class QueuePool : public QTabWidget
61{
62 Q_OBJECT
63
64public:
65
66 explicit QueuePool(QWidget* const parent);
67 ~QueuePool() override = default;
68
70 QString currentTitle() const;
71 QueueListView* findQueueByIndex(int index) const;
72 QueuePoolItemsList itemsList(int index, int type) const;
73 int totalPendingItems() const;
74 int totalPendingTasks() const;
75 QMap<int, QString> queuesMap() const;
76 QString queueTitle(int index) const;
77 bool customRenamingRulesAreValid() const;
79 bool saveWorkflow() const;
80
81 void setBusy(bool b);
82 void setItemBusy(qlonglong id);
83
87 void applySettings();
88
89Q_SIGNALS:
90
95
96public Q_SLOTS:
97
98 void removeTab(int index);
99
100 void slotAddQueue();
102 void slotClearList();
104 void slotRemoveItemsDone();
105 void slotAddItems(const ItemInfoList&, int queueId);
108 void slotQueueSelected(int);
109
110protected:
111
112 void keyPressEvent(QKeyEvent* event) override;
113
114private:
115
116 QueueListView* findQueueByItemId(qlonglong id) const;
117
118private Q_SLOTS:
119
120 void slotFileChanged(const QString&);
121 void slotCloseQueueRequest(int);
122 void slotTestCanDecode(const QDragMoveEvent*, bool&);
123};
124
125} // namespace Digikam
Definition batchtoolutils.h:81
Definition iteminfolist.h:37
Definition queuelist.h:93
Definition queuepool.h:40
~QueuePoolBar() override=default
void signalTestCanDecode(const QDragMoveEvent *, bool &)
Definition queuepool.h:61
void signalQueuePoolChanged()
void slotQueueSelected(int)
Definition queuepool.cpp:395
void keyPressEvent(QKeyEvent *event) override
Definition queuepool.cpp:132
void signalQueueSelected(int id, const QueueSettings &, const AssignedBatchTools &)
QueueListView * currentQueue() const
Definition queuepool.cpp:159
bool customRenamingRulesAreValid() const
Definition queuepool.cpp:475
QString queueTitle(int index) const
Definition queuepool.cpp:211
void removeTab(int index)
Definition queuepool.cpp:418
void slotAssignedToolsChanged(const AssignedBatchTools &)
Definition queuepool.cpp:385
QueueListView * findQueueByIndex(int index) const
Definition queuepool.cpp:194
QueuePoolItemsList itemsList(int index, int type) const
Definition queuepool.cpp:241
void slotRemoveItemsDone()
Definition queuepool.cpp:365
void signalQueueContentsChanged()
~QueuePool() override=default
void slotAddQueue()
Definition queuepool.cpp:219
bool saveWorkflow() const
Definition queuepool.cpp:322
void slotClearList()
Definition queuepool.cpp:345
void slotRemoveSelectedItems()
Definition queuepool.cpp:355
void setBusy(bool b)
Definition queuepool.cpp:144
void setItemBusy(qlonglong id)
Definition queuepool.cpp:184
void slotSettingsChanged(const QueueSettings &)
Definition queuepool.cpp:465
void slotAddItems(const ItemInfoList &, int queueId)
Definition queuepool.cpp:375
void signalItemSelectionChanged()
int totalPendingTasks() const
Definition queuepool.cpp:279
QMap< int, QString > queuesMap() const
Definition queuepool.cpp:199
QString currentTitle() const
Definition queuepool.cpp:164
void applySettings()
Definition queuepool.cpp:551
int totalPendingItems() const
Definition queuepool.cpp:262
void slotRemoveCurrentQueue()
Definition queuepool.cpp:296
bool assignedBatchToolsListsAreValid() const
Definition queuepool.cpp:507
Definition queuesettings.h:34
Definition datefolderview.cpp:34
QList< ItemInfoSet > QueuePoolItemsList
Definition iteminfoset.h:54