KJobWidgets 5.109.0
kwidgetjobtracker.h
1/*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2000 Matej Koss <koss@miesto.sk>
4 SPDX-FileCopyrightText: 2007 Kevin Ottens <ervin@kde.org>
5 SPDX-FileCopyrightText: 2009 Shaun Reich <shaun.reich@kdemail.net>
6
7 SPDX-License-Identifier: LGPL-2.0-only
8*/
9
10#ifndef KWIDGETJOBTRACKER_H
11#define KWIDGETJOBTRACKER_H
12
13#include <kabstractwidgetjobtracker.h>
14#include <kjobwidgets_export.h>
15
16class KWidgetJobTrackerPrivate;
17
24class KJOBWIDGETS_EXPORT KWidgetJobTracker : public KAbstractWidgetJobTracker
25{
26 Q_OBJECT
27
28public:
34 explicit KWidgetJobTracker(QWidget *parent = nullptr);
35
40
47 QWidget *widget(KJob *job) override;
48
49 // KDE5: move this two virtual methods to be placed correctly (ereslibre)
50public Q_SLOTS:
56 void registerJob(KJob *job) override;
57
63 void unregisterJob(KJob *job) override;
64
65public:
66 bool keepOpen(KJob *job) const;
67
68protected Q_SLOTS:
72 void infoMessage(KJob *job, const QString &plain, const QString &rich) override;
73 virtual void description(KJob *job, const QString &title, const QPair<QString, QString> &field1, const QPair<QString, QString> &field2) override;
74 void totalAmount(KJob *job, KJob::Unit unit, qulonglong amount) override;
75 void processedAmount(KJob *job, KJob::Unit unit, qulonglong amount) override;
76 void percent(KJob *job, unsigned long percent) override;
77 void speed(KJob *job, unsigned long value) override;
78 void slotClean(KJob *job) override;
79 void suspended(KJob *job) override;
80 void resumed(KJob *job) override;
81
82 // TODO: Misses canResume()
83
84private:
85 Q_DECLARE_PRIVATE_D(KAbstractWidgetJobTracker::d, KWidgetJobTracker)
86#if KJOBWIDGETS_BUILD_DEPRECATED_SINCE(5, 79)
87 QT_WARNING_PUSH
88 QT_WARNING_DISABLE_CLANG("-Wunused-private-field")
89 // Unused, kept for ABI compatibility
90 const void *__kjobwidgets_d_do_not_use;
91 QT_WARNING_POP
92#endif
93
94 Q_PRIVATE_SLOT(d_func(), void _k_showProgressWidget())
95};
96
97#endif
The base class for widget based job trackers.
Definition kabstractwidgetjobtracker.h:28
This class implements a job tracker with a widget suited for use as a progress dialog.
Definition kwidgetjobtracker.h:25
QWidget * widget(KJob *job) override
The widget associated to this tracker.
void infoMessage(KJob *job, const QString &plain, const QString &rich) override
The following slots are inherited from KJobTrackerInterface.
void unregisterJob(KJob *job) override
Unregister a job from this tracker.
KWidgetJobTracker(QWidget *parent=nullptr)
Creates a new KWidgetJobTracker.
void registerJob(KJob *job) override
Register a new job in this tracker.
~KWidgetJobTracker() override
Destroys a KWidgetJobTracker.