#include "import_comics_info_dialog.h" #include #include #include #include #include "data_base_management.h" ImportComicsInfoDialog::ImportComicsInfoDialog(QWidget *parent) : QDialog(parent) { setModal(true); setWindowTitle(tr("Import comics info")); textLabel = new QLabel(tr("Info database location : ")); path = new QLineEdit; textLabel->setBuddy(path); accept = new QPushButton(tr("Import")); accept->setDisabled(true); connect(accept,SIGNAL(clicked()),this,SLOT(import())); cancel = new QPushButton(tr("Cancel")); connect(cancel,SIGNAL(clicked()),this,SLOT(close())); //connect(cancel,SIGNAL(clicked()),this,SIGNAL(rejected())); find = new QPushButton(QIcon(":/images/find_folder.png"),""); connect(find,SIGNAL(clicked()),this,SLOT(findPath())); QHBoxLayout *libraryLayout = new QHBoxLayout; libraryLayout->addWidget(textLabel); libraryLayout->addWidget(path); libraryLayout->addWidget(find); libraryLayout->setStretchFactor(find,0); //TODO progressBar = new QProgressBar(this); progressBar->setMinimum(0); progressBar->setMaximum(0); progressBar->setTextVisible(false); progressBar->hide(); connect(accept,SIGNAL(clicked()),progressBar,SLOT(show())); QHBoxLayout *bottomLayout = new QHBoxLayout; bottomLayout->addStretch(); bottomLayout->addWidget(accept); bottomLayout->addWidget(cancel); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(libraryLayout); mainLayout->addStretch(); mainLayout->addWidget(progressBar); mainLayout->addLayout(bottomLayout); QHBoxLayout * imgMainLayout = new QHBoxLayout; QLabel * imgLabel = new QLabel(this); QPixmap p(":/images/importComicsInfo.png"); imgLabel->setPixmap(p); imgMainLayout->addWidget(imgLabel); imgMainLayout->addLayout(mainLayout); setLayout(imgMainLayout); setModal(true); } ImportComicsInfoDialog::~ImportComicsInfoDialog() { } void ImportComicsInfoDialog::findPath() { QString s = QFileDialog::getOpenFileName(0,"Comics Info",".",tr("Comics info file (*.ydb)")); if(!s.isEmpty()) { path->setText(s); accept->setEnabled(true); } } void ImportComicsInfoDialog::import() { progressBar->show(); Importer * importer = new Importer(); importer->source = path->text(); importer->dest = dest; connect(importer,SIGNAL(finished()),this,SLOT(close())); connect(importer,SIGNAL(finished()),this,SLOT(hide())); importer->start(); } void ImportComicsInfoDialog::close() { path->clear(); progressBar->hide(); accept->setDisabled(true); QDialog::close(); emit(finished(0)); } void Importer::run() { DataBaseManagement::importComicsInfo(source,dest); }