digiKam
Loading...
Searching...
No Matches
progressview.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-01-13
7 * Description : progress manager
8 *
9 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 * SPDX-FileCopyrightText: 2004 by Till Adam <adam at kde dot org>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QScrollArea>
22
23// Local includes
24
25#include "overlaywidget.h"
26#include "digikam_export.h"
27
28namespace Digikam
29{
30class ProgressItem;
31
32class TransactionItem : public DVBox
33{
34 Q_OBJECT
35
36public:
37
38 explicit TransactionItem(QWidget* const parent, ProgressItem* const item, bool first);
39 ~TransactionItem() override;
40
41 void hideHLine();
42
43 void setProgress(int progress);
44 void setLabel(const QString&);
45 void setThumbnail(const QPixmap&);
46
51 void setStatus(const QString&);
52
53 void setTotalSteps(int totalSteps);
54
55 ProgressItem* item() const;
56
58
63 void setItemComplete();
64
65public Q_SLOTS:
66
67 void slotItemCanceled();
68
69private:
70
71 class Private;
72 Private* const d = nullptr;
73};
74
75// --------------------------------------------------------------------------------
76
77class TransactionItemView : public QScrollArea
78{
79 Q_OBJECT
80
81public:
82
83 explicit TransactionItemView(QWidget* const parent = nullptr, const QString& name=QString());
84 ~TransactionItemView() override = default;
85
87
88 QSize sizeHint() const override;
89 QSize minimumSizeHint() const override;
90
91public Q_SLOTS:
92
94
95Q_SIGNALS:
96
98
99protected:
100
101 void resizeEvent(QResizeEvent* event) override;
102
103private:
104
105 DVBox* m_bigBox = nullptr;
106};
107
108// --------------------------------------------------------------------------------
109
110class DIGIKAM_EXPORT ProgressView : public OverlayWidget
111{
112 Q_OBJECT
113
114public:
115
116 explicit ProgressView(QWidget* const alignWidget, QWidget* const parent,
117 const QString& name = QString());
118 ~ProgressView() override;
119
120 void setVisible(bool b) override;
121
122public Q_SLOTS:
123
124 void slotToggleVisibility();
125
126Q_SIGNALS:
127
129
130protected Q_SLOTS:
131
132 void slotTransactionAdded(ProgressItem*);
133 void slotTransactionCompleted(ProgressItem*);
134 void slotTransactionCanceled(ProgressItem*);
135 void slotTransactionProgress(ProgressItem*, unsigned int progress);
136 void slotTransactionStatus(ProgressItem*, const QString&);
137 void slotTransactionLabel(ProgressItem*, const QString&);
138 void slotTransactionUsesBusyIndicator(ProgressItem*, bool);
139 void slotTransactionThumbnail(ProgressItem*, const QPixmap&);
140 void slotClose();
141 void slotShow();
142 void slotHide();
143
144protected:
145
146 void closeEvent(QCloseEvent*) override;
147
148private:
149
150 class Private;
151 Private* const d = nullptr;
152};
153
154} // namespace Digikam
Definition dlayoutbox.h:65
Definition overlaywidget.h:37
Definition progressmanager.h:35
Definition progressview.h:111
void visibilityChanged(bool)
Definition progressview.h:78
void slotLayoutFirstItem()
Definition progressview.cpp:113
QSize sizeHint() const override
Definition progressview.cpp:92
TransactionItem * addTransactionItem(ProgressItem *item, bool first)
Definition progressview.cpp:62
~TransactionItemView() override=default
void resizeEvent(QResizeEvent *event) override
Definition progressview.cpp:71
QSize minimumSizeHint() const override
Definition progressview.cpp:97
Definition progressview.h:33
void setProgress(int progress)
Definition progressview.cpp:244
void setStatus(const QString &)
Definition progressview.cpp:280
void hideHLine()
Definition progressview.cpp:239
void setLabel(const QString &)
Definition progressview.cpp:254
~TransactionItem() override
Definition progressview.cpp:229
void setThumbnail(const QPixmap &)
Definition progressview.cpp:275
ProgressItem * item() const
Definition progressview.cpp:234
void addSubTransaction(ProgressItem *const item)
Definition progressview.cpp:300
void slotItemCanceled()
Definition progressview.cpp:292
void setItemComplete()
Definition progressview.cpp:249
void setTotalSteps(int totalSteps)
Definition progressview.cpp:287
Definition datefolderview.cpp:34