From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp | 98 +++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp (limited to 'SQLiteStudio3/guiSQLiteStudio/common/fileedit.cpp') 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 +#include +#include +#include + +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); + } +} -- cgit v1.2.3