/*****************************************************************************
 *
 *  progresswidget.h -- Header to use ProgressWidget class derived from 
 *                     QWidget
 *
 *  Copyright (C) 2010 Starbuck <starbuck@labdv.com>
 *  All rights reserved.
 *
 *  This file is part of the Gui4 module of the DVDx 4 application.
 *
 *  GNU Lesser General Public License Usage
 *  This file may be used under the terms of the GNU Lesser General
 *  Public License version 2.1 as published by the Free Software
 *  Foundation and appearing in the file LICENSE.LGPL included in the
 *  packaging of this file.  Please review the following information to
 *  ensure the GNU Lesser General Public License version 2.1 requirements
 *  will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 *
 *  GNU General Public License Usage
 *  Alternatively, this file may be used under the terms of the GNU
 *  General Public License version 3.0 as published by the Free Software
 *  Foundation and appearing in the file LICENSE.GPL included in the
 *  packaging of this file.  Please review the following information to
 *  ensure the GNU General Public License version 3.0 requirements will be
 *  met: http://www.gnu.org/copyleft/gpl.html.
 *
 *****************************************************************************/

#ifndef PROGRESSWIDGET_H
#define PROGRESSWIDGET_H

#include <QWidget>
#include <QProgressBar>
#include <QCloseEvent>

class ProgressWidget: public QWidget
{
	Q_OBJECT

public:
	ProgressWidget(QString, QString, const int, const int, QWidget *);	// create the progress widget
    void reset(const int, const int, const int);	// reset progress range and current value			
    void setRemainingStep(const int);				// estimated remaining steps
    void stepUpdate();								// update current value for one step
	int value();									// return current value

signals:
	void closedByUser();

protected:
	void closeEvent(QCloseEvent *);

private:
	void center();	// center progress bar in main window

private slots:

private:
	QProgressBar *pBar;
	QWidget *mainConsole;
};

#endif
