55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
//
|
|
// Created by Krad on 2021/11/10.
|
|
//
|
|
|
|
#include "GUIFormBaseDialog.h"
|
|
|
|
#include <QVBoxLayout>
|
|
#include <QPushButton>
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|