sneedmc/launcher/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 12:51:05 +00:00
Q_OBJECT
public:
2018-07-15 12:51:05 +00:00
explicit ProgressWidget(QWidget *parent = nullptr);
public slots:
2018-07-15 12:51:05 +00:00
void start(std::shared_ptr<Task> task);
bool exec(std::shared_ptr<Task> task);
private slots:
2018-07-15 12:51:05 +00:00
void handleTaskFinish();
void handleTaskStatus(const QString &status);
void handleTaskProgress(qint64 current, qint64 total);
void taskDestroyed();
private:
2018-07-15 12:51:05 +00:00
QLabel *m_label;
QProgressBar *m_bar;
std::shared_ptr<Task> m_task;
};