From 2f8b55be3beff0e09303035c25534128576472af Mon Sep 17 00:00:00 2001 From: taynpg Date: Tue, 3 Feb 2026 23:43:09 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=8C=89=E7=85=A7=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=BC=A0=E8=BE=93=E6=97=B6=EF=BC=8C=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=9A=84=E9=97=AE=E9=A2=98=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 10 ++-------- .vscode/settings.json | 1 + CMakeLists.txt | 2 +- Gui/Control/CompareControl.cpp | 24 ++++++++++++++---------- Gui/Control/LogControl.ui | 4 ++-- Note/version.md | 1 + 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1b35681..1c12212 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ variables: VS_DIR: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools" VS_ENV: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/Common7/Tools/Microsoft.VisualStudio.DevShell.dll" CMAKE_BUILD_TYPE: Release - PROJECT_VERSION: "0.2.5" + PROJECT_VERSION: "0.2.6" CMAKE_GENERATOR: "Ninja" PROJECT_NAME: "frelay" ARCH_TYPE: x64 @@ -17,13 +17,7 @@ variables: # 优化 - - 删除新建文件(夹)成功时不提示。 - - 选择上传下载移动到右键菜单中。 - - # 功能新增 - - - 对照传输支持按照类型传输。 - - 添加日志内容清空按钮。 + - 按照类型传输时,类型重复的问题修正。 # 关于预构建包 diff --git a/.vscode/settings.json b/.vscode/settings.json index c0c31a3..c8a92f4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,6 +13,7 @@ "ignoreFailures": true } ], + "visualizerFile": "${workspaceRoot}/.vscode/qt6.natvis", "args": [] }, "cmake.configureSettings": { diff --git a/CMakeLists.txt b/CMakeLists.txt index ad256ac..ecef0f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -project(frelay VERSION 0.2.5 LANGUAGES CXX) +project(frelay VERSION 0.2.6 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/Gui/Control/CompareControl.cpp b/Gui/Control/CompareControl.cpp index 2562c5c..457f8cc 100644 --- a/Gui/Control/CompareControl.cpp +++ b/Gui/Control/CompareControl.cpp @@ -392,17 +392,21 @@ void Compare::FilterFiles(bool isUpload) listWidget.setSelectionMode(QAbstractItemView::NoSelection); QListWidgetItem* allItem = new QListWidgetItem("*(ALL)"); - allItem->setData(Qt::UserRole, "*"); + allItem->setData(Qt::UserRole, "*ALL"); allItem->setCheckState(curSelectTypes_.contains("*") ? Qt::Checked : Qt::Unchecked); listWidget.addItem(allItem); + std::map typeCounts; int rows = ui->tableWidget->rowCount(); for (int i = 0; i < rows; ++i) { - QString ext = ui->tableWidget->item(i, 0)->text().split(".").last().toUpper(); - QListWidgetItem* item = new QListWidgetItem(ext); - item->setData(Qt::UserRole, ext); - item->setCheckState(curSelectTypes_.contains(ext) ? Qt::Checked : Qt::Unchecked); - listWidget.addItem(item); + QString ext = ui->tableWidget->item(i, 0)->text().split(".").last().toLower(); + if (typeCounts.count(ext) < 1) { + QListWidgetItem* item = new QListWidgetItem(ext); + item->setData(Qt::UserRole, ext); + item->setCheckState(curSelectTypes_.contains(ext) ? Qt::Checked : Qt::Unchecked); + listWidget.addItem(item); + typeCounts[ext] = 1; + } } QDialogButtonBox buttons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, &dialog); @@ -451,8 +455,8 @@ void Compare::TransToLeft(bool useSelectTypes) if (useSelectTypes) { for (int i = 0; i < ui->tableWidget->rowCount(); ++i) { - QString ext = ui->tableWidget->item(i, 0)->text().split(".").last().toUpper(); - if (curSelectTypes_.contains(ext)) { + QString ext = ui->tableWidget->item(i, 0)->text().split(".").last().toLower(); + if (curSelectTypes_.contains(ext) || curSelectTypes_.contains("*ALL")) { const QTableWidgetItem* itemF = ui->tableWidget->item(i, 1); const QTableWidgetItem* itemT = ui->tableWidget->item(i, 2); pushTask(itemT->text(), Util::Join(itemF->text(), ui->tableWidget->item(i, 0)->text())); @@ -495,8 +499,8 @@ void Compare::TransToRight(bool useSelectTypes) if (useSelectTypes) { for (int i = 0; i < ui->tableWidget->rowCount(); ++i) { - QString ext = ui->tableWidget->item(i, 0)->text().split(".").last().toUpper(); - if (curSelectTypes_.contains(ext)) { + QString ext = ui->tableWidget->item(i, 0)->text().split(".").last().toLower(); + if (curSelectTypes_.contains(ext) || curSelectTypes_.contains("*ALL")) { const QTableWidgetItem* itemF = ui->tableWidget->item(i, 1); const QTableWidgetItem* itemT = ui->tableWidget->item(i, 2); pushTask(Util::Join(itemF->text(), ui->tableWidget->item(i, 0)->text()), itemT->text()); diff --git a/Gui/Control/LogControl.ui b/Gui/Control/LogControl.ui index 620ce4b..1e2fcdb 100644 --- a/Gui/Control/LogControl.ui +++ b/Gui/Control/LogControl.ui @@ -25,12 +25,12 @@ Qt::Orientation::Vertical - QSizePolicy::Policy::Maximum + QSizePolicy::Policy::Expanding 20 - 4000 + 60 diff --git a/Note/version.md b/Note/version.md index 410c40b..bd00089 100644 --- a/Note/version.md +++ b/Note/version.md @@ -8,6 +8,7 @@ | 序号 | 类型 | 内容 | 说明 | 基于版本 | 完成版本 | | :--: | :--: | ------------------------------------------------------------ | :----: | :------: | :------: | +| 51 | 问题 | 按照类型传输时,类型重复的问题修正 | | 0.2.5 | 0.2.6 | | 50 | 功能 | 添加日志内容清空按钮。 | | 0.2.4 | 0.2.5 | | 49 | 功能 | 对照传输支持按照类型传输。 | | 0.2.4 | 0.2.5 | | 48 | 优化 | 选择上传下载移动到右键菜单中。 | | 0.2.4 | 0.2.5 |