diff options
author | TheKodeToad <TheKodeToad@proton.me> | 2022-11-02 09:31:39 +0000 |
---|---|---|
committer | TheKodeToad <TheKodeToad@proton.me> | 2022-11-02 09:31:39 +0000 |
commit | a1ed8154f75378a25ea20781d481fb971f616dc8 (patch) | |
tree | 8f16636ca251e1e31e343f6fbdb5b9b433b2d27e /launcher/ui/pages | |
parent | 6c45a990ef6b50e909368c3dfd41566ec5ca6986 (diff) | |
download | PrismLauncher-a1ed8154f75378a25ea20781d481fb971f616dc8.tar.gz PrismLauncher-a1ed8154f75378a25ea20781d481fb971f616dc8.tar.bz2 PrismLauncher-a1ed8154f75378a25ea20781d481fb971f616dc8.zip |
Another fix
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/ui/pages')
-rw-r--r-- | launcher/ui/pages/modplatform/ModPage.cpp | 40 |
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; + } } } |