forked from CastroFidel/winehelper
		
	added arg for force remove all WH data
This commit is contained in:
		
							
								
								
									
										91
									
								
								winehelper
									
									
									
									
									
								
							
							
						
						
									
										91
									
								
								winehelper
									
									
									
									
									
								
							| @@ -1271,54 +1271,57 @@ remove_prefix() { | |||||||
| ##### REMOVE WINEHELPER ##### | ##### REMOVE WINEHELPER ##### | ||||||
| remove_winehelper () { | remove_winehelper () { | ||||||
|     local answer |     local answer | ||||||
|  |     if [[ $1 =~ --force|-y ]] ; then | ||||||
|     echo "======================================================" |         answer="y" | ||||||
|     print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные." |     else | ||||||
|     echo " Это удалит:" |         echo "======================================================" | ||||||
|     echo " - Все настройки WineHelper" |         print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные." | ||||||
|     echo " - Все приложения/программы, установленные через WineHelper" |         echo " Это удалит:" | ||||||
|     echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper" |         echo " - Все настройки WineHelper" | ||||||
|     echo "======================================================" |         echo " - Все приложения/программы, установленные через WineHelper" | ||||||
|     echo "Продолжить? (y/N)" |         echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper" | ||||||
|     read -r answer |         echo "======================================================" | ||||||
|  |  | ||||||
|     if [[ "$answer" =~ ^[YyДд]$ ]]; then |  | ||||||
|         # Второе подтверждение |  | ||||||
|         echo "----------------------------------------------" |  | ||||||
|         print_warning " ВЫ ТОЧНО УВЕРЕНЫ?" |  | ||||||
|         echo "----------------------------------------------" |  | ||||||
|         echo "Продолжить? (y/N)" |         echo "Продолжить? (y/N)" | ||||||
|         read -r answer |         read -r answer | ||||||
|  |  | ||||||
|         if [[ "$answer" =~ ^[YyДд]$ ]]; then |         if [[ "$answer" =~ ^[YyДд]$ ]] ; then | ||||||
|  |             # Второе подтверждение | ||||||
|             # Удаление рабочих каталогов |             echo "----------------------------------------------" | ||||||
|             try_remove_dir "$USER_WORK_PATH" |             print_warning " ВЫ ТОЧНО УВЕРЕНЫ?" | ||||||
|  |             echo "----------------------------------------------" | ||||||
|             # Удаление файлов меню |             echo "Продолжить? (y/N)" | ||||||
|             try_remove_dir "$WH_MENU_DIR" |             read -r answer | ||||||
|             try_remove_file "$WH_MENU_CATEGORY" |  | ||||||
|             try_remove_file "$WH_MENU_CONFIG" |  | ||||||
|  |  | ||||||
|             # Удаление desktop-файлов |  | ||||||
|             for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do |  | ||||||
|                 if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then |  | ||||||
|                     try_remove_file "$desktop_file" |  | ||||||
|                 fi |  | ||||||
|             done |  | ||||||
|  |  | ||||||
|             # Обновление кэша desktop-файлов |  | ||||||
|             if check_command update-desktop-database; then |  | ||||||
|                 update-desktop-database "$HOME/.local/share/applications" |  | ||||||
|             fi |  | ||||||
|  |  | ||||||
|             # Удаление символических ссылок |  | ||||||
|             try_remove_file "$HOME/.winehelper" |  | ||||||
|  |  | ||||||
|             print_info "WineHelper и все связанные данные успешно удалены." |  | ||||||
|         else |         else | ||||||
|             print_info "Удаление отменено." |             print_info "Удаление отменено." | ||||||
|  |             return 1 | ||||||
|         fi |         fi | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  |     if [[ "$answer" =~ ^[YyДд]$ ]] ; then | ||||||
|  |         # Удаление рабочих каталогов | ||||||
|  |         try_remove_dir "$USER_WORK_PATH" | ||||||
|  |  | ||||||
|  |         # Удаление файлов меню | ||||||
|  |         try_remove_dir "$WH_MENU_DIR" | ||||||
|  |         try_remove_file "$WH_MENU_CATEGORY" | ||||||
|  |         try_remove_file "$WH_MENU_CONFIG" | ||||||
|  |  | ||||||
|  |         # Удаление desktop-файлов | ||||||
|  |         for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do | ||||||
|  |             if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then | ||||||
|  |                 try_remove_file "$desktop_file" | ||||||
|  |             fi | ||||||
|  |         done | ||||||
|  |  | ||||||
|  |         # Обновление кэша desktop-файлов | ||||||
|  |         if check_command update-desktop-database; then | ||||||
|  |             update-desktop-database "$HOME/.local/share/applications" | ||||||
|  |         fi | ||||||
|  |  | ||||||
|  |         # Удаление символических ссылок | ||||||
|  |         try_remove_file "$HOME/.winehelper" | ||||||
|  |  | ||||||
|  |         print_info "WineHelper и все связанные данные успешно удалены." | ||||||
|     else |     else | ||||||
|         print_info "Удаление отменено." |         print_info "Удаление отменено." | ||||||
|     fi |     fi | ||||||
| @@ -1334,7 +1337,7 @@ wh_info () { | |||||||
|  |  | ||||||
|     installed                     список установленных программ |     installed                     список установленных программ | ||||||
|     run [программа.exe]           запуск программы (отладка) |     run [программа.exe]           запуск программы (отладка) | ||||||
|     remove                        удалить WineHelper и все связанные данные |     remove-all                    удалить WineHelper и все связанные данные | ||||||
|     remove-prefix [имя_префикса]  удалить префикс и все связанные данные |     remove-prefix [имя_префикса]  удалить префикс и все связанные данные | ||||||
|  |  | ||||||
| Параметры: | Параметры: | ||||||
| @@ -1369,7 +1372,7 @@ case "${1,,}" in | |||||||
|     install|-i) shift ; run_autoinstall "$@" ;; |     install|-i) shift ; run_autoinstall "$@" ;; | ||||||
|     installed) shift ; check_installed_programs "$1" ;; |     installed) shift ; check_installed_programs "$1" ;; | ||||||
|     run|-r) shift ; run_installed_programs "$1" ;; |     run|-r) shift ; run_installed_programs "$1" ;; | ||||||
|     remove|--remove) remove_winehelper ;; |     remove-all) shift ; remove_winehelper "$@ ";; | ||||||
|     remove-prefix) shift ; remove_prefix "$@" ;; |     remove-prefix) shift ; remove_prefix "$@" ;; | ||||||
|     *) |     *) | ||||||
|         if [[ -f "$1" ]] ; then |         if [[ -f "$1" ]] ; then | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user