aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/querydialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/querydialog.cpp')
-rw-r--r--src/widgets/querydialog.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/widgets/querydialog.cpp b/src/widgets/querydialog.cpp
new file mode 100644
index 0000000..467c4c2
--- /dev/null
+++ b/src/widgets/querydialog.cpp
@@ -0,0 +1,30 @@
+#include "widgets/querydialog.hpp"
+
+QueryDialog::QueryDialog(QWidget *parent) :
+ QDialog(parent),
+ mode(QLineEdit::Normal)
+{
+ ui.setupUi(this);
+ ui.lineEdit->setVisible(false);
+}
+
+void QueryDialog::setLabelText(const QString &text)
+{
+ ui.query->setText(text);
+}
+
+void QueryDialog::setTextEchoMode(QLineEdit::EchoMode mode)
+{
+ ui.text->setVisible(mode == QLineEdit::Normal);
+ ui.lineEdit->setVisible(mode != QLineEdit::Normal);
+ ui.lineEdit->setEchoMode(mode);
+ this->mode = mode;
+}
+
+QString QueryDialog::textValue()
+{
+ if (mode == QLineEdit::Normal)
+ return ui.text->toPlainText();
+
+ return ui.lineEdit->text();
+}