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 |