#pragma once #include #include #include #include #include #include #include "db/ApplicationInfo.h" class BankEditDialog final : public QDialog { Q_OBJECT public: explicit BankEditDialog(const ApplicationInfo &app, QWidget *parent = nullptr) : QDialog(parent) { setWindowTitle("Настройка " + app.name); setModal(true); auto *form = new QFormLayout(this); firstEdit = new QLineEdit(this); firstEdit->setText(app.pinCode); secondEdit = new QTextEdit(this); secondEdit->setMaximumHeight(100); secondEdit->setPlainText(app.comment); toggle = new QCheckBox(tr("Включен"), this); toggle->setChecked(app.status == "active"); form->addRow(tr("Пин-код:"), firstEdit); form->addRow(tr("Комментарий:"), secondEdit); form->addRow(QString(), toggle); auto *buttons = new QDialogButtonBox(Qt::Horizontal, this); buttons->addButton(tr("Сохранить"), QDialogButtonBox::AcceptRole); buttons->addButton(tr("Отмена"), QDialogButtonBox::RejectRole); form->addRow(buttons); connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept); connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject); } QString firstValue() const { return firstEdit->text(); } QString secondValue() const { return secondEdit->toPlainText(); } bool toggled() const { return toggle->isChecked(); } private: QLineEdit *firstEdit; QTextEdit *secondEdit; QCheckBox *toggle; };