aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2022-11-01 18:25:54 +0000
committerTheKodeToad <TheKodeToad@proton.me>2022-11-01 18:25:54 +0000
commitc890aa18f7b24bbb0429456d8c4a9cbb1c8d2bb1 (patch)
tree8124d8c3e6e6b3d9d2bcbf6e99faaecff0113236 /launcher/ui
parent6c7d04043984c0c2c25d2cd646be223786defdc3 (diff)
downloadPrismLauncher-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.cpp13
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;