diff --git a/image/wh_default.png b/image/wh_default.png new file mode 100644 index 00000000..9db8200b Binary files /dev/null and b/image/wh_default.png differ diff --git a/manualinstall/t-flex-cad-manual b/manualinstall/t-flex-cad-manual index 29941c6f..371a40a8 100644 --- a/manualinstall/t-flex-cad-manual +++ b/manualinstall/t-flex-cad-manual @@ -2,7 +2,7 @@ # info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18 ######################################################################## export PROG_NAME="T-FLEX CAD 17/18" -export PROG_ICON="tflexcad" +export ICONS_BUTTON_GUI="tflexcad17 tflexcad18" export WH_WINE_USE="wine-10.18.1-tflex-alt2-wow64" export BASE_PFX="tflex_pfx_x64_v03" export WINEARCH="win64" diff --git a/manualinstall/t-flex-docs-manual b/manualinstall/t-flex-docs-manual index ce1f8d76..041f30ba 100644 --- a/manualinstall/t-flex-docs-manual +++ b/manualinstall/t-flex-docs-manual @@ -2,7 +2,7 @@ # info_ru: Ручная установка дополнений для T-FLEX DOCS 17 или 18 ######################################################################## export PROG_NAME="T-FLEX DOCS 17/18" -export PROG_ICON="tflexcad" +export PROG_ICON="tflexdoc17" export WH_WINE_USE="wine-10.18.1-tflex-alt2-wow64" export BASE_PFX="tflex_pfx_x64_v03" export WINEARCH="win64" diff --git a/winehelper b/winehelper index e3f706a6..b7256907 100755 --- a/winehelper +++ b/winehelper @@ -610,7 +610,7 @@ create_desktop () { print_ok "Иконка успешно извлечена и сохранена: $icon_file" else print_warning "Не удалось извлечь иконку из $exe_file. Используется иконка по умолчанию." - icon_file="wine" # Запасной вариант + icon_file="$WH_IMAGE_PATH/wh_default.png" # Запасной вариант fi try_remove_dir "$tmp_ico_dir" fi @@ -620,7 +620,7 @@ create_desktop () { # Случай 4: Запасной вариант по умолчанию else print_info "Иконка '$icon_arg' не найдена. Используется иконка по умолчанию." - icon_file="wine" + icon_file="$WH_IMAGE_PATH/wh_default.png" fi # --- Конец логики обработки иконки --- diff --git a/winehelper_gui.py b/winehelper_gui.py index c2ba55a3..5efd0dc9 100644 --- a/winehelper_gui.py +++ b/winehelper_gui.py @@ -1034,14 +1034,21 @@ class ScriptParser: with open(script_path, 'r', encoding='utf-8') as f: lines = f.readlines() - # 1. Приоритет у PROG_ICON + # 1. Приоритет у переменной ICONS_BUTTON_GUI для GUI + for line in lines: + if line.strip().startswith('export ICONS_BUTTON_GUI='): + icon_names_str = line.split('=', 1)[1].strip().strip('"\'') + if icon_names_str: + return icon_names_str.split() + + # 2. Если ICONS_BUTTON_GUI не найдена, ищем PROG_ICON (для обратной совместимости) for line in lines: if line.strip().startswith('export PROG_ICON='): - icon_name = line.split('=', 1)[1].strip().strip('"\'') - if icon_name: - return [icon_name] + icon_names_str = line.split('=', 1)[1].strip().strip('"\'') + if icon_names_str: + return icon_names_str.split() - # 2. Если PROG_ICON не найден, ищем все вызовы create_desktop + # 3. Если ничего не найдено, ищем все вызовы create_desktop icon_names = [] for line in lines: line = line.strip() @@ -5117,6 +5124,7 @@ class WineHelperGUI(QMainWindow): if exit_code == 0: self.command_log_output.append(f"\n=== Восстановление успешно завершено ===") self.update_installed_apps() + self._load_created_prefixes() self.filter_installed_buttons() else: self.command_log_output.append(f"\n=== Ошибка выполнения (код: {exit_code}) ===")