diff options
author | TheKodeToad <TheKodeToad@proton.me> | 2022-11-01 18:25:54 +0000 |
---|---|---|
committer | TheKodeToad <TheKodeToad@proton.me> | 2022-11-01 18:25:54 +0000 |
commit | c890aa18f7b24bbb0429456d8c4a9cbb1c8d2bb1 (patch) | |
tree | 8124d8c3e6e6b3d9d2bcbf6e99faaecff0113236 /launcher/ui | |
parent | 6c7d04043984c0c2c25d2cd646be223786defdc3 (diff) | |
download | PrismLauncher-c890aa18f7b24bbb0429456d8c4a9cbb1c8d2bb1.tar.gz PrismLauncher-c890aa18f7b24bbb0429456d8c4a9cbb1c8d2bb1.tar.bz2 PrismLauncher-c890aa18f7b24bbb0429456d8c4a9cbb1c8d2bb1.zip |
Only select correct mod
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/ui')
-rw-r--r-- | launcher/ui/pages/modplatform/ModPage.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/launcher/ui/pages/modplatform/ModPage.cpp b/launcher/ui/pages/modplatform/ModPage.cpp index 6a53e25e..231e98f6 100644 --- a/launcher/ui/pages/modplatform/ModPage.cpp +++ b/launcher/ui/pages/modplatform/ModPage.cpp @@ -262,7 +262,7 @@ void ModPage::openUrl(const QUrl& url) prefixLength = 5; page = "modrinth"; } else if (APPLICATION->capabilities() & Application::SupportsFlame - && url.host() == "www.curseforge.com" + && (url.host() == "curseforge.com" || url.host() == "www.curseforge.com") && url.path().toLower().startsWith("/minecraft/mc-mods/")) { prefixLength = 19; page = "curseforge"; @@ -287,8 +287,15 @@ void ModPage::openUrl(const QUrl& url) newPage->ui->searchEdit->setText(slug); newPage->triggerSearch(); - connect(newPage->listModel->activeJob(), &Task::finished, [newPage] { - newPage->ui->packView->setCurrentIndex(newPage->listModel->index(0)); + connect(newPage->listModel->activeJob(), &Task::finished, [slug, newPage] { + for (int row = 0; row < newPage->listModel->rowCount({}); row++) { + QModelIndex index = newPage->listModel->index(row); + auto pack = newPage->listModel->data(index, Qt::UserRole).value<ModPlatform::IndexedPack>(); + if (pack.slug == slug) { + newPage->ui->packView->setCurrentIndex(index); + break; + } + } }); return; |