Krita Source Code Documentation
Loading...
Searching...
No Matches
KisProgressWidget Class Reference

#include <kis_progress_widget.h>

+ Inheritance diagram for KisProgressWidget:

Public Slots

void cancel ()
 
void correctVisibility (int progressValue)
 

Signals

void sigCancellationRequested ()
 

Public Member Functions

void attachUpdater (KoProgressUpdater *updater) override
 
void detachUpdater (KoProgressUpdater *updater) override
 
 KisProgressWidget (QWidget *parent=0)
 
KoProgressProxyprogressProxy ()
 
 ~KisProgressWidget () override
 
- Public Member Functions inherited from KisProgressInterface
virtual ~KisProgressInterface ()
 
virtual ~KoProgressInterface ()
 

Private Attributes

QList< KoProgressUpdater * > m_activeUpdaters
 
QToolButton * m_cancelButton
 
KoProgressBarm_progressBar
 

Detailed Description

KisProgressWidget combines a KoProgressBar with a button that can be pressed to cancel the current action.

Definition at line 27 of file kis_progress_widget.h.

Constructor & Destructor Documentation

◆ KisProgressWidget()

KisProgressWidget::KisProgressWidget ( QWidget * parent = 0)

Definition at line 21 of file kis_progress_widget.cpp.

22 : QWidget(parent)
23{
24 QHBoxLayout* layout = new QHBoxLayout(this);
25 m_cancelButton = new QToolButton(this);
26 m_cancelButton->setIcon(KisIconUtils::loadIcon("process-stop"));
27
28 QSizePolicy sizePolicy = m_cancelButton->sizePolicy();
29 sizePolicy.setVerticalPolicy(QSizePolicy::Ignored);
30 m_cancelButton->setSizePolicy(sizePolicy);
31
32 connect(m_cancelButton, SIGNAL(clicked()), this, SLOT(cancel()));
33
34 m_progressBar = new KoProgressBar(this);
35 // fixme:connect to the visibility changed signal if exists
36 connect(m_progressBar, SIGNAL(valueChanged(int)), SLOT(correctVisibility(int)));
37 layout->addWidget(m_progressBar);
38 layout->addWidget(m_cancelButton);
39 layout->setContentsMargins(0, 0, 0, 0);
40
41 m_progressBar->setVisible(false);
42 m_cancelButton->setVisible(false);
43
44 setMaximumWidth(225);
45 setMinimumWidth(225);
46}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QToolButton * m_cancelButton
void correctVisibility(int progressValue)
KoProgressBar * m_progressBar
QIcon loadIcon(const QString &name)

References cancel(), connect(), correctVisibility(), KisIconUtils::loadIcon(), m_cancelButton, and m_progressBar.

◆ ~KisProgressWidget()

KisProgressWidget::~KisProgressWidget ( )
override

Definition at line 48 of file kis_progress_widget.cpp.

49{
50}

Member Function Documentation

◆ attachUpdater()

void KisProgressWidget::attachUpdater ( KoProgressUpdater * updater)
overridevirtual

Implements KisProgressInterface.

Definition at line 83 of file kis_progress_widget.cpp.

84{
85 m_activeUpdaters << updater;
86}
QList< KoProgressUpdater * > m_activeUpdaters

References m_activeUpdaters.

◆ cancel

void KisProgressWidget::cancel ( )
slot

◆ correctVisibility

void KisProgressWidget::correctVisibility ( int progressValue)
slot

Definition at line 65 of file kis_progress_widget.cpp.

66{
67 // TODO: this check duplicates code in KoProgressBar::setValue()
68
69 const bool visibility =
70 m_progressBar->minimum() == m_progressBar->maximum() ||
71 (progressValue >= m_progressBar->minimum() &&
72 progressValue < m_progressBar->maximum());
73
74 m_progressBar->setVisible(visibility);
75 m_cancelButton->setVisible(visibility);
76}
int maximum() const override

References m_cancelButton, m_progressBar, and KoProgressBar::maximum().

◆ detachUpdater()

void KisProgressWidget::detachUpdater ( KoProgressUpdater * updater)
overridevirtual

create a new KoProgressUpdater instance that is linked to this progress bar.

Note: it is your duty to call deleteLater on the koprogressupdater when you are done!

Implements KisProgressInterface.

Definition at line 78 of file kis_progress_widget.cpp.

79{
80 m_activeUpdaters.removeOne(updater);
81}

References m_activeUpdaters.

◆ progressProxy()

KoProgressProxy * KisProgressWidget::progressProxy ( )

Definition at line 52 of file kis_progress_widget.cpp.

53{
54 return m_progressBar;
55}

References m_progressBar.

◆ sigCancellationRequested

void KisProgressWidget::sigCancellationRequested ( )
signal

Member Data Documentation

◆ m_activeUpdaters

QList<KoProgressUpdater*> KisProgressWidget::m_activeUpdaters
private

Definition at line 62 of file kis_progress_widget.h.

◆ m_cancelButton

QToolButton* KisProgressWidget::m_cancelButton
private

Definition at line 60 of file kis_progress_widget.h.

◆ m_progressBar

KoProgressBar* KisProgressWidget::m_progressBar
private

Definition at line 61 of file kis_progress_widget.h.


The documentation for this class was generated from the following files: