feat: better task tracking
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
58
launcher/ui/widgets/SubTaskProgressBar.cpp
Normal file
58
launcher/ui/widgets/SubTaskProgressBar.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
/*
|
||||
* PrismLaucher - Minecraft Launcher
|
||||
* Copyright (C) 2022 Rachel Powers <508861+Ryex@users.noreply.github.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, version 3.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SubTaskProgressBar.h"
|
||||
#include "ui_SubTaskProgressBar.h"
|
||||
|
||||
unique_qobject_ptr<SubTaskProgressBar> SubTaskProgressBar::create(QWidget* parent)
|
||||
{
|
||||
auto progress_bar = new SubTaskProgressBar(parent);
|
||||
return unique_qobject_ptr<SubTaskProgressBar>(progress_bar);
|
||||
}
|
||||
|
||||
SubTaskProgressBar::SubTaskProgressBar(QWidget* parent)
|
||||
: ui(new Ui::SubTaskProgressBar)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
SubTaskProgressBar::~SubTaskProgressBar()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void SubTaskProgressBar::setRange(int min, int max)
|
||||
{
|
||||
ui->progressBar->setRange(min, max);
|
||||
}
|
||||
|
||||
void SubTaskProgressBar::setValue(int value)
|
||||
{
|
||||
ui->progressBar->setValue(value);
|
||||
}
|
||||
|
||||
void SubTaskProgressBar::setStatus(QString status)
|
||||
{
|
||||
ui->statusLabel->setText(status);
|
||||
}
|
||||
|
||||
void SubTaskProgressBar::setDetails(QString details)
|
||||
{
|
||||
ui->statusDetailsLabel->setText(details);
|
||||
}
|
||||
|
50
launcher/ui/widgets/SubTaskProgressBar.h
Normal file
50
launcher/ui/widgets/SubTaskProgressBar.h
Normal file
@ -0,0 +1,50 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
/*
|
||||
* PrismLaucher - Minecraft Launcher
|
||||
* Copyright (C) 2022 Rachel Powers <508861+Ryex@users.noreply.github.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, version 3.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <qobjectdefs.h>
|
||||
#include <qwidget.h>
|
||||
#include <QWidget>
|
||||
#include "QObjectPtr.h"
|
||||
|
||||
namespace Ui {
|
||||
class SubTaskProgressBar;
|
||||
}
|
||||
|
||||
class SubTaskProgressBar : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static unique_qobject_ptr<SubTaskProgressBar> create(QWidget* parent = nullptr);
|
||||
|
||||
SubTaskProgressBar(QWidget* parent = nullptr);
|
||||
~SubTaskProgressBar();
|
||||
|
||||
void setRange(int min, int max);
|
||||
void setValue(int value);
|
||||
void setStatus(QString status);
|
||||
void setDetails(QString details);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
Ui::SubTaskProgressBar* ui;
|
||||
|
||||
};
|
70
launcher/ui/widgets/SubTaskProgressBar.ui
Normal file
70
launcher/ui/widgets/SubTaskProgressBar.ui
Normal file
@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SubTaskProgressBar</class>
|
||||
<widget class="QWidget" name="SubTaskProgressBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>265</width>
|
||||
<height>65</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,0">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0">
|
||||
<item>
|
||||
<widget class="QLabel" name="statusLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Sub Task Status...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="statusDetailsLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Status Details</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="textVisible">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
Reference in New Issue
Block a user