added a button to open the location of the log file

This commit is contained in:
Sergey Palcheh
2025-10-02 12:59:07 +06:00
parent 95a8d370ab
commit a35efc347d

View File

@@ -1762,6 +1762,7 @@ class WineHelperGUI(QMainWindow):
if show_global:
self.backup_button.setVisible(False)
self.create_log_button.setVisible(False)
self.open_log_dir_button.setVisible(False)
self.uninstall_button.setVisible(False)
self.current_selected_app = None
@@ -1872,6 +1873,12 @@ class WineHelperGUI(QMainWindow):
self.create_log_button.clicked.connect(self.run_installed_app_with_debug)
installed_global_layout.addWidget(self.create_log_button)
self.open_log_dir_button = QPushButton("Открыть папку с логом")
self.open_log_dir_button.setIcon(QIcon.fromTheme("folder-open"))
self.open_log_dir_button.clicked.connect(self.open_log_directory)
self.open_log_dir_button.setVisible(False) # Скрыта по умолчанию
installed_global_layout.addWidget(self.open_log_dir_button)
self.backup_button = QPushButton("Создать резервную копию префикса")
self.backup_button.setIcon(QIcon.fromTheme("document-save"))
self.backup_button.clicked.connect(self.backup_prefix_for_app)
@@ -3378,6 +3385,7 @@ class WineHelperGUI(QMainWindow):
self.installed_global_action_widget.setVisible(True)
self.backup_button.setVisible(True)
self.create_log_button.setVisible(True)
self.update_open_log_dir_button_visibility()
self.uninstall_button.setVisible(True)
self.manual_install_path_widget.setVisible(False)
@@ -3386,6 +3394,22 @@ class WineHelperGUI(QMainWindow):
self.current_selected_app = None
self.info_panel.setVisible(False)
def update_open_log_dir_button_visibility(self):
"""Проверяет наличие лог-файла и обновляет видимость кнопки."""
log_path = os.path.join(os.path.expanduser("~"), "winehelper_backup_log", "winehelper.log")
self.open_log_dir_button.setVisible(os.path.exists(log_path))
def open_log_directory(self):
"""Открывает директорию с лог-файлами."""
log_dir_path = os.path.join(os.path.expanduser("~"), "winehelper_backup_log")
if os.path.isdir(log_dir_path):
try:
subprocess.Popen(['xdg-open', log_dir_path])
except Exception as e:
QMessageBox.warning(self, "Ошибка", f"Не удалось открыть директорию:\n{log_dir_path}\n\nОшибка: {e}")
else:
QMessageBox.information(self, "Информация", f"Директория с логами не найдена:\n{log_dir_path}")
def _get_prefix_name_for_selected_app(self):
"""Извлекает имя префикса для выбранного приложения."""
if not self.current_selected_app or 'desktop_path' not in self.current_selected_app: