From 6e892347de39ea8307fd21d11eb1bdc04cd403a9 Mon Sep 17 00:00:00 2001 From: kaniol-lck <375520360@qq.com> Date: Thu, 21 Oct 2021 20:48:25 +0800 Subject: [PATCH] fixed curseforge/modrinth dialog issues --- src/ui/curseforge/curseforgemodbrowser.cpp | 2 +- src/ui/modrinth/modrinthmodbrowser.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ui/curseforge/curseforgemodbrowser.cpp b/src/ui/curseforge/curseforgemodbrowser.cpp index 307ee9cf..e8aa2d54 100644 --- a/src/ui/curseforge/curseforgemodbrowser.cpp +++ b/src/ui/curseforge/curseforgemodbrowser.cpp @@ -200,7 +200,7 @@ void CurseforgeModBrowser::on_modListWidget_doubleClicked(const QModelIndex &ind mod->setParent(dialog); dialog->setDownloadPath(downloadPath_); connect(this, &CurseforgeModBrowser::downloadPathChanged, dialog, &CurseforgeModDialog::setDownloadPath); - connect(dialog, &CurseforgeModDialog::accepted, widget, [=]{ + connect(dialog, &CurseforgeModDialog::finished, widget, [=]{ mod->setParent(widget); item->setData(Qt::UserRole + 1, false); }); diff --git a/src/ui/modrinth/modrinthmodbrowser.cpp b/src/ui/modrinth/modrinthmodbrowser.cpp index 3083cc0c..c38af528 100644 --- a/src/ui/modrinth/modrinthmodbrowser.cpp +++ b/src/ui/modrinth/modrinthmodbrowser.cpp @@ -174,6 +174,8 @@ void ModrinthModBrowser::getModList(QString name, int index) void ModrinthModBrowser::on_modListWidget_doubleClicked(const QModelIndex &index) { auto item = ui->modListWidget->item(index.row()); + if(item->data(Qt::UserRole + 1).toBool()) return; + item->setData(Qt::UserRole + 1, true); if(!item->text().isEmpty()) return; auto widget = dynamic_cast(ui->modListWidget->itemWidget(item)); auto mod = widget->mod(); @@ -182,8 +184,9 @@ void ModrinthModBrowser::on_modListWidget_doubleClicked(const QModelIndex &index mod->setParent(dialog); dialog->setDownloadPath(downloadPath_); connect(this, &ModrinthModBrowser::downloadPathChanged, dialog, &ModrinthModDialog::setDownloadPath); - connect(dialog, &ModrinthModDialog::accepted, widget, [=]{ + connect(dialog, &ModrinthModDialog::finished, widget, [=]{ mod->setParent(widget); + item->setData(Qt::UserRole + 1, false); }); dialog->show(); }