#include <QTimer>
#include <iostream>
#include "ProgressBarWidget.h"

using namespace std;

ProgressBarWidget::ProgressBarWidget(QWidget* parent, QString message, int maxv) :
		QDialog(parent, Qt::Window )
{
	QGridLayout* grid = new QGridLayout(this);
	text = new QLabel(this);
	pbar = new QProgressBar(this);
	appname = new QLabel(this);
	text->setFont(QFont("Sans", 8) );
	appname->setFont(QFont("Sans", 8) );
	appname->setMinimumSize(190, 40);
	setFixedWidth(420);
	setPalette( QPalette( QColor(203, 205, 245 ), QColor(213, 215, 255 ) ) );
	grid->addWidget(text, 0, 0, 1, 1);
	grid->addWidget(pbar, 0, 1, 1, 2);
	grid->addWidget(appname, 1, 0, 1, 3, Qt::AlignHCenter);
	SetMessage(message);
	SetMaximumValue(maxv);
	resize(140, 30);
}

void ProgressBarWidget::SetProgress(int value)
{
	pbar->setValue(value);
}

void ProgressBarWidget::SetMessage(QString message)
{
	text->setText(message);
}
	
void ProgressBarWidget::SetMaximumValue(int maxval)
{
	pbar->setMaximum(maxval);	
}

void ProgressBarWidget::SetAppName(QString text)
{
	appname->setText(text);
}

void ProgressBarWidget::SetDetailMaximumValue(int maxval)
{
	maxval = maxval; /* avoid warning */
}

void ProgressBarWidget::SetDetailProgress(int value)
{
	value = value;
}

void ProgressBarWidget::ResetDetailProgress()
{
}

int ProgressBarWidget::DetailProgressValue()
{
	return -1;
}

void ProgressBarWidget::UpdateProgressDetail()
{
	int valuenow = DetailProgressValue();
	SetDetailProgress(valuenow + 1);
	qApp->processEvents();
}