88 lines
2.2 KiB
C++
88 lines
2.2 KiB
C++
#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);
|
|
}
|