forked from CastroFidel/winehelper
Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
dd2901c85e | ||
|
9f28363ac2 | ||
|
756c9e6d9e | ||
|
663cd10a5f | ||
|
86beb9eaee | ||
|
4610f6a6da | ||
|
4563d5641f | ||
|
d5f337e6b4 | ||
|
904c9c9895 | ||
|
1d4ee1fd70 | ||
|
02a2256c8c | ||
|
cbcdba204e | ||
|
66c56f6ecf | ||
|
221b59eda7 |
17
CHANGELOG
17
CHANGELOG
@@ -1,5 +1,22 @@
|
||||
История изменений:
|
||||
|
||||
0.6.0
|
||||
* обновлен графический режим Qt5
|
||||
* добавлен иконка в трее для графического режима Qt5
|
||||
* обновлены скрипты установки для t-flex-*
|
||||
* обновлен скрипт установки для scadoffice
|
||||
* добавлена ручная установка NetTest (демо версия)
|
||||
* добавлены скрипты установки ARM-KT:
|
||||
winehelper install arm-kt-att - "АРМ КТ ПРОФ АТТЕСТАТ"
|
||||
winehelper install arm-kt-dpp - "АРМ КТ ПРОФ ДПП"
|
||||
winehelper install arm-kt-es - "АРМ КТ ПРОФ НШ"
|
||||
winehelper install arm-kt-med - "АРМ КТ ПРОФ МЕД"
|
||||
winehelper install arm-kt-prof - "АРМ КТ ПРОФ ПРОФЕССИЯ"
|
||||
winehelper install arm-kt-spo - "АРМ КТ ПРОФ СПО"
|
||||
winehelper install arm-kt-vuz - "АРМ КТ ПРОФ ВУЗ"
|
||||
* winehelper killal - убивает только процессы запущенные в WinwHelper
|
||||
* другие небольшие улучшения и оптимизации скриптов
|
||||
|
||||
0.5.4:
|
||||
* обновлен графический режим Qt5:
|
||||
- добавлена возможность установки системных зависимостей
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD Учебная Версия 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX CAD Учебная Версия
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX CAD
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 17.zip"
|
||||
|
@@ -6,7 +6,7 @@ export PROG_NAME="Приложения для T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
|
@@ -6,7 +6,7 @@ export PROG_NAME="Ресурсы для T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD 2D+ 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX CAD 2D+ 17
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX DOCs 17"
|
||||
export PROG_ICON="tflexdoc"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX DOC
|
||||
AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX DOCs 17 Client.zip"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX Viewer 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX Viewer
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip"
|
||||
|
@@ -1,28 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Компоненты сервисов поддержки T-FLEX 17
|
||||
# info_ru: Компоненты сервисов поддержки T-FLEX 17 и 18
|
||||
########################################################################
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex"
|
||||
export PROG_VERSION=""
|
||||
export WH_XDG_OPEN="log"
|
||||
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2022 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
|
||||
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 dotnet20 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
||||
GRDCONTROL_VER="4.3.0-0"
|
||||
AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux"
|
||||
AUTOINSTALL_REG_LIN="$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
|
||||
|
||||
# Компоненты поддержки T-FLEX PLM (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip"
|
||||
AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17"
|
||||
AUTOINSTALL_EXE_WIN1="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007/AccessDatabaseEngine.exe"
|
||||
AUTOINSTALL_EXE_WIN_MSI="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007"
|
||||
AUTOINSTALL_EXE_WIN2="$AUTOINSTALL_DIR_WIN/TSC2/Setup_TSC2.msi"
|
||||
AUTOINSTALL_EXE_ADE2007="$AUTOINSTALL_DIR_LIN/Components/AccessDatabaseEngine.exe"
|
||||
AUTOINSTALL_EXE_TSC2="$AUTOINSTALL_DIR_LIN/Components/Setup_TSC2.msi"
|
||||
AUTOINSTALL_EXE_VC_X86="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x86.exe"
|
||||
AUTOINSTALL_EXE_VC_X64="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x64.exe"
|
||||
|
||||
prepair_wine
|
||||
|
||||
@@ -42,11 +38,8 @@ else
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd \
|
||||
|| ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then
|
||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_REG_LIN"
|
||||
fi
|
||||
try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}"
|
||||
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
|
||||
|
||||
if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе."
|
||||
@@ -55,14 +48,14 @@ else
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] ; then
|
||||
print_info "Запускаем подготовку префикса."
|
||||
# Компоненты поддержки T-FLEX PLM (Windows)
|
||||
if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then
|
||||
unpack "$AUTOINSTALL_ZIP_WIN" "$WH_TMP_DIR"
|
||||
unpack "$AUTOINSTALL_EXE_WIN1" "$AUTOINSTALL_EXE_WIN_MSI"
|
||||
|
||||
wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
|
||||
wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
|
||||
fi
|
||||
unpack "$AUTOINSTALL_EXE_ADE2007" "$AUTOINSTALL_DIR_LIN/ADE2007"
|
||||
wine_run_install "$AUTOINSTALL_DIR_LIN/ADE2007/AceRedist.msi" /q
|
||||
|
||||
wine_run_install "$AUTOINSTALL_EXE_VC_X86" /quiet
|
||||
wine_run_install "$AUTOINSTALL_EXE_VC_X64" /quiet
|
||||
wine_run_install "$AUTOINSTALL_EXE_TSC2" /q
|
||||
|
||||
rm -fR "$DRIVE_C/Program Files/Common Files/System"
|
||||
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
|
||||
@@ -74,9 +67,9 @@ else
|
||||
mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \
|
||||
"$DRIVE_C/windows/system32"
|
||||
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-32.reg"
|
||||
"$WINELOADER"64 regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/tflex.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
|
||||
fi
|
||||
|
||||
if systemctl list-units --type service --state running | grep aksusbd \
|
||||
@@ -98,14 +91,12 @@ else
|
||||
fi
|
||||
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "$AUTOINSTALL_DIR_WIN"
|
||||
|
||||
if [[ $TFLEX_ERROR == "1" ]] ; then
|
||||
fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО."
|
||||
else
|
||||
echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
# try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
print_info "Подготовка префикса и установка компонентов завершены."
|
||||
fi
|
||||
fi
|
23
manualinstall/t-flex-cad-manual
Normal file
23
manualinstall/t-flex-cad-manual
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Ручная установка дополнений для T-FLEX DOCS 17 или 18
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD 17/18"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
wine_run_install "$2"
|
||||
else
|
||||
fatal "Не найден файл установки. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/файла\""
|
||||
fi
|
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Ручная установка дополнений для T-FLEX CAD 17
|
||||
# info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_NAME="T-FLEX CAD 17/18"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
if [[ -f "$2" ]] ; then
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
wine_run_install "$2"
|
||||
else
|
@@ -171,13 +171,9 @@ d62225f6a23e49355a59a2bd9a495390694bd70d4be6d6527cfb7fb2e2d65f0d defpfx_x64_v01
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser and isolate_home by default)
|
||||
# winetricks msxml3 msxml4 msxml6 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts wsh57 vcrun6 gdiplus lucida tahoma ucrtbase2019 vcrun2019 dotnet40 dotnet48 dotnet20sp2 d3dcompiler_47
|
||||
|
||||
f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x64_v01.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20sp2 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
|
||||
|
||||
be09f25bb795c5f912fad2d122c68c8aed937821255f161c2d75a4773d11a044 tflex17_pfx_x64_v02.tar.xz
|
||||
68ad589a3e6d8a845c2e3bd4c2672cf97982b3fea0ca4b4f2fb6da126d8b3075 tflex_pfx_x64_v03.tar.xz
|
||||
# create with wine_wh_tflex_10-9_amd64
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei internal dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2019 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida t-flex-cad-prepair
|
||||
|
||||
7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
|
19
winehelper
19
winehelper
@@ -16,7 +16,7 @@ if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
||||
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
|
||||
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
|
||||
DATA_PATH="/usr/share/$SCRIPT_NAME"
|
||||
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg"
|
||||
WH_ICON_PATH="/usr/share/icons/hicolor/scalable/apps/winehelper.svg"
|
||||
CHANGELOG_FILE="/usr/share/doc/winehelper-$WH_VERSION/CHANGELOG"
|
||||
LICENSE_FILE="/usr/share/doc/winehelper-$WH_VERSION/LICENSE"
|
||||
AGREEMENT="/usr/share/doc/winehelper-$WH_VERSION/LICENSE_AGREEMENT"
|
||||
@@ -126,6 +126,12 @@ WH_TESTINSTALL_DIR="$DATA_PATH/testinstall"
|
||||
WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION"
|
||||
|
||||
WH_MENU_DIR="$HOME/.local/share/applications/WineHelper"
|
||||
|
||||
# TODO: system menu directory
|
||||
# /usr/share/desktop-directories/WineHelper.directory
|
||||
# /etc/xdg/menus/applications-merged/WineHelper.menu
|
||||
|
||||
# user menu directory
|
||||
WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory"
|
||||
WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
|
||||
|
||||
@@ -1417,12 +1423,6 @@ wine_run_install () {
|
||||
}
|
||||
|
||||
run_autoinstall () {
|
||||
if [[ $WH_USE_GUI == "1" ]] \
|
||||
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
|
||||
then print_ok "Соглашения приняты из графического интерфейса."
|
||||
else print_license_agreement
|
||||
fi
|
||||
|
||||
if [[ $1 == "--clear-pfx" ]] ; then
|
||||
export CLEAR_PREFIX="1"
|
||||
shift
|
||||
@@ -1478,6 +1478,11 @@ run_autoinstall () {
|
||||
echo
|
||||
list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
|
||||
if [[ $WH_USE_GUI == "1" ]] \
|
||||
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
|
||||
then print_ok "Соглашения приняты из графического интерфейса."
|
||||
else print_license_agreement
|
||||
fi
|
||||
source "$INSTALL_SCRIPT" "$@"
|
||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||
else
|
||||
|
@@ -1210,9 +1210,9 @@ class CreatePrefixDialog(QDialog):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.parent_gui = parent # Store reference to main window
|
||||
self.parent_gui = parent # Сохранить ссылку на главное окно
|
||||
self.setWindowTitle("Создание нового префикса")
|
||||
self.setMinimumSize(500, 250)
|
||||
self.setMinimumSize(680, 250)
|
||||
self.setModal(True)
|
||||
|
||||
# Attributes to store results
|
||||
@@ -1226,9 +1226,22 @@ class CreatePrefixDialog(QDialog):
|
||||
form_layout = QFormLayout()
|
||||
form_layout.setSpacing(10)
|
||||
|
||||
# Создаем виджет для поля ввода и предупреждения
|
||||
name_input_widget = QWidget()
|
||||
name_input_layout = QVBoxLayout(name_input_widget)
|
||||
name_input_layout.setContentsMargins(0, 0, 0, 0)
|
||||
name_input_layout.setSpacing(2)
|
||||
|
||||
self.prefix_name_edit = QLineEdit()
|
||||
self.prefix_name_edit.setPlaceholderText("Например: my_prefix")
|
||||
form_layout.addRow("<b>Имя нового префикса:</b>", self.prefix_name_edit)
|
||||
name_input_layout.addWidget(self.prefix_name_edit)
|
||||
|
||||
self.name_warning_label = QLabel("Имя может содержать только латинские буквы, цифры, тире и знаки подчеркивания.")
|
||||
self.name_warning_label.setStyleSheet("color: red;")
|
||||
self.name_warning_label.setVisible(False)
|
||||
name_input_layout.addWidget(self.name_warning_label)
|
||||
|
||||
form_layout.addRow("<b>Имя нового префикса:</b>", name_input_widget)
|
||||
|
||||
arch_widget = QWidget()
|
||||
arch_layout = QHBoxLayout(arch_widget)
|
||||
@@ -1285,7 +1298,7 @@ class CreatePrefixDialog(QDialog):
|
||||
|
||||
# Connect signals
|
||||
self.arch_win32_radio.toggled.connect(self.clear_wine_version_selection)
|
||||
self.prefix_name_edit.textChanged.connect(self.update_create_button_state)
|
||||
self.prefix_name_edit.textChanged.connect(self.validate_prefix_name)
|
||||
self.wine_version_edit.textChanged.connect(self.update_create_button_state)
|
||||
|
||||
def open_wine_version_dialog(self):
|
||||
@@ -1301,11 +1314,28 @@ class CreatePrefixDialog(QDialog):
|
||||
self.wine_version_edit.clear()
|
||||
self.selected_wine_version_value = None
|
||||
|
||||
def validate_prefix_name(self, text):
|
||||
"""Проверяет имя префикса в реальном времени и показывает/скрывает предупреждение."""
|
||||
valid_pattern = r'^[a-zA-Z0-9_-]*$'
|
||||
if re.match(valid_pattern, text):
|
||||
self.name_warning_label.setVisible(False)
|
||||
else:
|
||||
# Удаляем недопустимые символы
|
||||
cleaned_text = re.sub(r'[^a-zA-Z0-9_-]', '', text)
|
||||
# Блокируем сигналы, чтобы избежать рекурсии при изменении текста
|
||||
self.prefix_name_edit.blockSignals(True)
|
||||
self.prefix_name_edit.setText(cleaned_text)
|
||||
self.prefix_name_edit.blockSignals(False)
|
||||
self.name_warning_label.setVisible(True)
|
||||
|
||||
self.update_create_button_state()
|
||||
|
||||
def update_create_button_state(self):
|
||||
"""Включает или выключает кнопку 'Создать'."""
|
||||
name_ok = bool(self.prefix_name_edit.text().strip())
|
||||
version_ok = bool(self.wine_version_edit.text().strip())
|
||||
self.create_button.setEnabled(name_ok and version_ok)
|
||||
# Кнопка активна, только если имя валидно и версия выбрана
|
||||
self.create_button.setEnabled(name_ok and version_ok and not self.name_warning_label.isVisible())
|
||||
|
||||
def accept_creation(self):
|
||||
"""Валидирует данные, сохраняет их и закрывает диалог с успехом."""
|
||||
@@ -1315,8 +1345,8 @@ class CreatePrefixDialog(QDialog):
|
||||
QMessageBox.warning(self, "Ошибка", "Имя префикса не может быть пустым.")
|
||||
return
|
||||
|
||||
if not re.match(r'^[a-zA-Z0-9_.-]+$', prefix_name):
|
||||
QMessageBox.warning(self, "Ошибка", "Имя префикса может содержать только латинские буквы, цифры, точки, дефисы и подчеркивания.")
|
||||
if not re.match(r'^[a-zA-Z0-9_-]+$', prefix_name):
|
||||
QMessageBox.warning(self, "Ошибка", "Имя префикса может содержать только латинские буквы, цифры, дефисы и знаки подчеркивания.")
|
||||
return
|
||||
|
||||
prefix_path = os.path.join(Var.USER_WORK_PATH, "prefixes", prefix_name)
|
||||
@@ -2133,7 +2163,7 @@ class WineHelperGUI(QMainWindow):
|
||||
|
||||
# --- Контейнер для выбора и управления созданными префиксами ---
|
||||
self.management_container_groupbox = QGroupBox()
|
||||
self.management_container_groupbox.setVisible(False) # Скрыт, пока нет префиксов
|
||||
self.management_container_groupbox.setVisible(True) # Всегда виден
|
||||
container_layout = QVBoxLayout(self.management_container_groupbox)
|
||||
|
||||
selector_layout = QHBoxLayout()
|
||||
@@ -2313,8 +2343,8 @@ class WineHelperGUI(QMainWindow):
|
||||
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)
|
||||
has_prefixes_dir = os.path.isdir(prefixes_root_path)
|
||||
if not has_prefixes_dir:
|
||||
return
|
||||
|
||||
try:
|
||||
@@ -2333,12 +2363,9 @@ class WineHelperGUI(QMainWindow):
|
||||
self.created_prefix_selector.blockSignals(False)
|
||||
|
||||
if not prefix_names:
|
||||
self.management_container_groupbox.setVisible(False)
|
||||
self.on_created_prefix_selected(-1) # Убедимся, что панель управления сброшена
|
||||
return
|
||||
|
||||
self.management_container_groupbox.setVisible(True)
|
||||
|
||||
def on_created_prefix_selected(self, index):
|
||||
"""Обрабатывает выбор префикса из выпадающего списка."""
|
||||
if index == -1:
|
||||
@@ -3014,14 +3041,15 @@ class WineHelperGUI(QMainWindow):
|
||||
authors_text = QTextEdit()
|
||||
authors_text.setReadOnly(True)
|
||||
authors_text.setHtml("""
|
||||
<div style="text-align: center;">
|
||||
<h2>Разработчики</h2>
|
||||
<div style="text-align: center; font-size: 10pt;">
|
||||
<p><span style="font-size: 11pt;"><b>Разработчики</b></span><br>
|
||||
Михаил Тергоев (fidel)<br>
|
||||
Сергей Пальчех (minergenon)</p>
|
||||
<p><b>Помощники</b><br>
|
||||
<p><span style="font-size: 11pt;"><b>Помощники</b></span><br>
|
||||
Иван Мажукин (vanomj)</p>
|
||||
<p><b>Идея и поддержка:</b><br>
|
||||
сообщество ALT Linux</p>
|
||||
<p><span style="font-size: 11pt;"><b>Идея и поддержка</b></span><br>
|
||||
ООО "Базальт СПО"<br>
|
||||
ALT Linux Team</p>
|
||||
<br>
|
||||
<p>Отдельная благодарность всем, кто вносит свой вклад в развитие проекта,<br>
|
||||
тестирует и сообщает об ошибках!</p>
|
||||
@@ -3199,9 +3227,6 @@ class WineHelperGUI(QMainWindow):
|
||||
|
||||
self.created_prefix_selector.setCurrentText(prefix_name)
|
||||
|
||||
if not self.management_container_groupbox.isVisible():
|
||||
self.management_container_groupbox.setVisible(True)
|
||||
|
||||
def update_installed_apps(self):
|
||||
"""Обновляет список установленных приложений в виде кнопок"""
|
||||
# Если активная кнопка находится в списке удаляемых, сбрасываем ее
|
||||
|
Reference in New Issue
Block a user