From 019740f550114bcbf03d5a3b40ead1bf0afd3c3f Mon Sep 17 00:00:00 2001 From: taynpg Date: Wed, 22 May 2024 08:07:09 +0800 Subject: [PATCH] =?UTF-8?q?func=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=97=B6=E5=BA=94=E7=94=A8=E8=8C=83=E5=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainWidget.cpp | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/MainWidget.cpp b/MainWidget.cpp index 2f0e972..c1e29e2 100644 --- a/MainWidget.cpp +++ b/MainWidget.cpp @@ -16,7 +16,7 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget { ui->setupUi(this); - setWindowTitle(u8"OneLevelXmlOpr v1.2.12"); + setWindowTitle(u8"OneLevelXmlOpr v1.2.13"); setWindowIcon(QIcon("://resource/xml.ico")); QScreen* primaryScreen = QGuiApplication::primaryScreen(); @@ -625,20 +625,34 @@ void MainWidget::copy_multi_data() if (tab_widget_ == nullptr) { return; } - QModelIndexList indexList = tab_widget_->selectionModel()->selectedRows(); - if (indexList.size() < 1) { + std::vector vec; + + if (ui->rbAllPage->isChecked()) { + get_related_elements(vec, AREA_ALL_PAGE); + } + else if (ui->rbReplaceSelect->isChecked()) { + get_related_elements(vec, AREA_SELECT); + } + else if (ui->rbRepCurPage->isChecked()) { + get_related_elements(vec, AREA_CUR_PAGE); + } + else { + get_related_elements(vec, AREA_ALL); + } + + if (vec.size() < 1) { CUtil::msg(this, u8"无选择数据"); return; } QString ret; - for (int i = 0; i < indexList.size(); ++i) { - Element_t* e = get_element_by_row(indexList[i].row()); - if (e == nullptr) { + for (auto& item : vec) { + if (item == nullptr) { continue; } tinyxml2::XMLPrinter printer; - e->Accept(&printer); + item->element_->Accept(&printer); ret.append(printer.CStr()); + delete item; } CDataEdit edit;