From 3a442f628891471b55800a66c39ebc61a7b33b1a Mon Sep 17 00:00:00 2001 From: Sergey Palcheh Date: Fri, 12 Sep 2025 17:49:58 +0600 Subject: [PATCH] updated the creation of a list of prefixes --- winehelper_gui.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/winehelper_gui.py b/winehelper_gui.py index 0aeb7e7..89a46b8 100644 --- a/winehelper_gui.py +++ b/winehelper_gui.py @@ -1571,6 +1571,12 @@ class WineHelperGUI(QMainWindow): # Загружаем состояние после создания всех виджетов self._load_created_prefixes() + # После загрузки выбираем первый элемент, если он доступен + if self.created_prefix_selector.count() > 0: + self.created_prefix_selector.setCurrentIndex(0) + else: + # Если список пуст, сбрасываем панель управления + self.on_created_prefix_selected(-1) # Инициализируем состояние, которое будет использоваться для логов self._reset_log_state() @@ -2212,7 +2218,7 @@ class WineHelperGUI(QMainWindow): self.created_prefix_selector.removeItem(index_to_remove) def _load_created_prefixes(self): - """Загружает список созданных префиксов, сканируя файловую систему, и восстанавливает последнее выбранное состояние.""" + """Загружает и обновляет список созданных префиксов в выпадающем списке.""" prefixes_root_path = os.path.join(Var.USER_WORK_PATH, "prefixes") if not os.path.isdir(prefixes_root_path): self.management_container_groupbox.setVisible(False) @@ -2240,13 +2246,6 @@ class WineHelperGUI(QMainWindow): self.management_container_groupbox.setVisible(True) - # По умолчанию выбираем первый элемент в списке, если он есть. - if self.created_prefix_selector.count() > 0: - self.created_prefix_selector.setCurrentIndex(0) - else: - # Если список пуст, убедимся, что панель управления сброшена. - self.on_created_prefix_selected(-1) - def on_created_prefix_selected(self, index): """Обрабатывает выбор префикса из выпадающего списка.""" if index == -1: @@ -4111,13 +4110,18 @@ class WineHelperGUI(QMainWindow): self._load_created_prefixes() new_prefix_name = None + selected_new = False if new_prefixes: - # Обычно создается один префикс, берем первый из найденных + # Обычно создается один префикс, берем первый из найденных. new_prefix_name = new_prefixes.pop() - # Находим и выбираем его в выпадающем списке + # Находим и выбираем его в выпадающем списке. index = self.created_prefix_selector.findText(new_prefix_name) if index != -1: self.created_prefix_selector.setCurrentIndex(index) + selected_new = True + + if not selected_new and self.created_prefix_selector.count() > 0: + self.created_prefix_selector.setCurrentIndex(0) # --- Конец обновления списка префиксов --- # Создаем кастомный диалог, чтобы кнопка была на русском