// // Created by Krad on 2021/11/10. // #include "GUIFormBaseDialog.h" #include #include GUIFormBaseDialog::GUIFormBaseDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) , mFormWidget(new QWidget(this)) , mBtnWidget(new QWidget(this)) , mBtnCancel(new QPushButton(tr("Cancel"), mBtnWidget)) , mBtnOk(new QPushButton(tr("OK"), mBtnWidget)) { this->setObjectName("formDialog"); this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); this->setFixedWidth(500); this->mFormWidget->setObjectName("formWidget"); auto vLayout = new QVBoxLayout(this); vLayout->addWidget(mFormWidget); vLayout->addWidget(mBtnWidget); auto hLayout = new QHBoxLayout(mBtnWidget); hLayout->addWidget(mBtnOk); hLayout->addWidget(mBtnCancel); mBtnOk->setObjectName("btnOK"); connect(mBtnOk, &QPushButton::clicked, [=]() { if (updateReferenceData()) accept(); }); connect(mBtnCancel, &QPushButton::clicked, [=]() { reject(); }); } void GUIFormBaseDialog::setButtonMode(DialogButtonMode mode) { switch (mode) { case OkOnly: { mBtnOk->setVisible(true); mBtnCancel->setVisible(false); return; } case OkAndCancel: { mBtnOk->setVisible(true); mBtnCancel->setVisible(true); return; } case None: default: { mBtnOk->setVisible(false); mBtnCancel->setVisible(false); } } }