Skip to content

Commit

Permalink
Merge pull request #179 from Hachi-R/main
Browse files Browse the repository at this point in the history
option to quit the app or minimize in close button
  • Loading branch information
Hydra authored May 3, 2024
2 parents ad112ef + 315d03a commit 473d487
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
4 changes: 3 additions & 1 deletion src/locales/pt/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
3 changes: 3 additions & 0 deletions src/main/entity/user-preferences.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ export class UserPreferences {
@Column("boolean", { default: true })
telemetryEnabled: boolean;

@Column("boolean", { default: false })
preferQuitInsteadOfHiding: boolean;

@CreateDateColumn()
createdAt: Date;

Expand Down
10 changes: 9 additions & 1 deletion src/main/services/window-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -25,7 +26,7 @@ export class WindowManager {
}
}

public static createMainWindow() {
public static async createMainWindow() {
// Create the browser window.
this.mainWindow = new BrowserWindow({
width: 1200,
Expand All @@ -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);
});
}
Expand Down
16 changes: 16 additions & 0 deletions src/renderer/src/pages/settings/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export function Settings() {
downloadNotificationsEnabled: false,
repackUpdatesNotificationsEnabled: false,
telemetryEnabled: false,
preferQuitInsteadOfHiding: false,
});

const { t } = useTranslation("settings");
Expand All @@ -27,6 +28,8 @@ export function Settings() {
repackUpdatesNotificationsEnabled:
userPreferences?.repackUpdatesNotificationsEnabled ?? false,
telemetryEnabled: userPreferences?.telemetryEnabled ?? false,
preferQuitInsteadOfHiding:
userPreferences?.preferQuitInsteadOfHiding ?? false,
});
});
}, []);
Expand Down Expand Up @@ -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>
);
Expand Down
1 change: 1 addition & 0 deletions src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ export interface UserPreferences {
downloadNotificationsEnabled: boolean;
repackUpdatesNotificationsEnabled: boolean;
telemetryEnabled: boolean;
preferQuitInsteadOfHiding: boolean;
}

export interface HowLongToBeatCategory {
Expand Down

0 comments on commit 473d487

Please sign in to comment.