OneLevelXmlOpr/form/qformatset.cpp

88 lines
2.2 KiB
C++
Raw Normal View History

#include "qformatset.h"
#include "../public_def.h"
#include "ui_qformatset.h"
QFormatSet::QFormatSet(QWidget* parent)
: QDialog(parent), ui(new Ui::QFormatSet)
{
ui->setupUi(this);
connect(ui->btnOk, &QPushButton::clicked, this, [&]() { handle(); });
connect(ui->btnCancel, &QPushButton::clicked, this, [&]() {
isok_ = false;
close();
});
connect(ui->cbAll, &QCheckBox::toggled, this, [&]() { check_select(); });
connect(ui->btnSelect, &QPushButton::clicked, this, [&]() {
QString file = CUtil::select_file(this, u8"请选择xml文件",
u8"XML(*.xml);;所有文件 (*)");
if (file.isEmpty()) {
return;
}
ui->edXmlPath->setText(file);
});
}
QFormatSet::~QFormatSet()
{
delete ui;
}
void QFormatSet::handle()
{
values_.clear();
if (ui->cbAdd->isChecked()) {
values_.push_back("+");
}
if (ui->cbAnd->isChecked()) {
values_.push_back("&&");
}
if (ui->cbOr->isChecked()) {
values_.push_back("||");
}
if (ui->cbMul->isChecked()) {
values_.push_back("*");
}
if (ui->cbSub->isChecked()) {
values_.push_back("-");
}
if (ui->cbDiv->isChecked()) {
values_.push_back("/");
}
if (ui->cbLess->isChecked()) {
values_.push_back("<");
}
if (ui->cbMore->isChecked()) {
values_.push_back(">");
}
if (ui->cbEq->isChecked()) {
values_.push_back("==");
}
if (ui->cbNotEq->isChecked()) {
values_.push_back("!=");
}
xml_path_ = ui->edXmlPath->text().toStdString();
isok_ = true;
close();
}
void QFormatSet::check_select()
{
auto set_check = [&](QCheckBox* ed, bool check) {
if (ed) {
ed->setChecked(check);
}
};
bool check = ui->cbAll->isChecked();
set_check(ui->cbAdd, check);
set_check(ui->cbSub, check);
set_check(ui->cbMul, check);
set_check(ui->cbDiv, check);
set_check(ui->cbLess, check);
set_check(ui->cbMore, check);
set_check(ui->cbOr, check);
set_check(ui->cbAnd, check);
set_check(ui->cbEq, check);
set_check(ui->cbNotEq, check);
}