File indexing completed on 2024-05-26 04:59:30

0001 /*
0002     SPDX-FileCopyrightText: 2007-2009 Sergio Pistone <sergio_pistone@yahoo.com.ar>
0003     SPDX-FileCopyrightText: 2010-2022 Mladen Milinkovic <max@smoothware.net>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "textinputdialog.h"
0009 
0010 #include <QLabel>
0011 #include <QLineEdit>
0012 #include <QDialogButtonBox>
0013 #include <QPushButton>
0014 
0015 using namespace SubtitleComposer;
0016 
0017 TextInputDialog::TextInputDialog(const QString &caption, const QString &label, QWidget *parent)
0018     : QDialog(parent)
0019 {
0020     init(caption, label, QString());
0021 }
0022 
0023 TextInputDialog::TextInputDialog(const QString &caption, const QString &label, const QString &value, QWidget *parent)
0024     : QDialog(parent)
0025 {
0026     init(caption, label, value);
0027 }
0028 
0029 void
0030 TextInputDialog::init(const QString &caption, const QString &labelText, const QString &value)
0031 {
0032     setupUi(this);
0033 
0034     setWindowTitle(caption);
0035 
0036     lineEdit->setText(value);
0037     lineEdit->setFocus();
0038 
0039     label->setText(labelText);
0040 
0041     buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
0042 
0043     resize(300, 10);
0044 
0045     connect(lineEdit, &QLineEdit::textChanged, this, &TextInputDialog::onLineEditTextChanged);
0046 }
0047 
0048 const QString
0049 TextInputDialog::value() const
0050 {
0051     return lineEdit->text();
0052 }
0053 
0054 void
0055 TextInputDialog::setValue(const QString &value)
0056 {
0057     lineEdit->setText(value);
0058 }
0059 
0060 void
0061 TextInputDialog::onLineEditTextChanged(const QString &text)
0062 {
0063     buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!text.isEmpty());
0064 }