#include "fileswitcher.h"

FileSwitcher::FileSwitcher():widget(0)
{
    fileDialog = new QFileDialog();
    fileDialog->setFileMode(QFileDialog::AnyFile);
}

FileSwitcher::~FileSwitcher() {
    delete widget;
   /* delete pushb;
    delete path;
    delete hlayout;*/
    delete fileDialog;

}

QWidget* FileSwitcher::getComponent(QWidget *parent) {

    if (widget == 0) {
        widget = new QWidget(parent);
        pushb = new QPushButton("Browse...",widget);
        path = new QLineEdit(widget);
        hlayout = new QHBoxLayout;

        widget->setLayout(hlayout);

        hlayout->setMargin(0);
        hlayout->addWidget(path);
        hlayout->addWidget(pushb);


        QObject::connect(pushb,SIGNAL(clicked()),
                         fileDialog,SLOT(open()));
        QObject::connect(fileDialog,SIGNAL(fileSelected(QString)),
                         path,SLOT(setText(QString)));
        QObject::connect(path,SIGNAL(textChanged(QString)),
                         this,SLOT(onChange()));
    }
    return widget;
}

QString FileSwitcher::buildSwitcherString() {
    if (widget != 0 && !path->text().isEmpty()) return '"' + path->text() + '"';
    else return "";
}
