Commit 369860af authored by Vladislav's avatar Vladislav

Fixed bugs

parent d327053f
...@@ -810,33 +810,26 @@ search_desktop_file () { ...@@ -810,33 +810,26 @@ search_desktop_file () {
sed -i "s|Exec=env \"$PORT_SCRIPTS_PATH/start.sh\"|Exec=flatpak run ru.linux_gaming.PortProton|" "$desktop_file" sed -i "s|Exec=env \"$PORT_SCRIPTS_PATH/start.sh\"|Exec=flatpak run ru.linux_gaming.PortProton|" "$desktop_file"
fi fi
EXEC_DESKTOP_NEW=${EXEC_DESKTOP//\"/} EXEC_DESKTOP_NEW=${EXEC_DESKTOP//\"/}
if [[ -n $TIME_CURRENT_PROXY ]] && [[ $portwine_exe == "$EXEC_DESKTOP_NEW" ]] ; then
TIME_CURRENT=$TIME_CURRENT_PROXY
TIME_CURRENT_ARRAY+=($TIME_CURRENT)
# Если существует несколько .desktop файлов на один и тот же .exe файл,
# то среди них время берётся из того .desktop файла, в котором проведено дольше времени
# и данное время будет потом записываться во все .desktop файлы у которых общий .exe файл
if [[ -n ${TIME_CURRENT_ARRAY[1]} ]] ; then
for i in "${!TIME_CURRENT_ARRAY[@]}" ; do
for j in "${!TIME_CURRENT_ARRAY[@]}" ; do
if (( ${TIME_CURRENT_ARRAY[$i]} > ${TIME_CURRENT_ARRAY[$j]} )) ; then
tmp=${TIME_CURRENT_ARRAY[$i]}
TIME_CURRENT_ARRAY[i]=${TIME_CURRENT_ARRAY[$j]}
TIME_CURRENT_ARRAY[j]=$tmp
fi
done
done
fi
TIME_CURRENT="${TIME_CURRENT_ARRAY[0]}"
fi
unset TIME_CURRENT_PROXY
if [[ $portwine_exe == "$EXEC_DESKTOP_NEW" ]] ; then if [[ $portwine_exe == "$EXEC_DESKTOP_NEW" ]] ; then
# Когда новый .desktop файл if [[ -n $TIME_CURRENT_PROXY ]] ; then
if [[ $TIME_CURRENT == "" ]] ; then TIME_CURRENT=$TIME_CURRENT_PROXY
echo "#NEW_DESKTOP" >> "$desktop_file" TIME_CURRENT_ARRAY+=($TIME_CURRENT)
TIME_CURRENT="0" # Если существует несколько .desktop файлов на один и тот же .exe файл,
# Для битых #Time= # то среди них время берётся из того .desktop файла, в котором проведено дольше времени
else # и данное время будет потом записываться во все .desktop файлы у которых общий .exe файл
if [[ -n ${TIME_CURRENT_ARRAY[1]} ]] ; then
for i in "${!TIME_CURRENT_ARRAY[@]}" ; do
for j in "${!TIME_CURRENT_ARRAY[@]}" ; do
if (( ${TIME_CURRENT_ARRAY[$i]} > ${TIME_CURRENT_ARRAY[$j]} )) ; then
tmp=${TIME_CURRENT_ARRAY[$i]}
TIME_CURRENT_ARRAY[i]=${TIME_CURRENT_ARRAY[$j]}
TIME_CURRENT_ARRAY[j]=$tmp
fi
done
done
fi
TIME_CURRENT="${TIME_CURRENT_ARRAY[0]}"
# Для битых #Time=
if [[ ! $TIME_CURRENT =~ [0-9]+ ]] \ if [[ ! $TIME_CURRENT =~ [0-9]+ ]] \
|| (( TIME_CURRENT >= 999999999 )) ; then || (( TIME_CURRENT >= 999999999 )) ; then
TIME_CURRENT="0" TIME_CURRENT="0"
...@@ -845,10 +838,13 @@ search_desktop_file () { ...@@ -845,10 +838,13 @@ search_desktop_file () {
DESKTOP_FILES_ARRAY["$count"]="$desktop_file" DESKTOP_FILES_ARRAY["$count"]="$desktop_file"
(( count++ )) (( count++ ))
fi fi
unset TIME_CURRENT_PROXY
fi fi
fi fi
done done
IFS="$orig_IFS" IFS="$orig_IFS"
[[ -z $TIME_CURRENT ]] && TIME_CURRENT=0
export TIME_CURRENT export TIME_CURRENT
if [[ -n $PW_TIME_IN_GAME ]] ; then if [[ -n $PW_TIME_IN_GAME ]] ; then
...@@ -5575,6 +5571,9 @@ portwine_create_shortcut () { ...@@ -5575,6 +5571,9 @@ portwine_create_shortcut () {
unset PW_SKIP_RESTART_STEAM unset PW_SKIP_RESTART_STEAM
fi fi
# Когда новый .desktop файл
echo "#NEW_DESKTOP" >> "$PORT_WINE_PATH/$name_desktop.desktop"
if [[ "$PW_NO_RESTART_PPDB" != "1" ]] ; then if [[ "$PW_NO_RESTART_PPDB" != "1" ]] ; then
print_info "Restarting PP..." print_info "Restarting PP..."
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB [[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
......
...@@ -636,10 +636,10 @@ else ...@@ -636,10 +636,10 @@ else
[[ $line =~ ^#NEW_DESKTOP ]] && NEW_DESKTOP=1 [[ $line =~ ^#NEW_DESKTOP ]] && NEW_DESKTOP=1
done < "$desktop_file" done < "$desktop_file"
PW_ALL_DF["$AMOUNT_GENERATE_BUTTONS"]="$desktop_file_new" PW_ALL_DF["$AMOUNT_GENERATE_BUTTONS"]="$desktop_file_new"
if [[ $NEW_DESKTOP == 1 ]] && [[ $SORT_WITH_TIME == enabled ]] ; then if [[ $SORT_WITH_TIME == enabled ]] && [[ $NEW_DESKTOP == 1 ]] ; then
unset NEW_DESKTOP unset NEW_DESKTOP
sed -i '/^#NEW_DESKTOP/d' "$desktop_file" sed -i '/^#NEW_DESKTOP/d' "$desktop_file"
PW_AMOUNT_NEW_DESKTOP+=($AMOUNT_GENERATE_BUTTONS) PW_AMOUNT_NEW_DESKTOP=($AMOUNT_GENERATE_BUTTONS)
else else
PW_AMOUNT_OLD_DESKTOP+=($AMOUNT_GENERATE_BUTTONS) PW_AMOUNT_OLD_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)
fi fi
...@@ -657,7 +657,7 @@ else ...@@ -657,7 +657,7 @@ else
portwine_exe=${PW_NAME_D_ICON["$AMOUNT_GENERATE_BUTTONS"]//\"/} portwine_exe=${PW_NAME_D_ICON["$AMOUNT_GENERATE_BUTTONS"]//\"/}
search_desktop_file search_desktop_file
unset portwine_exe unset portwine_exe
PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]=${TIME_CURRENT_ARRAY[0]} PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]=$TIME_CURRENT
fi fi
(( AMOUNT_GENERATE_BUTTONS++ )) (( AMOUNT_GENERATE_BUTTONS++ ))
fi fi
...@@ -667,10 +667,9 @@ else ...@@ -667,10 +667,9 @@ else
# Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему. # Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему.
# 10 миллисекунд на 40 .desktop файлов, работает быстро # 10 миллисекунд на 40 .desktop файлов, работает быстро
if [[ $SORT_WITH_TIME == enabled ]] && [[ -n ${PW_GAME_TIME[1]} ]] ; then if [[ $SORT_WITH_TIME == enabled ]] && [[ -n ${PW_GAME_TIME[1]} ]] ; then
for i in "${!PW_GAME_TIME[@]}" ; do for i in "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do
for j in "${!PW_GAME_TIME[@]}" ; do for j in "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do
if (( ${PW_GAME_TIME[$i]} > ${PW_GAME_TIME[$j]} )) \ if (( ${PW_GAME_TIME[$i]} > ${PW_GAME_TIME[$j]} )) ; then
&& [[ ! ${PW_AMOUNT_NEW_DESKTOP[*]} =~ $j ]] ; then
tmp_0=${PW_GAME_TIME[$i]} tmp_0=${PW_GAME_TIME[$i]}
tmp_1=${PW_ALL_DF[$i]} tmp_1=${PW_ALL_DF[$i]}
tmp_2=${PW_NAME_D_ICON[$i]} tmp_2=${PW_NAME_D_ICON[$i]}
...@@ -693,7 +692,7 @@ else ...@@ -693,7 +692,7 @@ else
# Генерация .desktop баттанов для главного меню # Генерация .desktop баттанов для главного меню
IFS=$'\n' IFS=$'\n'
PW_GENERATE_BUTTONS="--field= ${translations[Create shortcut...]}!${PW_GUI_ICON_PATH}/find_48.svg!:FBTNR%@bash -c \"button_click --normal pw_find_exe\"%" PW_GENERATE_BUTTONS="--field= ${translations[Create shortcut...]}!${PW_GUI_ICON_PATH}/find_48.svg!:FBTNR%@bash -c \"button_click --normal pw_find_exe\"%"
for dp in ${PW_AMOUNT_NEW_DESKTOP[@]} ${PW_AMOUNT_OLD_DESKTOP[@]} ; do for dp in "${PW_AMOUNT_NEW_DESKTOP[@]}" "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do
PW_NAME_D_ICON_48="${PW_ICON_PATH[dp]%.png}_48" PW_NAME_D_ICON_48="${PW_ICON_PATH[dp]%.png}_48"
PW_NAME_D_ICON_128="${PW_ICON_PATH[dp]%.png}" PW_NAME_D_ICON_128="${PW_ICON_PATH[dp]%.png}"
PW_NAME_D_ICON_NEW="${PW_NAME_D_ICON[dp]//\"/}" PW_NAME_D_ICON_NEW="${PW_NAME_D_ICON[dp]//\"/}"
...@@ -733,7 +732,6 @@ else ...@@ -733,7 +732,6 @@ else
--gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" \ --gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" \
--align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null & --align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null &
IFS="$orig_IFS" IFS="$orig_IFS"
unset PW_GENERATE_BUTTONS
"${pw_yad}" --plug=$KEY_MENU --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" --homogeneous-column \ "${pw_yad}" --plug=$KEY_MENU --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" --homogeneous-column \
--gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" \ --gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment