aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp98
1 files changed, 98 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp b/SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp
new file mode 100644
index 0000000..9f628ce
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp
@@ -0,0 +1,98 @@
+#include "fileedit.h"
+#include "iconmanager.h"
+#include "uiconfig.h"
+#include <QHBoxLayout>
+#include <QLineEdit>
+#include <QToolButton>
+#include <QFileDialog>
+
+FileEdit::FileEdit(QWidget *parent) :
+ QWidget(parent)
+{
+ setLayout(new QHBoxLayout());
+ layout()->setMargin(0);
+
+ lineEdit = new QLineEdit();
+ button = new QToolButton();
+ button->setIcon(ICONS.OPEN_FILE);
+ layout()->addWidget(lineEdit);
+ layout()->addWidget(button);
+
+ connect(button, SIGNAL(clicked()), this, SLOT(browse()));
+ connect(lineEdit, SIGNAL(textChanged(QString)), this, SLOT(lineTextChanged()));
+}
+
+QString FileEdit::getFile() const
+{
+ return file;
+}
+
+bool FileEdit::getSave() const
+{
+ return save;
+}
+
+QString FileEdit::getDialogTitle() const
+{
+ return dialogTitle;
+}
+
+QString FileEdit::getFilters() const
+{
+ return filters;
+}
+
+void FileEdit::browse()
+{
+ QString path;
+ QString dir = getFileDialogInitPath();
+ if (save)
+ path = QFileDialog::getSaveFileName(this, dialogTitle, dir, filters);
+ else
+ path = QFileDialog::getOpenFileName(this, dialogTitle, dir, filters);
+
+ if (path.isNull())
+ return;
+
+ setFile(path);
+ setFileDialogInitPathByFile(path);
+}
+
+void FileEdit::lineTextChanged()
+{
+ file = lineEdit->text();
+ emit fileChanged(file);
+}
+
+void FileEdit::setFile(QString arg)
+{
+ if (file != arg) {
+ file = arg;
+ lineEdit->setText(file);
+ emit fileChanged(arg);
+ }
+}
+
+void FileEdit::setSave(bool arg)
+{
+ if (save != arg) {
+ save = arg;
+ emit saveChanged(arg);
+ }
+}
+
+void FileEdit::setDialogTitle(QString arg)
+{
+ if (dialogTitle != arg) {
+ dialogTitle = arg;
+ emit dialogTitleChanged(arg);
+ }
+}
+
+void FileEdit::setFilters(QString arg)
+{
+ if (filters != arg) {
+ filters = arg;
+ emit filtersChanged(arg);
+ }
+}