pollymc/application/widgets/ProgressWidget.h

33 lines
661 B
C
Raw Normal View History

// Licensed under the Apache-2.0 license. See README.md for details.
#pragma once
#include <QWidget>
#include <memory>
class Task;
class QProgressBar;
class QLabel;
class ProgressWidget : public QWidget
{
2018-07-15 18:21:05 +05:30
Q_OBJECT
public:
2018-07-15 18:21:05 +05:30
explicit ProgressWidget(QWidget *parent = nullptr);
public slots:
2018-07-15 18:21:05 +05:30
void start(std::shared_ptr<Task> task);
bool exec(std::shared_ptr<Task> task);
private slots:
2018-07-15 18:21:05 +05:30
void handleTaskFinish();
void handleTaskStatus(const QString &status);
void handleTaskProgress(qint64 current, qint64 total);
void taskDestroyed();
private:
2018-07-15 18:21:05 +05:30
QLabel *m_label;
QProgressBar *m_bar;
std::shared_ptr<Task> m_task;
};