fix:修正刷新界面逻辑,更改替换结果后使用搜索key刷新而不是替换后的key刷新。
This commit is contained in:
parent
a6321bfd71
commit
52d3da20ad
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -19,7 +19,7 @@
|
|||||||
"visualizerFile": "${workspaceRoot}/.vscode/qt6.natvis"
|
"visualizerFile": "${workspaceRoot}/.vscode/qt6.natvis"
|
||||||
},
|
},
|
||||||
"cmake.environment": {
|
"cmake.environment": {
|
||||||
"PATH": "${env:PATH};C:/Qt/6.6.3/6.6.3/msvc2019_64/bin"
|
"PATH": "${env:PATH};C:/Qt/6.6.3/msvc2019_64/bin"
|
||||||
},
|
},
|
||||||
"cmake.options.statusBarVisibility": "visible",
|
"cmake.options.statusBarVisibility": "visible",
|
||||||
"cmake.generator": "Ninja",
|
"cmake.generator": "Ninja",
|
||||||
|
@ -30,9 +30,10 @@ set(PROJECT_SOURCES
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
if(${QT_VERSION_MAJOR} LESS 6)
|
# if(${QT_VERSION_MAJOR} LESS 6)
|
||||||
add_compile_options(/source-charset:utf-8)
|
# add_compile_options(/source-charset:utf-8)
|
||||||
endif()
|
# endif()
|
||||||
|
add_compile_options(/source-charset:utf-8)
|
||||||
add_compile_options(/EHsc)
|
add_compile_options(/EHsc)
|
||||||
add_compile_options(/wd4267)
|
add_compile_options(/wd4267)
|
||||||
add_compile_options(-D_CRT_SECURE_NO_WARNINGS)
|
add_compile_options(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
@ -16,7 +16,7 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
setWindowTitle(u8"OneLevelXmlOpr v1.2.16");
|
setWindowTitle(u8"OneLevelXmlOpr v1.2.17");
|
||||||
setWindowIcon(QIcon("://resource/xml.ico"));
|
setWindowIcon(QIcon("://resource/xml.ico"));
|
||||||
|
|
||||||
QScreen* primaryScreen = QGuiApplication::primaryScreen();
|
QScreen* primaryScreen = QGuiApplication::primaryScreen();
|
||||||
@ -457,14 +457,32 @@ bool MainWidget::edit_property(Element_t* target, int row)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ele_update_gui 的 row 参数暂时废弃,无意义。
|
||||||
void MainWidget::ele_update_gui(Element_t* target, int row)
|
void MainWidget::ele_update_gui(Element_t* target, int row)
|
||||||
{
|
{
|
||||||
if (tab_widget_ == nullptr) {
|
if (tab_widget_ == nullptr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString tkey = QString::fromLocal8Bit(target->Attribute(keys_[0].c_str()));
|
||||||
|
int target_row = -1;
|
||||||
|
// 获取当前显示的内容,查找更改。
|
||||||
|
int cur_show_cnt = tab_widget_->rowCount();
|
||||||
|
for (int i = 0; i < cur_show_cnt; ++i) {
|
||||||
|
if (tab_widget_->item(i, 0)->text() == tkey) {
|
||||||
|
target_row = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target_row < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (auto i = 0; i < keys_.size(); ++i) {
|
for (auto i = 0; i < keys_.size(); ++i) {
|
||||||
const char* v = target->Attribute(keys_[i].c_str());
|
const char* v = target->Attribute(keys_[i].c_str());
|
||||||
auto* qitem = tab_widget_->item(row, i);
|
auto* qitem = tab_widget_->item(target_row, i);
|
||||||
qitem->setText(QString(v));
|
qitem->setText(QString(v));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -694,6 +712,7 @@ void MainWidget::replace_content(bool is_common)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto handle = [&](const std::vector<OperElement*>& vec, bool is_search) {
|
auto handle = [&](const std::vector<OperElement*>& vec, bool is_search) {
|
||||||
|
//qDebug() << "要处理的数量为:" << vec.size();
|
||||||
for (auto& item : vec) {
|
for (auto& item : vec) {
|
||||||
if (is_common) {
|
if (is_common) {
|
||||||
replace_str(key, after, item->element_);
|
replace_str(key, after, item->element_);
|
||||||
@ -722,7 +741,7 @@ void MainWidget::replace_content(bool is_common)
|
|||||||
xml_.get_all_elements(vec_);
|
xml_.get_all_elements(vec_);
|
||||||
current_.clear();
|
current_.clear();
|
||||||
current_ = vec_;
|
current_ = vec_;
|
||||||
search(ui->edRepAfter->text());
|
search(ui->edSearchKey->text());
|
||||||
} else if (ui->rbRepCurPage->isChecked()) {
|
} else if (ui->rbRepCurPage->isChecked()) {
|
||||||
get_related_elements(vec, AREA_CUR_PAGE);
|
get_related_elements(vec, AREA_CUR_PAGE);
|
||||||
handle(vec, false);
|
handle(vec, false);
|
||||||
@ -763,7 +782,10 @@ void MainWidget::replace_str(Element_t* ele, const QString& rg, const QString& a
|
|||||||
for (auto i = 0; i < keys_.size(); ++i) {
|
for (auto i = 0; i < keys_.size(); ++i) {
|
||||||
auto* value = ele->Attribute(keys_[i].c_str());
|
auto* value = ele->Attribute(keys_[i].c_str());
|
||||||
QString content(value);
|
QString content(value);
|
||||||
|
// qDebug() << content;
|
||||||
content.replace(rx, after);
|
content.replace(rx, after);
|
||||||
|
//qDebug() << content;
|
||||||
|
//qDebug() << "\n";
|
||||||
ele->SetAttribute(keys_[i].c_str(), content.toStdString().c_str());
|
ele->SetAttribute(keys_[i].c_str(), content.toStdString().c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ void CAttributeEdit::handle_ok()
|
|||||||
for (int i = 0; i < row; ++i) {
|
for (int i = 0; i < row; ++i) {
|
||||||
QString key = table_->item(i, 0)->text();
|
QString key = table_->item(i, 0)->text();
|
||||||
QString value = table_->item(i, 1)->text();
|
QString value = table_->item(i, 1)->text();
|
||||||
property_.emplace_back(key.toStdString().c_str(), value.toStdString().c_str());
|
property_.emplace_back(key.toLocal8Bit().constData(), value.toLocal8Bit().constData());
|
||||||
}
|
}
|
||||||
is_ok_ = true;
|
is_ok_ = true;
|
||||||
close();
|
close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user