mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-04 18:20:42 +00:00
65 lines
1.5 KiB
C++
65 lines
1.5 KiB
C++
/* SleepLib Progress Dialog Header
|
|
*
|
|
* Copyright (c) 2011-2018 Mark Watkins <mark@jedimark.net>
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file COPYING in the main directory of the source code
|
|
* for more details. */
|
|
|
|
#include "progressdialog.h"
|
|
|
|
ProgressDialog::ProgressDialog(QWidget * parent):
|
|
QDialog(parent, Qt::Tool | Qt::FramelessWindowHint)
|
|
{
|
|
statusMsg = new QLabel(QObject::tr("Please Wait..."));
|
|
hlayout = new QHBoxLayout;
|
|
|
|
imglabel = new QLabel(this);
|
|
|
|
vlayout = new QVBoxLayout;
|
|
progress = new QProgressBar(this);
|
|
this->setLayout(vlayout);
|
|
vlayout->addLayout(hlayout);
|
|
hlayout->addWidget(imglabel);
|
|
hlayout->addWidget(statusMsg,1,Qt::AlignCenter);
|
|
vlayout->addWidget(progress,1);
|
|
progress->setMaximum(100);
|
|
abortButton = nullptr;
|
|
setWindowModality(Qt::ApplicationModal);
|
|
|
|
}
|
|
|
|
ProgressDialog::~ProgressDialog()
|
|
{
|
|
if (abortButton) {
|
|
disconnect(abortButton, SIGNAL(released()), this, SLOT(onAbortClicked()));
|
|
}
|
|
}
|
|
|
|
void ProgressDialog::setProgressMax(int max)
|
|
{
|
|
progress->setMaximum(max);
|
|
}
|
|
|
|
void ProgressDialog::setProgressValue(int val)
|
|
{
|
|
progress->setValue(val);
|
|
}
|
|
|
|
|
|
void ProgressDialog::setMessage(QString msg) {
|
|
statusMsg->setText(msg);
|
|
}
|
|
|
|
void ProgressDialog::addAbortButton()
|
|
{
|
|
abortButton = new QPushButton(tr("Abort"),this);
|
|
connect(abortButton, SIGNAL(released()), this, SLOT(onAbortClicked()));
|
|
hlayout->addWidget(abortButton);
|
|
}
|
|
|
|
void ProgressDialog::onAbortClicked()
|
|
{
|
|
emit abortClicked();
|
|
}
|