/*****************************************************************************
 *
 *  encoderconfiguredialog.h -- Input encoding parameters.
 *
 *  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 ENCODERCONFIGUREDIALOG_H
#define ENCODERCONFIGUREDIALOG_H

#include "../encoder/configurator.h"

#include <QDialog>
#include <QDialogButtonBox>
#include <QFontMetrics>
#include <QTabWidget>
#include <QWidget>
#include <QGroupBox>
#include <QButtonGroup>
#include <QCheckBox>
#include <QComboBox>
#include <QLayout>
#include <QLabel>
#include <QLineEdit>
#include <QRadioButton>
#include <QSlider>
#include <QSpacerItem>
#include <QPoint>
#include <QSize>
#include <QVector>

class EncoderConfigureDialog : public QDialog
{
	Q_OBJECT

public:
	EncoderConfigureDialog(Configurator *, QWidget *parent = 0);

	void setUserInterface(Configurator::ProfileInterface *);

signals:

public slots:

protected slots:
	void selectProfile(bool);

protected:

protected:
	// Tabs
	QTabWidget *tabWidget;
	QDialogButtonBox *buttonBox;
	QVBoxLayout *verticalLayout;
	
	QLabel *profileDescriptionLabel;
	QGroupBox *profilesBox;
	QVBoxLayout *profilesVLayout;

	QHash<QRadioButton *, int> listLevel;

	Configurator *config;
};

#endif
