config:基本配置更新。
This commit is contained in:
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"files.autoSave": "onFocusChange",
|
||||
"editor.fontSize": 14,
|
||||
// "editor.fontFamily": "'Source Code Pro', 'Source Code Pro', 'Source Code Pro'",
|
||||
"terminal.integrated.fontFamily": "Source Code Pro",
|
||||
"editor.fontFamily": "'Maple Mono NL NF CN Light', 'Maple Mono NL NF CN Light', 'Maple Mono NL NF CN Light'",
|
||||
"terminal.integrated.fontFamily": "Maple Mono NL NF CN Light",
|
||||
"cmake.configureOnOpen": true,
|
||||
"cmake.debugConfig": {
|
||||
"console": "integratedTerminal",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(OneLevelXmlOpr VERSION 1.3.11 LANGUAGES CXX)
|
||||
project(OneLevelXmlOpr VERSION 1.3.12 LANGUAGES CXX)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
@@ -35,6 +35,9 @@ include_directories(3rd)
|
||||
include_directories(src)
|
||||
include_directories(form)
|
||||
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}/)
|
||||
|
||||
set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
|
||||
add_subdirectory(SingleApplication-3.5.2)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ MainWidget::MainWidget(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle(u8"OneLevelXmlOpr v1.3.11");
|
||||
setWindowTitle("OneLevelXmlOpr v1.3.12");
|
||||
setWindowIcon(QIcon("://resource/xml.ico"));
|
||||
|
||||
QScreen* primaryScreen = QGuiApplication::primaryScreen();
|
||||
@@ -53,7 +53,7 @@ MainWidget::MainWidget(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
ui->btnResort->setEnabled(false);
|
||||
|
||||
connect(ui->btnSelectFile, &QPushButton::clicked, this, [&]() {
|
||||
QString file = CUtil::select_file(this, u8"请选择xml文件", u8"XML(*.xml);;所有文件 (*)");
|
||||
QString file = CUtil::select_file(this, "请选择xml文件", "XML(*.xml);;所有文件 (*)");
|
||||
if (file.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -122,7 +122,7 @@ MainWidget::MainWidget(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
return;
|
||||
}
|
||||
|
||||
if (!CUtil::affirm(this, u8"提示", u8"确认重新排序吗?")) {
|
||||
if (!CUtil::affirm(this, "提示", "确认重新排序吗?")) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ void MainWidget::copy_key()
|
||||
}
|
||||
QClipboard* clip = QApplication::clipboard();
|
||||
clip->setText(QString(target->Attribute(keys_[0].c_str())));
|
||||
// CUtil::msg(this, u8"已复制");
|
||||
// CUtil::msg(this, "已复制");
|
||||
}
|
||||
|
||||
void MainWidget::closeEvent(QCloseEvent* event)
|
||||
@@ -281,7 +281,7 @@ void MainWidget::push_content(const std::vector<tinyxml2::XMLElement*>& eles, st
|
||||
|
||||
if (page < 1 || page > all_page_) {
|
||||
if (eles.size() > 0) {
|
||||
CUtil::msg(this, u8"页码不在范围内");
|
||||
CUtil::msg(this, "页码不在范围内");
|
||||
return;
|
||||
}
|
||||
tab_widget_->clearContents();
|
||||
@@ -338,7 +338,7 @@ bool MainWidget::read(const QString& file_path)
|
||||
ui->cbUnit->clear();
|
||||
unit_change_auto_ = false;
|
||||
if (alreay_open_) {
|
||||
if (!CUtil::affirm(this, u8"确认", u8"当前已有打开文件在使用,请确认已保存相关内容再继续。")) {
|
||||
if (!CUtil::affirm(this, "确认", "当前已有打开文件在使用,请确认已保存相关内容再继续。")) {
|
||||
return false;
|
||||
} else {
|
||||
xml_.clear_data();
|
||||
@@ -349,21 +349,21 @@ bool MainWidget::read(const QString& file_path)
|
||||
// 获取配置
|
||||
cur_config_.name = ui->cbConfig->currentText().toStdString();
|
||||
if (!ini_oper_->get_item(cur_config_)) {
|
||||
CUtil::msg(this, u8"获取配置失败。");
|
||||
CUtil::msg(this, "获取配置失败。");
|
||||
clear_tab_widget();
|
||||
alreay_open_ = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!xml_.open(file_path.toStdString())) {
|
||||
CUtil::msg(this, u8"打开xml失败。");
|
||||
CUtil::msg(this, "打开xml失败。");
|
||||
clear_tab_widget();
|
||||
alreay_open_ = false;
|
||||
return false;
|
||||
}
|
||||
xml_.set_baseinfo(cur_config_);
|
||||
if (!xml_.parse_xml(vec_)) {
|
||||
CUtil::msg(this, u8"解析xml失败。");
|
||||
CUtil::msg(this, "解析xml失败。");
|
||||
clear_tab_widget();
|
||||
alreay_open_ = false;
|
||||
return false;
|
||||
@@ -499,15 +499,15 @@ void MainWidget::item_changed_handle(QTableWidgetItem* item)
|
||||
void MainWidget::save()
|
||||
{
|
||||
if (xml_.save()) {
|
||||
CUtil::msg(this, u8"保存成功");
|
||||
CUtil::msg(this, "保存成功");
|
||||
} else {
|
||||
CUtil::msg(this, u8"保存失败");
|
||||
CUtil::msg(this, "保存失败");
|
||||
}
|
||||
}
|
||||
|
||||
void MainWidget::copy_select_line()
|
||||
{
|
||||
// if (!CUtil::affirm(this, u8"确认", u8"确认复制吗?")) {
|
||||
// if (!CUtil::affirm(this, "确认", "确认复制吗?")) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
@@ -553,9 +553,9 @@ bool MainWidget::edit_property(Element_t* target, int row, bool is_copy)
|
||||
xml_.get_attributes(target, property);
|
||||
|
||||
if (is_copy) {
|
||||
attri_edit_->setWindowTitle(u8"复制项目");
|
||||
attri_edit_->setWindowTitle("复制项目");
|
||||
} else {
|
||||
attri_edit_->setWindowTitle(u8"编辑项目");
|
||||
attri_edit_->setWindowTitle("编辑项目");
|
||||
}
|
||||
|
||||
// 检测key值是否变化
|
||||
@@ -571,7 +571,7 @@ bool MainWidget::edit_property(Element_t* target, int row, bool is_copy)
|
||||
// 如果是复制,或者编辑时更改了key值,检查重复性。
|
||||
if (property[0].value != value_pre || is_copy) {
|
||||
while (xml_.check_key_exists(property)) {
|
||||
CUtil::msg(attri_edit_, u8"不能有相同的key,请检查。");
|
||||
CUtil::msg(attri_edit_, "不能有相同的key,请检查。");
|
||||
attri_edit_->exec();
|
||||
attri_edit_->get_attribute(property);
|
||||
if (!attri_edit_->is_ok_) {
|
||||
@@ -627,10 +627,10 @@ void MainWidget::init_menu()
|
||||
menu_simple_ = new QMenu();
|
||||
menu_multi_ = new QMenu();
|
||||
|
||||
ac_edit_property_ = new QAction(u8"编辑");
|
||||
ac_copy_curline_ = new QAction(u8"复制项");
|
||||
ac_del_curline_ = new QAction(u8"删除项");
|
||||
ac_copy_key_ = new QAction(u8"复制key");
|
||||
ac_edit_property_ = new QAction("编辑");
|
||||
ac_copy_curline_ = new QAction("复制项");
|
||||
ac_del_curline_ = new QAction("删除项");
|
||||
ac_copy_key_ = new QAction("复制key");
|
||||
|
||||
menu_simple_->addAction(ac_edit_property_);
|
||||
menu_simple_->addAction(ac_copy_curline_);
|
||||
@@ -680,7 +680,7 @@ void MainWidget::insert_one_line(Element_t* ele, int row)
|
||||
|
||||
void MainWidget::del_select_line()
|
||||
{
|
||||
if (!CUtil::affirm(this, u8"确认", u8"确认删除吗?")) {
|
||||
if (!CUtil::affirm(this, "确认", "确认删除吗?")) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -729,7 +729,7 @@ QTableWidgetItem* MainWidget::get_current_select_item()
|
||||
}
|
||||
QList<QTableWidgetItem*> selectedItems = tab_widget_->selectedItems();
|
||||
if (selectedItems.size() < 1) {
|
||||
CUtil::msg(this, u8"没有选中数据");
|
||||
CUtil::msg(this, "没有选中数据");
|
||||
return ret;
|
||||
}
|
||||
ret = selectedItems[0];
|
||||
@@ -803,7 +803,7 @@ void MainWidget::copy_multi_data()
|
||||
}
|
||||
|
||||
if (vec.size() < 1) {
|
||||
CUtil::msg(this, u8"无选择数据");
|
||||
CUtil::msg(this, "无选择数据");
|
||||
return;
|
||||
}
|
||||
QString ret;
|
||||
@@ -830,7 +830,7 @@ void MainWidget::replace_content(bool is_common)
|
||||
QString key = ui->edRepPre->text();
|
||||
QString after = ui->edRepAfter->text();
|
||||
if (key.isEmpty()) {
|
||||
CUtil::msg(this, u8"替换前数据为空。");
|
||||
CUtil::msg(this, "替换前数据为空。");
|
||||
return;
|
||||
}
|
||||
auto handle = [&](const std::vector<OperElement*>& vec, bool is_search) {
|
||||
@@ -852,7 +852,7 @@ void MainWidget::replace_content(bool is_common)
|
||||
if (ui->rbReplaceSelect->isChecked()) {
|
||||
QModelIndexList indexList = tab_widget_->selectionModel()->selectedRows();
|
||||
if (indexList.size() < 1) {
|
||||
CUtil::msg(this, u8"无选择数据");
|
||||
CUtil::msg(this, "无选择数据");
|
||||
return;
|
||||
}
|
||||
get_related_elements(vec, AREA_SELECT);
|
||||
@@ -868,7 +868,7 @@ void MainWidget::replace_content(bool is_common)
|
||||
get_related_elements(vec, AREA_CUR_PAGE);
|
||||
handle(vec, false);
|
||||
} else {
|
||||
if (!CUtil::affirm(this, u8"确认", u8"确认进行全局替换吗?")) {
|
||||
if (!CUtil::affirm(this, "确认", "确认进行全局替换吗?")) {
|
||||
return;
|
||||
}
|
||||
get_related_elements(vec, AREA_ALL);
|
||||
@@ -952,9 +952,9 @@ void MainWidget::backup_file()
|
||||
|
||||
QString time = QDateTime::currentDateTime().toString("yyyy-MMdd-hhmmss");
|
||||
if (!xml_.backup_file(fs::path(exe_path_).parent_path().append("backup").string(), time.toStdString())) {
|
||||
CUtil::msg(this, u8"备份失败。");
|
||||
CUtil::msg(this, "备份失败。");
|
||||
} else {
|
||||
CUtil::msg(this, u8"备份完成。");
|
||||
CUtil::msg(this, "备份完成。");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -995,7 +995,7 @@ void MainWidget::unit_change()
|
||||
}
|
||||
std::string unit = ui->cbUnit->currentText().toStdString();
|
||||
if (!xml_.get_all_elements(vec_, unit)) {
|
||||
CUtil::msg(this, u8"获取单元信息失败:" + QString::fromStdString(unit));
|
||||
CUtil::msg(this, "获取单元信息失败:" + QString::fromStdString(unit));
|
||||
return;
|
||||
}
|
||||
push_content(vec_);
|
||||
@@ -1016,15 +1016,15 @@ bool MainWidget::format_xml()
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!CUtil::affirm(this, u8"确认", u8"重排版内容将会覆盖源文件,请确认是否需要备份,继续?")) {
|
||||
if (!CUtil::affirm(this, "确认", "重排版内容将会覆盖源文件,请确认是否需要备份,继续?")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!xml_.handle_save(xml_path, set.values_)) {
|
||||
CUtil::msg(this, u8"重排版内容失败");
|
||||
CUtil::msg(this, "重排版内容失败");
|
||||
return false;
|
||||
}
|
||||
CUtil::msg(this, u8"重排版内容结束");
|
||||
CUtil::msg(this, "重排版内容结束");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ CGroupSetting::CGroupSetting(QWidget* parent, CGroupIni* oper) : QDialog(parent)
|
||||
ini_opr_ = oper;
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle(u8"配置编辑");
|
||||
setWindowTitle("配置编辑");
|
||||
|
||||
connect(ui->btnAddConfig, &QPushButton::clicked, this, [&]() { add_item(); });
|
||||
connect(ui->btnDelConfig, &QPushButton::clicked, this, [&]() { del_item(); });
|
||||
@@ -29,13 +29,13 @@ void CGroupSetting::showEvent(QShowEvent* event)
|
||||
|
||||
void CGroupSetting::add_item()
|
||||
{
|
||||
if (!CUtil::affirm(this, u8"确认", u8"确认添加/更新吗?")) {
|
||||
if (!CUtil::affirm(this, "确认", "确认添加/更新吗?")) {
|
||||
return;
|
||||
}
|
||||
QString config_name = ui->edConfigName->text();
|
||||
config_name = config_name.trimmed();
|
||||
if (config_name.isEmpty()) {
|
||||
CUtil::msg(this, u8"配置名为空");
|
||||
CUtil::msg(this, "配置名为空");
|
||||
return;
|
||||
}
|
||||
// 验证重名
|
||||
@@ -52,28 +52,28 @@ void CGroupSetting::add_item()
|
||||
gp.is_same = ui->chbIsSame->isChecked();
|
||||
|
||||
if (!ini_opr_->add_item(gp)) {
|
||||
CUtil::msg(this, u8"失败");
|
||||
CUtil::msg(this, "失败");
|
||||
return;
|
||||
}
|
||||
update_ini(QString::fromStdString(gp.name));
|
||||
CUtil::msg(this, u8"成功");
|
||||
CUtil::msg(this, "成功");
|
||||
}
|
||||
|
||||
void CGroupSetting::del_item()
|
||||
{
|
||||
if (!CUtil::affirm(this, u8"确认", u8"确认删除吗?")) {
|
||||
if (!CUtil::affirm(this, "确认", "确认删除吗?")) {
|
||||
return;
|
||||
}
|
||||
std::string key = ui->cbConfig->currentText().toStdString();
|
||||
if (!ini_opr_->del_item(key)) {
|
||||
CUtil::msg(this, u8"失败");
|
||||
CUtil::msg(this, "失败");
|
||||
return;
|
||||
}
|
||||
|
||||
// 删除成功之后要更新 cb
|
||||
update_ini("");
|
||||
|
||||
CUtil::msg(this, u8"成功");
|
||||
CUtil::msg(this, "成功");
|
||||
}
|
||||
|
||||
void CGroupSetting::set_ui(const OneGroupIni& gp)
|
||||
@@ -102,7 +102,7 @@ void CGroupSetting::change_ini()
|
||||
OneGroupIni gp;
|
||||
gp.name = name_key.toStdString();
|
||||
if (!ini_opr_->get_item(gp)) {
|
||||
CUtil::msg(this, u8"加载" + ui->cbConfig->currentText() + "失败");
|
||||
CUtil::msg(this, "加载" + ui->cbConfig->currentText() + "失败");
|
||||
} else {
|
||||
set_ui(gp);
|
||||
}
|
||||
@@ -134,7 +134,7 @@ void CGroupSetting::update_ini(const QString& cur_key)
|
||||
OneGroupIni gp;
|
||||
gp.name = ui->cbConfig->currentText().toStdString();
|
||||
if (!ini_opr_->get_item(gp)) {
|
||||
CUtil::msg(this, u8"加载" + ui->cbConfig->currentText() + "失败");
|
||||
CUtil::msg(this, "加载" + ui->cbConfig->currentText() + "失败");
|
||||
} else {
|
||||
set_ui(gp);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ QFormatSet::QFormatSet(QWidget* parent) : QDialog(parent), ui(new Ui::QFormatSet
|
||||
});
|
||||
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);;所有文件 (*)");
|
||||
QString file = CUtil::select_file(this, "请选择xml文件", "XML(*.xml);;所有文件 (*)");
|
||||
if (file.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
10
main.cpp
10
main.cpp
@@ -7,8 +7,6 @@
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
setlocale(LC_ALL, ".utf-8");
|
||||
|
||||
SingleApplication a(argc, argv);
|
||||
|
||||
#ifdef _WIN32
|
||||
@@ -18,10 +16,10 @@ int main(int argc, char *argv[])
|
||||
// a.setStyle("windows");
|
||||
#endif
|
||||
|
||||
// QFile file(":/QtTheme/theme/Flat/Light/Blue/Pink.qss");
|
||||
// if (file.open(QFile::ReadOnly)) {
|
||||
// a.setStyleSheet(file.readAll());
|
||||
// }
|
||||
QFile file(":/QtTheme/theme/Flat/Light/Blue/Pink.qss");
|
||||
if (file.open(QFile::ReadOnly)) {
|
||||
a.setStyleSheet(file.readAll());
|
||||
}
|
||||
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
void CUtil::msg(QWidget* parent, const QString& content)
|
||||
{
|
||||
QMessageBox::information(parent, u8"提示", content);
|
||||
QMessageBox::information(parent, "提示", content);
|
||||
}
|
||||
|
||||
bool CUtil::affirm(QWidget* parent, const QString& titile,
|
||||
|
||||
@@ -7,7 +7,7 @@ CAttributeEdit::CAttributeEdit(QWidget* parent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle(u8"属性编辑");
|
||||
setWindowTitle("属性编辑");
|
||||
setMinimumSize(600, 760);
|
||||
|
||||
connect(ui->btnOk, &QPushButton::clicked, this, &CAttributeEdit::handle_ok);
|
||||
@@ -84,7 +84,7 @@ void CAttributeEdit::init_table()
|
||||
{
|
||||
if (table_ == nullptr) {
|
||||
QStringList list;
|
||||
list << u8"属性" << u8"值";
|
||||
list << "属性" << "值";
|
||||
table_ = new QTableWidget();
|
||||
table_->setColumnCount(list.size());
|
||||
table_->setHorizontalHeaderLabels(list);
|
||||
|
||||
@@ -15,7 +15,7 @@ CDataEdit::CDataEdit(QWidget* parent) : QDialog(parent), ui(new Ui::CDataEdit)
|
||||
ui->setupUi(this);
|
||||
|
||||
// setMinimumWidth(600);
|
||||
setWindowTitle(u8"源编辑");
|
||||
setWindowTitle("源编辑");
|
||||
|
||||
connect(ui->btnExit, &QPushButton::clicked, this, [&]() { close(); });
|
||||
connect(ui->btnReplace, &QPushButton::clicked, this, [&]() { replace(); });
|
||||
@@ -48,17 +48,17 @@ void CDataEdit::import_data()
|
||||
is_import_sucess_ = false;
|
||||
QString data = ui->plainTextEdit->toPlainText();
|
||||
if (data.trimmed().isEmpty()) {
|
||||
CUtil::msg(this, u8"内容为空");
|
||||
CUtil::msg(this, "内容为空");
|
||||
return;
|
||||
}
|
||||
|
||||
if (xml_opr_ == nullptr) {
|
||||
CUtil::msg(this, u8"xml_opr无实例。");
|
||||
CUtil::msg(this, "xml_opr无实例。");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!CUtil::affirm(this, u8"提示",
|
||||
u8"如果出现重复的 key 将跳过,继续吗?")) {
|
||||
if (!CUtil::affirm(this, "提示",
|
||||
"如果出现重复的 key 将跳过,继续吗?")) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ void CDataEdit::import_data()
|
||||
continue;
|
||||
}
|
||||
if (!xml_opr_->check_same_struct(item.toStdString())) {
|
||||
CUtil::msg(this, u8"不是合法的xml语句或者与现有结构不一致。");
|
||||
CUtil::msg(this, "不是合法的xml语句或者与现有结构不一致。");
|
||||
return;
|
||||
}
|
||||
valid_data.push_back(item.toStdString());
|
||||
@@ -78,10 +78,10 @@ void CDataEdit::import_data()
|
||||
auto task_count = valid_data.size();
|
||||
std::size_t success_count{};
|
||||
if (!xml_opr_->import_newer_data(valid_data, success_count)) {
|
||||
CUtil::msg(this, u8"导入失败。");
|
||||
CUtil::msg(this, "导入失败。");
|
||||
return;
|
||||
}
|
||||
QString info = QString(u8"需要导入 %1 条数据,成功导入 %2 条。")
|
||||
QString info = QString("需要导入 %1 条数据,成功导入 %2 条。")
|
||||
.arg(task_count)
|
||||
.arg(success_count);
|
||||
CUtil::msg(this, info);
|
||||
@@ -112,7 +112,7 @@ void CDataEdit::show_before()
|
||||
void CDataEdit::replace()
|
||||
{
|
||||
if (ui->edPre->text().isEmpty()) {
|
||||
CUtil::msg(this, u8"未填入内容。");
|
||||
CUtil::msg(this, "未填入内容。");
|
||||
return;
|
||||
}
|
||||
QString data = ui->plainTextEdit->toPlainText();
|
||||
|
||||
Reference in New Issue
Block a user