aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2022-11-02 09:31:39 +0000
committerTheKodeToad <TheKodeToad@proton.me>2022-11-02 09:31:39 +0000
commita1ed8154f75378a25ea20781d481fb971f616dc8 (patch)
tree8f16636ca251e1e31e343f6fbdb5b9b433b2d27e /launcher
parent6c45a990ef6b50e909368c3dfd41566ec5ca6986 (diff)
downloadPrismLauncher-a1ed8154f75378a25ea20781d481fb971f616dc8.tar.gz
PrismLauncher-a1ed8154f75378a25ea20781d481fb971f616dc8.tar.bz2
PrismLauncher-a1ed8154f75378a25ea20781d481fb971f616dc8.zip
Another fix
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher')
-rw-r--r--launcher/ui/pages/modplatform/ModPage.cpp40
1 files changed, 22 insertions, 18 deletions
diff --git a/launcher/ui/pages/modplatform/ModPage.cpp b/launcher/ui/pages/modplatform/ModPage.cpp
index f245bfc2..f347d817 100644
--- a/launcher/ui/pages/modplatform/ModPage.cpp
+++ b/launcher/ui/pages/modplatform/ModPage.cpp
@@ -282,27 +282,31 @@ void ModPage::openUrl(const QUrl& url)
dialog->selectPage(page);
ModPage* newPage = dialog->getSelectedPage();
- newPage->ui->searchEdit->setText(slug);
- newPage->triggerSearch();
-
- ModPlatform::ListModel* model = newPage->listModel;
- QListView* view = newPage->ui->packView;
-
- connect(model->activeJob(), &Task::finished, [url, slug, model, view] {
- for (int row = 0; row < model->rowCount({}); row++) {
- QModelIndex index = model->index(row);
- auto pack = model->data(index, Qt::UserRole).value<ModPlatform::IndexedPack>();
- if (pack.slug == slug) {
- view->setCurrentIndex(index);
- return;
+ QLineEdit* searchEdit = newPage->ui->searchEdit;
+
+ if (searchEdit->text() != slug) {
+ searchEdit->setText(slug);
+ newPage->triggerSearch();
+
+ ModPlatform::ListModel* model = newPage->listModel;
+ QListView* view = newPage->ui->packView;
+
+ connect(model->activeJob(), &Task::finished, [url, slug, model, view] {
+ for (int row = 0; row < model->rowCount({}); row++) {
+ QModelIndex index = model->index(row);
+ auto pack = model->data(index, Qt::UserRole).value<ModPlatform::IndexedPack>();
+ if (pack.slug == slug) {
+ view->setCurrentIndex(index);
+ return;
+ }
}
- }
- // The final fallback.
- QDesktopServices::openUrl(url);
- });
+ // The final fallback.
+ QDesktopServices::openUrl(url);
+ });
- return;
+ return;
+ }
}
}