diff options
author | Ryan Cao <70191398+ryanccn@users.noreply.github.com> | 2022-06-01 00:12:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-01 00:12:14 +0800 |
commit | e06bf17d13b991fea5e49ff23b6fe9c8f5540e02 (patch) | |
tree | 3456de4848d8ef68f954a1fe5c288e62a075d789 /launcher/ui/dialogs/ModDownloadDialog.cpp | |
parent | 9673dac22b0ff81a54847d5db5438c099a6df587 (diff) | |
parent | 04a3669fc470130a5d7f2dfd32f06a3f2aceb165 (diff) | |
download | PrismLauncher-e06bf17d13b991fea5e49ff23b6fe9c8f5540e02.tar.gz PrismLauncher-e06bf17d13b991fea5e49ff23b6fe9c8f5540e02.tar.bz2 PrismLauncher-e06bf17d13b991fea5e49ff23b6fe9c8f5540e02.zip |
Merge branch 'PolyMC:develop' into macos-app-heuristic
Diffstat (limited to 'launcher/ui/dialogs/ModDownloadDialog.cpp')
-rw-r--r-- | launcher/ui/dialogs/ModDownloadDialog.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/launcher/ui/dialogs/ModDownloadDialog.cpp b/launcher/ui/dialogs/ModDownloadDialog.cpp index 305e85c0..f01c9c07 100644 --- a/launcher/ui/dialogs/ModDownloadDialog.cpp +++ b/launcher/ui/dialogs/ModDownloadDialog.cpp @@ -77,18 +77,20 @@ void ModDownloadDialog::confirm() auto keys = modTask.keys(); keys.sort(Qt::CaseInsensitive); - auto confirm_dialog = ReviewMessageBox::create( - this, - tr("Confirm mods to download") - ); + auto confirm_dialog = ReviewMessageBox::create(this, tr("Confirm mods to download")); - for(auto& task : keys){ - confirm_dialog->appendMod(task, modTask.find(task).value()->getFilename()); + for (auto& task : keys) { + confirm_dialog->appendMod({ task, modTask.find(task).value()->getFilename() }); } - connect(confirm_dialog, &QDialog::accepted, this, &ModDownloadDialog::accept); + if (confirm_dialog->exec()) { + auto deselected = confirm_dialog->deselectedMods(); + for (auto name : deselected) { + modTask.remove(name); + } - confirm_dialog->open(); + this->accept(); + } } void ModDownloadDialog::accept() @@ -132,6 +134,12 @@ bool ModDownloadDialog::isModSelected(const QString &name, const QString& filena return iter != modTask.end() && (iter.value()->getFilename() == filename); } +bool ModDownloadDialog::isModSelected(const QString &name) const +{ + auto iter = modTask.find(name); + return iter != modTask.end(); +} + ModDownloadDialog::~ModDownloadDialog() { } |