Files
GUI/src/dialogs/GUIFormBaseDialog.cpp

55 lines
1.4 KiB
C++
Raw Normal View History

//
// Created by Krad on 2021/11/10.
//
#include "GUIFormBaseDialog.h"
2022-06-13 11:21:44 +08:00
#include <QVBoxLayout>
#include <QPushButton>
2022-07-13 10:51:27 +08:00
2022-06-13 11:21:44 +08:00
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))
{
2021-12-23 10:09:35 +08:00
this->setObjectName("formDialog");
this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
this->setFixedWidth(500);
2022-06-13 11:21:44 +08:00
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();
});
}
2021-12-08 17:49:51 +08:00
void GUIFormBaseDialog::setButtonMode(DialogButtonMode mode) {
2021-12-23 10:09:35 +08:00
switch (mode) {
2022-06-13 11:21:44 +08:00
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);
}
}
2021-12-08 17:49:51 +08:00
}