diff --git a/winehelper_gui.py b/winehelper_gui.py index cb8fefd..1331612 100644 --- a/winehelper_gui.py +++ b/winehelper_gui.py @@ -67,6 +67,7 @@ class WineHelperGUI(QMainWindow): self.process = None self.current_script = None self.install_process = None + self.current_display_name = None self.install_dialog = None self.current_active_button = None self.installed_buttons = [] @@ -173,7 +174,7 @@ class WineHelperGUI(QMainWindow): # Заголовок self.script_title = QLabel("Выберите программу") - self.script_title.setFont(QFont('Arial', 14, QFont.Bold)) # Шрифт и размер шрифта в заголовке инф. панели + self.script_title.setFont(QFont('Arial', 12, QFont.Bold)) # Шрифт и размер шрифта в заголовке инф. панели self.script_title.setAlignment(Qt.AlignCenter) self.info_panel_layout.addWidget(self.script_title) @@ -209,7 +210,7 @@ class WineHelperGUI(QMainWindow): install_action_layout = QVBoxLayout() install_action_layout.setContentsMargins(0, 0, 0, 0) self.install_button = QPushButton("Установить") - self.install_button.setFont(QFont('Arial', 13, QFont.Bold)) + self.install_button.setFont(QFont('Arial', 12, QFont.Bold)) # Шрифт и размер шрифта в кнопке Установить self.install_button.setStyleSheet("background-color: #4CAF50; color: white;") self.install_button.clicked.connect(self.install_current_script) install_action_layout.addWidget(self.install_button) @@ -844,6 +845,11 @@ class WineHelperGUI(QMainWindow): print(f"Error getting prefix name from {desktop_file}: {e}") return None + def _get_current_app_title(self): + """Возвращает отображаемое имя для текущей выбранной программы.""" + # Если display_name не установлено (например, при ошибке), используем имя скрипта + return self.current_display_name or self.current_script + def backup_prefix_for_app(self): """Создает резервную копию префикса для выбранного приложения.""" prefix_name = self._get_prefix_name_for_selected_app() @@ -1217,6 +1223,7 @@ class WineHelperGUI(QMainWindow): prog_name = self.extract_prog_name_from_script(script_path) prog_url = self.extract_prog_url_from_script(script_path) display_name = prog_name if prog_name else script_name + self.current_display_name = display_name if icon_names: # Для заголовка используем первую иконку из списка @@ -1239,7 +1246,7 @@ class WineHelperGUI(QMainWindow): self.install_action_widget.setVisible(True) self.installed_action_widget.setVisible(False) self.installed_global_action_widget.setVisible(False) - self.install_button.setText(f"Установить {display_name}") + self.install_button.setText(f"Установить «{display_name}»") def install_current_script(self): """Устанавливает текущий выбранный скрипт""" @@ -1253,7 +1260,8 @@ class WineHelperGUI(QMainWindow): # Создаем диалоговое окно установки self.install_dialog = QDialog(self) - self.install_dialog.setWindowTitle(f"Установка {self.current_script}") + title_name = self._get_current_app_title() + self.install_dialog.setWindowTitle(f"Установка «{title_name}»") self.install_dialog.setMinimumSize(750, 400) self.install_dialog.setWindowModality(Qt.WindowModal) @@ -1391,7 +1399,8 @@ class WineHelperGUI(QMainWindow): if install_file: args.append(install_file) - self.append_log(f"=== Начало установки {self.current_script} ===") + title_name = self._get_current_app_title() + self.append_log(f"=== Начало установки «{title_name}» ===") self.append_log(f"Исполняемый файл: {winehelper_path}") self.append_log(f"Аргументы: {' '.join(shlex.quote(a) for a in args)}") @@ -1497,7 +1506,8 @@ class WineHelperGUI(QMainWindow): # Создаем кастомный диалог, чтобы кнопка была на русском success_box = QMessageBox(self.install_dialog) success_box.setWindowTitle("Успех") - success_box.setText(f"Программа {self.current_script} установлена успешно!") + title_name = self._get_current_app_title() + success_box.setText(f"Программа «{title_name}» установлена успешно!") success_box.setIcon(QMessageBox.Information) success_box.addButton("Готово", QMessageBox.AcceptRole) success_box.exec_()