From cbe535b878acc9419d11404c4194578c354cde7d Mon Sep 17 00:00:00 2001 From: Sergey Palcheh Date: Tue, 23 Sep 2025 10:40:33 +0600 Subject: [PATCH] removed the jump when selecting the app button --- winehelper_gui.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/winehelper_gui.py b/winehelper_gui.py index a1ddb479..528329cc 100644 --- a/winehelper_gui.py +++ b/winehelper_gui.py @@ -3058,11 +3058,13 @@ class WineHelperGUI(QMainWindow): def show_installed_app_info(self, desktop_path, button_widget): """Показывает информацию об установленном приложении в правой панели.""" self._set_active_button(button_widget) - # Очищаем поле поиска и принудительно обновляем список, чтобы показать все приложения - self.installed_search_edit.blockSignals(True) - self.installed_search_edit.clear() - self.installed_search_edit.blockSignals(False) - self.filter_installed_buttons() + # Если в поиске был текст, очищаем его и перерисовываем список. + # Это предотвращает "прыжок", если список не был отфильтрован. + if self.installed_search_edit.text(): + self.installed_search_edit.blockSignals(True) + self.installed_search_edit.clear() + self.installed_search_edit.blockSignals(False) + self.filter_installed_buttons() # Прокручиваем к выбранному элементу frame = button_widget.parent() @@ -3732,11 +3734,14 @@ class WineHelperGUI(QMainWindow): search_edit = tab_data['search_edit'] scroll_area = tab_data['scroll_area'] - # Общая логика: очищаем поиск, обновляем список и прокручиваем к элементу - search_edit.blockSignals(True) - search_edit.clear() - search_edit.blockSignals(False) - self.filter_buttons(tab_type) + # Если в поиске был текст, очищаем его и перерисовываем список. + # Это предотвращает "прыжок", если список не был отфильтрован. + if search_edit.text(): + search_edit.blockSignals(True) + search_edit.clear() + search_edit.blockSignals(False) + self.filter_buttons(tab_type) + frame = button_widget.parent() if isinstance(frame, QFrame): QTimer.singleShot(0, lambda: scroll_area.ensureWidgetVisible(frame))