aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2022-01-24 18:21:13 +0100
committer0neGal <mail@0negal.com>2022-01-24 18:21:13 +0100
commit9c6ac295189acab7303952725755dfac87e18470 (patch)
tree2832c0f0463c81dbe80a2c939178b7d8f165eb89
parent0c0cce0d79cc222cd467b6499d06ccb7d222cd0b (diff)
downloadViper-9c6ac295189acab7303952725755dfac87e18470.tar.gz
Viper-9c6ac295189acab7303952725755dfac87e18470.zip
no alert when manually changing the game path
When changing the game path by clicking the button you shouldn't be told it can't find the game and you've to select one manually, as you know that already. More importantly, if it could be found automatically it'll just not do anything. With this change I also changed the "gui.setpath" string to be more logical, and to make it clear what it does.
-rw-r--r--src/app/main.js1
-rw-r--r--src/index.js10
-rw-r--r--src/lang/en.json2
-rw-r--r--src/utils.js30
4 files changed, 24 insertions, 19 deletions
diff --git a/src/app/main.js b/src/app/main.js
index dab584e..a3a1d04 100644
--- a/src/app/main.js
+++ b/src/app/main.js
@@ -26,7 +26,6 @@ if (fs.existsSync("viper.json")) {
settings.zip = path.join(settings.gamepath + "/northstar.zip");
if (settings.gamepath.length === 0) {
- alert(lang("general.missingpath"));
setpath(false);
} else {
setpath(true);
diff --git a/src/index.js b/src/index.js
index f4207e7..c8bfc53 100644
--- a/src/index.js
+++ b/src/index.js
@@ -87,9 +87,13 @@ ipcMain.on("launchVanilla", (event) => {utils.launch("vanilla")})
ipcMain.on("update", (event) => {utils.update()})
ipcMain.on("setpathcli", (event) => {utils.setpath()});
ipcMain.on("setpath", (event, value) => {
- if (!value) {
- utils.setpath(win);
- } else if (!win.isVisible()) {
+ if (! value) {
+ if (! win.isVisible()) {
+ utils.setpath(win);
+ } else {
+ utils.setpath(win, true);
+ }
+ } else if (! win.isVisible()) {
win.show();
}
});
diff --git a/src/lang/en.json b/src/lang/en.json
index 8d4daeb..fe9b0b0 100644
--- a/src/lang/en.json
+++ b/src/lang/en.json
@@ -42,7 +42,7 @@
"gui.versions.northstar": "Northstar version",
"gui.exit": "Exit",
"gui.update": "Update",
- "gui.setpath": "Game Path",
+ "gui.setpath": "Change Game Path",
"gui.update.check": "Check for updates",
"gui.mods": "Mods",
diff --git a/src/utils.js b/src/utils.js
index ef647fe..fb94b92 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -116,7 +116,7 @@ northstar_auto_updates: {
//
// If running with CLI it takes in the --setpath argument otherwise it
// open the systems file browser for the user to select a path.
-async function setpath(win) {
+async function setpath(win, forcedialog) {
function setGamepath(folder) {
settings.gamepath = folder;
settings.zip = path.join(settings.gamepath + "/northstar.zip");
@@ -128,21 +128,23 @@ async function setpath(win) {
if (! win) { // CLI
setGamepath(cli.param("setpath"));
} else { // GUI
- function setGamepath(folder) {
- settings.gamepath = folder;
- settings.zip = path.join(settings.gamepath + "/northstar.zip");
- saveSettings();
- win.webContents.send("newpath", settings.gamepath);
- ipcMain.emit("newpath", null, settings.gamepath);
- }
+ if (! forcedialog) {
+ function setGamepath(folder, forcedialog) {
+ settings.gamepath = folder;
+ settings.zip = path.join(settings.gamepath + "/northstar.zip");
+ saveSettings();
+ win.webContents.send("newpath", settings.gamepath);
+ ipcMain.emit("newpath", null, settings.gamepath);
+ }
- let gamepath = await findgame();
- if (gamepath) {
- setGamepath(gamepath);
- return;
- }
+ let gamepath = await findgame();
+ if (gamepath) {
+ setGamepath(gamepath);
+ return;
+ }
- alert(lang("general.missingpath"));
+ winAlert(lang("general.missingpath"));
+ }
// Fallback to manual selection
dialog.showOpenDialog({properties: ["openDirectory"]}).then(res => {