aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:51:12 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:51:12 -0400
commitfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (patch)
tree1e50f5f666f419143f510d5ded00fe2006b7bd85 /SQLiteStudio3/guiSQLiteStudio/dialogs/execfromfiledialog.cpp
parentd9aa870e5d509cc7309ab82dd102a937ab58613a (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.cpp76
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);
+}