#ifndef DIALOGBASE_H
#define DIALOGBASE_H

#include <QDialog>
#include "ui_dialogbase.h"

class DialogBase : public QDialog
{
    Q_OBJECT
public:
    DialogBase();
    void setStandardOutput( bool useStdOutput );
    virtual void setIcon( const QString &icon );
    virtual void setTitle( const QString &title );
    virtual void setBackTitle( const QString &backTitle );
    virtual void setText( const QString &text );
    virtual void enableCheckArea( const QString &label, bool checked );
    virtual void setInputWidget( QWidget *widget);
    virtual QWidget *inputWidgetParent( );
    virtual bool adjustSize( const QString &width, const QString &height );
    virtual void addHelp( const QString &help );
    virtual void setDelimiter( const QChar &ch );
    virtual void setUrlEncodeOutput(bool b);
    virtual void hideButtons();

    virtual void hideOk();
    virtual void hideCancel();

    virtual void showOk();
    virtual void showCancel();

    virtual void setOkLabel( const QString &text );
    virtual void setCancelLabel( const QString &text );

    virtual void setAlignment(Qt::Alignment alignment);
    virtual void setNoWrap( );
    virtual void hideText();


private slots:
    void displayChecked( );
    void displayHelp();

protected slots:
    virtual void slotInputAccepted();

protected:
    void setButtons( const QDialogButtonBox::StandardButtons &buttons );
    void printOutput( const QString &output );
    void printOutput( const QStringList &output );
    void printOutput( int output );

private:
    bool m_useStdOut;
    Ui::DialogBase m_view;
    bool m_useCheckbox;
    QString m_helpText;
    QChar m_delimiter;
    bool m_urlEncode;
};

#endif // DIALOGBASE_H

