File indexing completed on 2024-04-28 05:47:44

0001 /*
0002     SPDX-FileCopyrightText: 2007 Henrique Pinto <henrique.pinto@kdemail.net>
0003     SPDX-FileCopyrightText: 2008 Harald Hvaal <haraldhv@stud.ntnu.no>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 #ifndef JOBTRACKER_H
0008 #define JOBTRACKER_H
0009 
0010 #include "ui_jobtracker.h"
0011 
0012 #include <KAbstractWidgetJobTracker>
0013 
0014 class KJob;
0015 
0016 class JobTrackerWidget : public QFrame, public Ui::JobTrackerWidget
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     explicit JobTrackerWidget(QWidget *parent = nullptr);
0022 };
0023 
0024 class JobTracker : public KAbstractWidgetJobTracker
0025 {
0026     Q_OBJECT
0027 
0028 public:
0029     explicit JobTracker(QWidget *parent = nullptr);
0030     ~JobTracker() override;
0031 
0032     QWidget *widget(KJob *) override;
0033 
0034 public Q_SLOTS:
0035     void registerJob(KJob *job) override;
0036     void unregisterJob(KJob *job) override;
0037 
0038 protected Q_SLOTS:
0039     void description(KJob *job, const QString &title, const QPair<QString, QString> &f1, const QPair<QString, QString> &f2) override;
0040     void infoMessage(KJob *job, const QString &message) override;
0041     void warning(KJob *job, const QString &message) override;
0042 
0043     void percent(KJob *job, unsigned long percent) override;
0044 
0045 private Q_SLOTS:
0046     void resetUi();
0047 
0048 private:
0049     JobTrackerWidget *m_ui;
0050     QSet<KJob *> m_jobs;
0051 };
0052 
0053 #endif // JOBTRACKER_H