fix:按照类型传输时,类型重复的问题修正。

This commit is contained in:
2026-02-03 23:43:09 +08:00
parent 9f54ef60f9
commit 2f8b55be3b
6 changed files with 21 additions and 21 deletions

View File

@@ -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<QString, int> 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());

View File

@@ -25,12 +25,12 @@
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Maximum</enum>
<enum>QSizePolicy::Policy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>4000</height>
<height>60</height>
</size>
</property>
</spacer>