KPIM::ProgressManager

Search for usage in LXR

#include <progressmanager.h>

Inheritance diagram for KPIM::ProgressManager:

Signals

void progressItemAdded (KPIM::ProgressItem *)
 
void progressItemCanceled (KPIM::ProgressItem *)
 
void progressItemCompleted (KPIM::ProgressItem *)
 
void progressItemCryptoStatus (KPIM::ProgressItem *, KPIM::ProgressItem::CryptoStatus)
 
void progressItemLabel (KPIM::ProgressItem *, const QString &)
 
void progressItemProgress (KPIM::ProgressItem *, unsigned int)
 
void progressItemStatus (KPIM::ProgressItem *, const QString &)
 
void progressItemUsesBusyIndicator (KPIM::ProgressItem *, bool)
 
void showProgressDialog ()
 

Public Slots

void slotAbortAll ()
 
void slotStandardCancelHandler (KPIM::ProgressItem *item)
 

Public Member Functions

bool isEmpty () const
 
ProgressItemprogressItem (const QString &id) const
 
ProgressItemsingleItem () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo () const const
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

Static Public Member Functions

static ProgressItemcreateProgressItem (const QString &id, const QString &label, const QString &status=QString(), bool canBeCanceled=true, KPIM::ProgressItem::CryptoStatus cryptoStatus=KPIM::ProgressItem::Unencrypted)
 
static ProgressItemcreateProgressItem (const QString &label)
 
static ProgressItemcreateProgressItem (const QString &parent, const QString &id, const QString &label, const QString &status=QString(), bool canBeCanceled=true, KPIM::ProgressItem::CryptoStatus cryptoStatus=KPIM::ProgressItem::Unencrypted)
 
static ProgressItemcreateProgressItem (ProgressItem *parent, const QString &id, const QString &label, const QString &status=QString(), bool canBeCanceled=true, KPIM::ProgressItem::CryptoStatus cryptoStatus=KPIM::ProgressItem::Unencrypted)
 
static ProgressItemcreateProgressItem (unsigned int progressType, const QString &label)
 
static void emitShowProgressDialog ()
 
static QString getUniqueID ()
 
static ProgressManagerinstance ()
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 

Additional Inherited Members

- Public Types inherited from QObject
typedef  QObjectList
 
- Properties inherited from QObject
 objectName
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

The ProgressManager singleton keeps track of all ongoing transactions and notifies observers (progress dialogs) when their progress percent value changes, when they are completed (by their owner), and when they are canceled.

Each ProgressItem emits those signals individually and the singleton broadcasts them. Use the createProgressItem() statics to acquire an item and then call ->setProgress( int percent ) on it every time you want to update the item and ->setComplete() when the operation is done. This will delete the item. Connect to the item's progressItemCanceled() signal to be notified when the user cancels the transaction using one of the observing progress dialogs or by calling item->cancel() in some other way. The owner is responsible for calling setComplete() on the item, even if it is canceled. Use the standardCancelHandler() slot if that is all you want to do on cancel.

Note that if you request an item with a certain id and there is already one with that id, there will not be a new one created but the existing one will be returned. This is convenient for accessing items that are needed regularly without the to store a pointer to them or to add child items to parents by id.

Definition at line 267 of file progressmanager.h.

Member Function Documentation

◆ createProgressItem() [1/5]

ProgressItem * ProgressManager::createProgressItem ( const QString & id,
const QString & label,
const QString & status = QString(),
bool canBeCanceled = true,
KPIM::ProgressItem::CryptoStatus cryptoStatus = KPIM::ProgressItem::Unencrypted )
static

Version without a parent.

Definition at line 227 of file progressmanager.cpp.

◆ createProgressItem() [2/5]

ProgressItem * ProgressManager::createProgressItem ( const QString & label)
static

Creates a ProgressItem with a unique id and the given label.

This is the simplest way to acquire a progress item. It will not have a parent and will be set to be cancellable and not using crypto.

Definition at line 252 of file progressmanager.cpp.

◆ createProgressItem() [3/5]

ProgressItem * ProgressManager::createProgressItem ( const QString & parent,
const QString & id,
const QString & label,
const QString & status = QString(),
bool canBeCanceled = true,
KPIM::ProgressItem::CryptoStatus cryptoStatus = KPIM::ProgressItem::Unencrypted )
static

Use this version if you have the id string of the parent and want to add a subjob to it.

Definition at line 232 of file progressmanager.cpp.

◆ createProgressItem() [4/5]

ProgressItem * ProgressManager::createProgressItem ( ProgressItem * parent,
const QString & id,
const QString & label,
const QString & status = QString(),
bool canBeCanceled = true,
KPIM::ProgressItem::CryptoStatus cryptoStatus = KPIM::ProgressItem::Unencrypted )
static

Creates a new progressItem with the given parent, id, label and initial status.

Parameters
parentSpecify an already existing item as the parent of this one.
idUsed to identify this operation for cancel and progress info.
labelThe text to be displayed by progress handlers
statusAdditional text to be displayed for the item.
canBeCanceledcan the user cancel this operation?
usesCryptodoes the operation use secure transports (SSL) Cancelling the parent will cancel the children as well (if they can be canceled) and ongoing children prevent parents from finishing.
Returns
The ProgressItem representing the operation.

Definition at line 242 of file progressmanager.cpp.

◆ createProgressItem() [5/5]

ProgressItem * ProgressManager::createProgressItem ( unsigned int progressType,
const QString & label )
static

Creates a ProgressItem with a unique id and the given label.

This is the simplest way to acquire a progress item. It will not have a parent and will be set to be cancellable and not using crypto.

Definition at line 257 of file progressmanager.cpp.

◆ emitShowProgressDialog()

void ProgressManager::emitShowProgressDialog ( )
static

Ask all listeners to show the progress dialog, because there is something that wants to be shown.

Definition at line 352 of file progressmanager.cpp.

◆ getUniqueID()

QString ProgressManager::getUniqueID ( )
staticnodiscard

Use this to acquire a unique id number which can be used to discern an operation from all others going on at the same time.

Use that number as the id string for your progressItem to ensure it is unique.

Returns

Definition at line 216 of file progressmanager.cpp.

◆ instance()

ProgressManager * ProgressManager::instance ( )
static
Returns
The singleton instance of this class.

Definition at line 211 of file progressmanager.cpp.

◆ isEmpty()

bool ProgressManager::isEmpty ( ) const
nodiscard
Returns
true when there are no more progress items.

Definition at line 221 of file progressmanager.cpp.

◆ progressItem()

ProgressItem * ProgressManager::progressItem ( const QString & id) const

Definition at line 357 of file progressmanager.cpp.

◆ progressItemAdded

void KPIM::ProgressManager::progressItemAdded ( KPIM::ProgressItem * )
signal

◆ progressItemCanceled

void KPIM::ProgressManager::progressItemCanceled ( KPIM::ProgressItem * )
signal

◆ progressItemCompleted

void KPIM::ProgressManager::progressItemCompleted ( KPIM::ProgressItem * )
signal

◆ progressItemCryptoStatus

void KPIM::ProgressManager::progressItemCryptoStatus ( KPIM::ProgressItem * ,
KPIM::ProgressItem::CryptoStatus  )
signal

◆ progressItemLabel

void KPIM::ProgressManager::progressItemLabel ( KPIM::ProgressItem * ,
const QString &  )
signal

◆ progressItemProgress

void KPIM::ProgressManager::progressItemProgress ( KPIM::ProgressItem * ,
unsigned int  )
signal

◆ progressItemStatus

void KPIM::ProgressManager::progressItemStatus ( KPIM::ProgressItem * ,
const QString &  )
signal

◆ progressItemUsesBusyIndicator

void KPIM::ProgressManager::progressItemUsesBusyIndicator ( KPIM::ProgressItem * ,
bool  )
signal

◆ showProgressDialog

void KPIM::ProgressManager::showProgressDialog ( )
signal

Emitted when an operation requests the listeners to be shown.

Use emitShowProgressDialog() to trigger it.

◆ singleItem()

ProgressItem * ProgressManager::singleItem ( ) const
Returns
the only top level progressitem when there's only one. Returns 0 if there is no item, or more than one top level item. Since this is used to calculate the overall progress, it will also return 0 if there is an item which uses a busy indicator, since that will invalidate the overall progress.

Definition at line 329 of file progressmanager.cpp.

◆ slotAbortAll

void ProgressManager::slotAbortAll ( )
slot

Aborts all running jobs.

Bound to "Esc"

Definition at line 362 of file progressmanager.cpp.

◆ slotStandardCancelHandler

void ProgressManager::slotStandardCancelHandler ( KPIM::ProgressItem * item)
slot

Calls setCompleted() on the item, to make sure it goes away.

Provided for convenience.

Parameters
itemthe canceled item.

Definition at line 324 of file progressmanager.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:18:17 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.