From 1e05d232482a8bd2f76f72febdf4a84e1aee8193 Mon Sep 17 00:00:00 2001 From: Alireza Bashiri Date: Mon, 25 Aug 2025 17:11:05 +0700 Subject: [PATCH] fix: preserve version selection when loading more releases When clicking 'Load more...' to fetch additional releases, the version dropdown would show a blank selection after removing the 'Load more...' item and adding new versions. This fix saves the current selection index before removing the last item and restores it after adding new releases, ensuring the user's selected version remains visible during pagination. --- pupgui2/pupgui2installdialog.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pupgui2/pupgui2installdialog.py b/pupgui2/pupgui2installdialog.py index c8976ed7..a0c84544 100644 --- a/pupgui2/pupgui2installdialog.py +++ b/pupgui2/pupgui2installdialog.py @@ -91,6 +91,8 @@ def _threadupdate_releases_thread(): if self.loaded_page == 1: self.ui.comboCompatToolVersion.clear() else: + # Save the current selection before removing "Load more..." + current_index = self.ui.comboCompatToolVersion.currentIndex() self.ui.comboCompatToolVersion.removeItem(self.ui.comboCompatToolVersion.count() - 1) vers = self.current_ct_obj['installer'].fetch_releases(count=RELEASES_PER_PAGE, page=self.loaded_page) @@ -102,7 +104,11 @@ def _threadupdate_releases_thread(): # Stops install dialog UI elements from being enabled when rate-limited to prevent switching/installing tools if len(vers) > 0: self.ui.comboCompatToolVersion.addItems(vers) - self.ui.comboCompatToolVersion.setCurrentIndex(0) + if self.loaded_page == 1: + self.ui.comboCompatToolVersion.setCurrentIndex(0) + else: + # Restore the previous selection after loading more + self.ui.comboCompatToolVersion.setCurrentIndex(current_index) if self.more_releases_loadable: self.ui.comboCompatToolVersion.addItem(self.tr('Load more...'))