mirror of
				https://github.com/hydralauncher/hydra.git
				synced 2025-03-09 15:40:26 +00:00 
			
		
		
		
	Merge pull request #179 from Hachi-R/main
option to quit the app or minimize in close button
This commit is contained in:
		
						commit
						473d4874ea
					
				
					 6 changed files with 35 additions and 3 deletions
				
			
		|  | @ -134,7 +134,9 @@ | |||
|     "enable_download_notifications": "When a download is complete", | ||||
|     "enable_repack_list_notifications": "When a new repack is added", | ||||
|     "telemetry": "Telemetry", | ||||
|     "telemetry_description": "Enable anonymous usage statistics" | ||||
|     "telemetry_description": "Enable anonymous usage statistics", | ||||
|     "behavior": "Behavior", | ||||
|     "quit_app_instead_hiding": "Close app instead of minimizing to tray" | ||||
|   }, | ||||
|   "notifications": { | ||||
|     "download_complete": "Download complete", | ||||
|  |  | |||
|  | @ -130,7 +130,9 @@ | |||
|     "enable_download_notifications": "Quando um download for concluído", | ||||
|     "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", | ||||
|     "telemetry": "Telemetria", | ||||
|     "telemetry_description": "Habilitar estatísticas de uso anônimas" | ||||
|     "telemetry_description": "Habilitar estatísticas de uso anônimas", | ||||
|     "behavior": "Comportamento", | ||||
|     "quit_app_instead_hiding": "Fechar o aplicativo em vez de minimizá-lo" | ||||
|   }, | ||||
|   "notifications": { | ||||
|     "download_complete": "Download concluído", | ||||
|  |  | |||
|  | @ -26,6 +26,9 @@ export class UserPreferences { | |||
|   @Column("boolean", { default: true }) | ||||
|   telemetryEnabled: boolean; | ||||
| 
 | ||||
|   @Column("boolean", { default: false }) | ||||
|   preferQuitInsteadOfHiding: boolean; | ||||
| 
 | ||||
|   @CreateDateColumn() | ||||
|   createdAt: Date; | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ import { t } from "i18next"; | |||
| import path from "node:path"; | ||||
| import icon from "@resources/icon.png?asset"; | ||||
| import trayIcon from "@resources/tray-icon.png?asset"; | ||||
| import { userPreferencesRepository } from "@main/repository"; | ||||
| 
 | ||||
| export class WindowManager { | ||||
|   public static mainWindow: Electron.BrowserWindow | null = null; | ||||
|  | @ -25,7 +26,7 @@ export class WindowManager { | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public static createMainWindow() { | ||||
|   public static async createMainWindow() { | ||||
|     // Create the browser window.
 | ||||
|     this.mainWindow = new BrowserWindow({ | ||||
|       width: 1200, | ||||
|  | @ -49,7 +50,14 @@ export class WindowManager { | |||
|     this.loadURL(); | ||||
|     this.mainWindow.removeMenu(); | ||||
| 
 | ||||
|     const userPreferences = await userPreferencesRepository.findOne({ | ||||
|       where: { id: 1 }, | ||||
|     }); | ||||
| 
 | ||||
|     this.mainWindow.on("close", () => { | ||||
|       if (userPreferences?.preferQuitInsteadOfHiding) { | ||||
|         app.quit(); | ||||
|       } | ||||
|       WindowManager.mainWindow?.setProgressBar(-1); | ||||
|     }); | ||||
|   } | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ export function Settings() { | |||
|     downloadNotificationsEnabled: false, | ||||
|     repackUpdatesNotificationsEnabled: false, | ||||
|     telemetryEnabled: false, | ||||
|     preferQuitInsteadOfHiding: false, | ||||
|   }); | ||||
| 
 | ||||
|   const { t } = useTranslation("settings"); | ||||
|  | @ -27,6 +28,8 @@ export function Settings() { | |||
|         repackUpdatesNotificationsEnabled: | ||||
|           userPreferences?.repackUpdatesNotificationsEnabled ?? false, | ||||
|         telemetryEnabled: userPreferences?.telemetryEnabled ?? false, | ||||
|         preferQuitInsteadOfHiding: | ||||
|           userPreferences?.preferQuitInsteadOfHiding ?? false, | ||||
|       }); | ||||
|     }); | ||||
|   }, []); | ||||
|  | @ -107,6 +110,19 @@ export function Settings() { | |||
|             updateUserPreferences("telemetryEnabled", !form.telemetryEnabled) | ||||
|           } | ||||
|         /> | ||||
| 
 | ||||
|         <h3>{t("behavior")}</h3> | ||||
| 
 | ||||
|         <CheckboxField | ||||
|           label={t("quit_app_instead_hiding")} | ||||
|           checked={form.preferQuitInsteadOfHiding} | ||||
|           onChange={() => | ||||
|             updateUserPreferences( | ||||
|               "preferQuitInsteadOfHiding", | ||||
|               !form.preferQuitInsteadOfHiding | ||||
|             ) | ||||
|           } | ||||
|         /> | ||||
|       </div> | ||||
|     </section> | ||||
|   ); | ||||
|  |  | |||
|  | @ -105,6 +105,7 @@ export interface UserPreferences { | |||
|   downloadNotificationsEnabled: boolean; | ||||
|   repackUpdatesNotificationsEnabled: boolean; | ||||
|   telemetryEnabled: boolean; | ||||
|   preferQuitInsteadOfHiding: boolean; | ||||
| } | ||||
| 
 | ||||
| export interface HowLongToBeatCategory { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue