#include "gaugedialog.h"
#include <QFile>
#include <QSocketNotifier>
#include <QTextStream>
#include <QProgressBar>

GaugeDialog::GaugeDialog()
{
    m_input = new QFile(this);

    m_input->open( 0, QIODevice::ReadOnly );
    m_inputNotifier = new QSocketNotifier(0,QSocketNotifier::Read,this);
    connect(m_inputNotifier,SIGNAL(activated(int)),this,SLOT(slotInputRecieved()));

    m_progress = new QProgressBar( inputWidgetParent() );
    setInputWidget(m_progress);

    setButtons(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
	hideOk();
}

DialogBase *GaugeDialog::createWidget( const QString &text, const QString &initial)
{
    int progress = initial.toInt();

    GaugeDialog *dlg = new GaugeDialog();
    dlg->setText(text);
    dlg->m_progress->setValue(progress);
    return dlg;
}

void GaugeDialog::slotInputRecieved()
{
    QString line = m_input->readLine();
    m_progress->setValue( line.toInt() );
    if( m_progress->value() >= 100 )
        done(0);
}

