diff options
| author | 2018-07-27 23:51:12 -0400 | |
|---|---|---|
| committer | 2018-07-27 23:51:12 -0400 | |
| commit | feda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (patch) | |
| tree | 1e50f5f666f419143f510d5ded00fe2006b7bd85 /SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp | |
| parent | d9aa870e5d509cc7309ab82dd102a937ab58613a (diff) | |
New upstream version 3.2.1+dfsg1upstream/3.2.1+dfsg1
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp new file mode 100644 index 0000000..3ecae39 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp @@ -0,0 +1,76 @@ +#include "execfromfiledialog.h" +#include "ui_execfromfiledialog.h" +#include "common/utils.h" +#include "uiconfig.h" +#include "uiutils.h" +#include <QFileDialog> + +ExecFromFileDialog::ExecFromFileDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ExecFromFileDialog) +{ + init(); +} + +ExecFromFileDialog::~ExecFromFileDialog() +{ + delete ui; +} + +bool ExecFromFileDialog::ignoreErrors() const +{ + return ui->skipErrorsCheck->isChecked(); +} + +QString ExecFromFileDialog::filePath() const +{ + return ui->fileEdit->text(); +} + +QString ExecFromFileDialog::codec() const +{ + return ui->encodingCombo->currentText(); +} + +void ExecFromFileDialog::init() +{ + ui->setupUi(this); + + connect(ui->fileBrowse, SIGNAL(clicked()), this, SLOT(browseForInputFile())); + connect(ui->fileEdit, SIGNAL(textChanged(const QString&)), this, SLOT(updateState())); + + ui->encodingCombo->addItems(textCodecNames()); + ui->encodingCombo->setCurrentText(defaultCodecName()); +} + +void ExecFromFileDialog::browseForInputFile() +{ + QString dir = getFileDialogInitPath(); + QString filters = tr("SQL scripts (*.sql);;All files (*)"); + QString path = QFileDialog::getOpenFileName(nullptr, tr("Execute SQL file"), dir, filters); + if (path.isNull()) + return; + + setFileDialogInitPathByFile(path); + ui->fileEdit->setText(path); + updateState(); +} + +void ExecFromFileDialog::updateState() +{ + QString path = ui->fileEdit->text(); + if (path.isEmpty()) + { + setValidState(ui->fileEdit, false, tr("Please provide file to be executed.")); + return; + } + + QFileInfo fi(path); + if (!fi.exists() || !fi.isReadable()) + { + setValidState(ui->fileEdit, false, tr("Provided file does not exist or cannot be read.")); + return; + } + + setValidState(ui->fileEdit, true); +} |
