fix:1.修正同结构导入问题。2.历史界面添加删除。3.导入排序问题。

This commit is contained in:
2024-08-28 08:42:45 +08:00
parent f2b1525b92
commit f9796c7090
7 changed files with 81 additions and 38 deletions

View File

@@ -1,8 +1,5 @@
#include "MainWidget.h"
#include "./ui_MainWidget.h"
#include "src/data_edit.h"
#include "public_def.h"
#include <QClipboard>
#include <QDateTime>
#include <QFile>
@@ -12,13 +9,17 @@
#include <QSettings>
#include <filesystem>
#include "./ui_MainWidget.h"
#include "public_def.h"
#include "src/data_edit.h"
constexpr std::size_t g_OnePage = 100;
namespace fs = std::filesystem;
MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget)
{
ui->setupUi(this);
setWindowTitle(u8"OneLevelXmlOpr v1.3.1");
setWindowTitle(u8"OneLevelXmlOpr v1.3.2");
setWindowIcon(QIcon("://resource/xml.ico"));
QScreen* primaryScreen = QGuiApplication::primaryScreen();
@@ -78,7 +79,13 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
if (!edit.is_import_sucess_) {
return;
}
xml_.get_all_elements(vec_);
if (cur_config_.is_same) {
xml_.get_all_elements(vec_, ui->cbUnit->currentText().toStdString());
} else {
xml_.get_all_elements(vec_);
}
current_.clear();
current_ = vec_;
push_content(current_);
@@ -161,11 +168,11 @@ void MainWidget::closeEvent(QCloseEvent* event)
void MainWidget::keyPressEvent(QKeyEvent* event)
{
switch (event->key()) {
case Qt::Key_Return:
search(ui->edSearchKey->text());
break;
default:
break;
case Qt::Key_Return:
search(ui->edSearchKey->text());
break;
default:
break;
}
QWidget::keyPressEvent(event);
}
@@ -326,15 +333,14 @@ bool MainWidget::read(const QString& file_path)
for (const auto& unit : units) {
list.append(QString::fromStdString(unit));
}
u_ = true;
u_ = true;
ui->cbUnit->clear();
if (!list.isEmpty()) {
ui->cbUnit->addItems(list);
ui->cbUnit->setCurrentIndex(0);
}
u_ = false;
}
else {
} else {
ui->cbUnit->setEnabled(false);
}
@@ -358,6 +364,7 @@ bool MainWidget::read(const QString& file_path)
ui->cbConfig->setEnabled(false);
ui->btnSet->setEnabled(false);
ui->btnHis->setEnabled(false);
his_->push(ui->edStatus->text().toStdString());
@@ -823,30 +830,30 @@ void MainWidget::get_related_elements(std::vector<OperElement*>& out, ReplaceAre
assert(tab_widget_);
out.clear();
switch (area) {
case AREA_ALL_PAGE: {
out.resize(current_.size());
std::transform(current_.begin(), current_.end(), out.begin(), [](Element_t* ele) { return new OperElement(ele, 0); });
break;
}
case AREA_CUR_PAGE: {
int rows = tab_widget_->rowCount();
for (int i = 0; i < rows; ++i) {
out.emplace_back(new OperElement(get_element_by_row(i), i));
case AREA_ALL_PAGE: {
out.resize(current_.size());
std::transform(current_.begin(), current_.end(), out.begin(), [](Element_t* ele) { return new OperElement(ele, 0); });
break;
}
break;
}
case AREA_ALL: {
out.resize(vec_.size());
std::transform(vec_.begin(), vec_.end(), out.begin(), [](Element_t* ele) { return new OperElement(ele, 0); });
break;
}
default: {
QModelIndexList indexList = tab_widget_->selectionModel()->selectedRows();
for (int i = 0; i < indexList.size(); ++i) {
out.emplace_back(new OperElement(get_element_by_row(indexList[i].row()), indexList[i].row()));
case AREA_CUR_PAGE: {
int rows = tab_widget_->rowCount();
for (int i = 0; i < rows; ++i) {
out.emplace_back(new OperElement(get_element_by_row(i), i));
}
break;
}
case AREA_ALL: {
out.resize(vec_.size());
std::transform(vec_.begin(), vec_.end(), out.begin(), [](Element_t* ele) { return new OperElement(ele, 0); });
break;
}
default: {
QModelIndexList indexList = tab_widget_->selectionModel()->selectedRows();
for (int i = 0; i < indexList.size(); ++i) {
out.emplace_back(new OperElement(get_element_by_row(indexList[i].row()), indexList[i].row()));
}
break;
}
break;
}
}
}