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
18/*!
19 * \class KWidgetJobTracker
20 *
21 * \inmodule KJobWidgets
22 *
23 * \brief This class implements a job tracker with a widget suited for use as a
24 * progress dialog.
25 */
26class KJOBWIDGETS_EXPORT KWidgetJobTracker : public KAbstractWidgetJobTracker
27{
28 Q_OBJECT
29
30public:
31 /*!
32 * Creates a new KWidgetJobTracker
33 *
34 * \a parent the parent of this object and of the widget displaying the job progresses
35 */
36 explicit KWidgetJobTracker(QWidget *parent = nullptr);
37
38 ~KWidgetJobTracker() override;
39
40 QWidget *widget(KJob *job) override;
41
42 // KDE5: move this two virtual methods to be placed correctly (ereslibre)
43public Q_SLOTS:
44 void registerJob(KJob *job) override;
45
46 void unregisterJob(KJob *job) override;
47
48public:
49 /*!
50 */
51 bool keepOpen(KJob *job) const;
52
53protected Q_SLOTS:
54 void infoMessage(KJob *job, const QString &message) override;
55 void description(KJob *job, const QString &title, const QPair<QString, QString> &field1, const QPair<QString, QString> &field2) override;
56 void totalAmount(KJob *job, KJob::Unit unit, qulonglong amount) override;
57 void processedAmount(KJob *job, KJob::Unit unit, qulonglong amount) override;
58 void percent(KJob *job, unsigned long percent) override;
59 void speed(KJob *job, unsigned long value) override;
60 void slotClean(KJob *job) override;
61 void suspended(KJob *job) override;
62 void resumed(KJob *job) override;
63
64 // TODO: Misses canResume()
65
66private:
67 Q_DECLARE_PRIVATE(KWidgetJobTracker)
68
69 Q_PRIVATE_SLOT(d_func(), void _k_showProgressWidget())
70};
71
72#endif
73

source code of kjobwidgets/src/kwidgetjobtracker.h