the status bar in the prefix component manager window has been removed
This commit is contained in:
@@ -474,10 +474,9 @@ class WinetricksManagerDialog(QDialog):
|
|||||||
self.log_output.setText(self.INFO_TEXT)
|
self.log_output.setText(self.INFO_TEXT)
|
||||||
main_layout.addWidget(self.log_output)
|
main_layout.addWidget(self.log_output)
|
||||||
|
|
||||||
# Кнопки управления
|
# Кнопки управления, выровненные по правому краю
|
||||||
button_layout = QHBoxLayout()
|
button_layout = QHBoxLayout()
|
||||||
self.status_label = QLabel("Загрузка компонентов...")
|
button_layout.addStretch(1)
|
||||||
button_layout.addWidget(self.status_label, 1)
|
|
||||||
|
|
||||||
self.apply_button = QPushButton("Применить")
|
self.apply_button = QPushButton("Применить")
|
||||||
self.apply_button.setEnabled(False)
|
self.apply_button.setEnabled(False)
|
||||||
@@ -548,7 +547,6 @@ class WinetricksManagerDialog(QDialog):
|
|||||||
def load_all_categories(self):
|
def load_all_categories(self):
|
||||||
"""Запускает загрузку всех категорий."""
|
"""Запускает загрузку всех категорий."""
|
||||||
self.loading_count = len(self.categories)
|
self.loading_count = len(self.categories)
|
||||||
self.category_statuses = {name: "загрузка..." for name in self.categories.keys()}
|
|
||||||
for internal_name in self.categories.values():
|
for internal_name in self.categories.values():
|
||||||
self._start_load_process(internal_name)
|
self._start_load_process(internal_name)
|
||||||
|
|
||||||
@@ -602,13 +600,6 @@ class WinetricksManagerDialog(QDialog):
|
|||||||
process.finished.connect(partial(self._on_load_finished, category))
|
process.finished.connect(partial(self._on_load_finished, category))
|
||||||
process.start(self.winetricks_path, [category, "list"])
|
process.start(self.winetricks_path, [category, "list"])
|
||||||
|
|
||||||
def _update_status_label(self):
|
|
||||||
"""Обновляет текстовую метку состояния загрузки."""
|
|
||||||
status_parts = []
|
|
||||||
for name, status in self.category_statuses.items():
|
|
||||||
status_parts.append(f"{name}: {status}")
|
|
||||||
self.status_label.setText(" | ".join(status_parts))
|
|
||||||
|
|
||||||
def _parse_winetricks_log(self):
|
def _parse_winetricks_log(self):
|
||||||
"""Читает winetricks.log и возвращает множество установленных компонентов."""
|
"""Читает winetricks.log и возвращает множество установленных компонентов."""
|
||||||
installed_verbs = set()
|
installed_verbs = set()
|
||||||
@@ -681,22 +672,15 @@ class WinetricksManagerDialog(QDialog):
|
|||||||
|
|
||||||
if exit_code != 0 or exit_status != QProcess.NormalExit:
|
if exit_code != 0 or exit_status != QProcess.NormalExit:
|
||||||
error_string = process.errorString() if process else "N/A"
|
error_string = process.errorString() if process else "N/A"
|
||||||
self._log(f"--- Ошибка загрузки категории '{category}' (код: {exit_code}) ---", "red")
|
self._log(f"--- Ошибка загрузки категории '{category_display_name}' (код: {exit_code}) ---", "red")
|
||||||
self.category_statuses[category_display_name] = "ошибка"
|
|
||||||
self._update_status_label() # Показываем ошибку в статусе
|
|
||||||
if exit_status == QProcess.CrashExit:
|
if exit_status == QProcess.CrashExit:
|
||||||
self._log("--- Процесс winetricks завершился аварийно. ---", "red")
|
self._log("--- Процесс winetricks завершился аварийно. ---", "red")
|
||||||
# По умолчанию используется "Неизвестная ошибка", которая не очень полезна.
|
|
||||||
if error_string != "Неизвестная ошибка":
|
if error_string != "Неизвестная ошибка":
|
||||||
self._log(f"--- Системная ошибка: {error_string} ---", "red")
|
self._log(f"--- Системная ошибка: {error_string} ---", "red")
|
||||||
self._log(output if output.strip() else "Winetricks не вернул вывод. Проверьте, что он работает корректно.")
|
self._log(output if output.strip() else "Winetricks не вернул вывод. Проверьте, что он работает корректно.")
|
||||||
self._log("--------------------------------------------------", "red")
|
self._log("--------------------------------------------------", "red")
|
||||||
else:
|
else:
|
||||||
self.category_statuses[category_display_name] = "готово"
|
|
||||||
installed_verbs = self._parse_winetricks_log()
|
installed_verbs = self._parse_winetricks_log()
|
||||||
# Обновляем статус только если это была сетевая загрузка
|
|
||||||
if from_cache is None:
|
|
||||||
self._update_status_label()
|
|
||||||
found_items = self._parse_winetricks_list_output(output, installed_verbs, list_widget)
|
found_items = self._parse_winetricks_list_output(output, installed_verbs, list_widget)
|
||||||
|
|
||||||
if from_cache is None: # Только если мы не читали из кэша
|
if from_cache is None: # Только если мы не читали из кэша
|
||||||
@@ -721,7 +705,6 @@ class WinetricksManagerDialog(QDialog):
|
|||||||
|
|
||||||
self.loading_count -= 1
|
self.loading_count -= 1
|
||||||
if self.loading_count == 0:
|
if self.loading_count == 0:
|
||||||
self.status_label.setText("Готово.")
|
|
||||||
self._update_ui_state()
|
self._update_ui_state()
|
||||||
|
|
||||||
def _on_item_changed(self, item):
|
def _on_item_changed(self, item):
|
||||||
@@ -876,7 +859,6 @@ class WinetricksManagerDialog(QDialog):
|
|||||||
search_edit.clear()
|
search_edit.clear()
|
||||||
|
|
||||||
# Перезагружаем данные, чтобы обновить состояние
|
# Перезагружаем данные, чтобы обновить состояние
|
||||||
self.status_label.setText("Обновление данных...")
|
|
||||||
self.initial_states.clear()
|
self.initial_states.clear()
|
||||||
self.load_all_categories()
|
self.load_all_categories()
|
||||||
self.installation_finished = True
|
self.installation_finished = True
|
||||||
|
Reference in New Issue
Block a user