Compare commits

..

5 commits

Author SHA1 Message Date
smartfrigde
b7a0d1face formatting 2022-06-16 17:31:57 +02:00
smartfrigde
0b165e64bc Remove left over from tabs in armcord api 2022-06-16 17:31:57 +02:00
Hosted Weblate
8c62d9dd86
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: ArmCord/ArmCord
Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/
2022-06-16 17:25:18 +02:00
smartfrigde
86f885c41f Add window state manager 2022-06-16 17:25:09 +02:00
dfa1665b19
Translated using Weblate (Thai)
Currently translated at 100.0% (28 of 28 strings)

Translation: ArmCord/ArmCord
Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/th/
2022-06-16 17:19:39 +02:00
11 changed files with 73 additions and 20 deletions

View file

@ -14,7 +14,6 @@
"setup_question4": "Select a client mod you want to install:", "setup_question4": "Select a client mod you want to install:",
"setup_question4_clientmodnotice": "Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our documentation.", "setup_question4_clientmodnotice": "Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our documentation.",
"settings-theme": "ArmCord Theme:", "settings-theme": "ArmCord Theme:",
"settings-theme-tabs": "Tabs (experimental)",
"settings-theme-default": "Default", "settings-theme-default": "Default",
"settings-theme-native": "Native", "settings-theme-native": "Native",
"settings-tray": "Minimize to tray", "settings-tray": "Minimize to tray",

View file

@ -19,7 +19,6 @@
"settings-updater": "Controlla gli aggiornamenti", "settings-updater": "Controlla gli aggiornamenti",
"settings-mod": "Client mod:", "settings-mod": "Client mod:",
"settings-theme": "ArmCord Theme:", "settings-theme": "ArmCord Theme:",
"settings-theme-tabs": "Tabs (experimental)",
"settings-theme-default": "Default", "settings-theme-default": "Default",
"settings-theme-native": "Native", "settings-theme-native": "Native",
"settings-patches": "Automatic Patches", "settings-patches": "Automatic Patches",

View file

@ -19,7 +19,6 @@
"settings-save": "Save settings", "settings-save": "Save settings",
"settings-updater": "Check for updates", "settings-updater": "Check for updates",
"settings-theme": "ArmCord Theme:", "settings-theme": "ArmCord Theme:",
"settings-theme-tabs": "Tabs (experimental)",
"settings-theme-default": "Default", "settings-theme-default": "Default",
"settings-theme-native": "Native", "settings-theme-native": "Native",
"settings-patches": "Automatic Patches", "settings-patches": "Automatic Patches",

View file

@ -20,7 +20,6 @@
"settings-updater": "Check voor updates", "settings-updater": "Check voor updates",
"settings-patches": "Automatische Patches", "settings-patches": "Automatische Patches",
"settings-theme": "ArmCord Thema:", "settings-theme": "ArmCord Thema:",
"settings-theme-tabs": "Tabs (experimenteel)",
"settings-theme-default": "Standaard", "settings-theme-default": "Standaard",
"settings-theme-native": "Native", "settings-theme-native": "Native",
"settings-invitewebsocket": "discord.gg support", "settings-invitewebsocket": "discord.gg support",

View file

@ -19,7 +19,6 @@
"settings-save": "Zapisz ustawienia", "settings-save": "Zapisz ustawienia",
"settings-mod": "Modyfikacja klienta:", "settings-mod": "Modyfikacja klienta:",
"settings-theme": "Motyw ArmCord:", "settings-theme": "Motyw ArmCord:",
"settings-theme-tabs": "Karty (eksperymentalne)",
"settings-theme-default": "Domyślny", "settings-theme-default": "Domyślny",
"settings-theme-native": "Natywny", "settings-theme-native": "Natywny",
"settings-patches": "Automatyczne łatki", "settings-patches": "Automatyczne łatki",

View file

@ -1,10 +1,10 @@
{ {
"loading_screen_start": "กำลังเริ่ม ArmCord…", "loading_screen_start": "เริ่มต้น ArmCord…",
"loading_screen_offline": "ดูเหมือนว่าคุณออฟไลน์อยู่ โปรดเชื่อมต่ออินเทอร์เน็ตและลองใหม่อีกครั้ง", "loading_screen_offline": "ดูเหมือนว่าคุณออฟไลน์อยู่ โปรดเชื่อมต่ออินเทอร์เน็ตและลองใหม่อีกครั้ง",
"loading_screen_update": "ArmCord เวอร์ชันใหม่พร้อมใช้งานแล้ว โปรดอัปเดตเป็นเวอร์ชันล่าสุด", "loading_screen_update": "ArmCord เวอร์ชันใหม่พร้อมใช้งานแล้ว โปรดอัปเดตเป็นเวอร์ชันล่าสุด",
"setup_question1": "เลือกประเภทการติดตั้งที่คุณต้องการ:", "setup_question1": "เลือกประเภทการติดตั้งที่คุณต้องการ:",
"setup_question1_answer1": "ติดตั้งแบบน้ำหนักเบา", "setup_question1_answer1": "ติดตั้งแบบรวดเร็ว",
"setup_question1_answer2": "ติดตั้งแบบเต็ม", "setup_question1_answer2": "การตั้งค่าเต็มรูปแบบ",
"setup_offline": "ดูเหมือนว่าคุณออฟไลน์อยู่ โปรดเชื่อมต่ออินเทอร์เน็ตและลองใหม่อีกครั้ง", "setup_offline": "ดูเหมือนว่าคุณออฟไลน์อยู่ โปรดเชื่อมต่ออินเทอร์เน็ตและลองใหม่อีกครั้ง",
"setup_question2": "เลือกช่อง/อินสแตนส์ Discord:", "setup_question2": "เลือกช่อง/อินสแตนส์ Discord:",
"setup_question3": "ต้องการให้ ArmCord จัดการการติดตั้งมอดของไคลเอนต์หรือไม่?", "setup_question3": "ต้องการให้ ArmCord จัดการการติดตั้งมอดของไคลเอนต์หรือไม่?",

View file

@ -1,7 +1,7 @@
//ipc stuff //ipc stuff
import {app, ipcMain, shell, desktopCapturer} from "electron"; import {app, ipcMain, shell, desktopCapturer} from "electron";
import {mainWindow} from "./window"; import {mainWindow} from "./window";
import {setConfigBulk, getVersion, getConfig, setLang, getLang} from "./utils"; import {setConfigBulk, getVersion, getConfig, setLang, getLang, getWindowState} from "./utils";
import {customTitlebar} from "./main"; import {customTitlebar} from "./main";
import {createSettingsWindow} from "./settings/main"; import {createSettingsWindow} from "./settings/main";
export function registerIpc() { export function registerIpc() {
@ -41,8 +41,22 @@ export function registerIpc() {
ipcMain.on("get-app-version", (event) => { ipcMain.on("get-app-version", (event) => {
event.returnValue = getVersion(); event.returnValue = getVersion();
}); });
ipcMain.on("splashEnd", (event, arg) => { ipcMain.on("splashEnd", async (event, arg) => {
try {
var width = await getWindowState("width") ?? 800;
var height= await getWindowState("height") ?? 600;
var isMaximized = await getWindowState("isMaximized") ?? false;
} catch (e) {
console.log("No window state file found. Fallbacking to default values.")
mainWindow.setSize(800, 600); mainWindow.setSize(800, 600);
}
if (isMaximized) {
mainWindow.setSize(800, 600); //just so the whole thing doesn't cover whole screen
mainWindow.maximize()
} else {
mainWindow.setSize(width, height);
console.log("Not maximized.")
}
}); });
ipcMain.on("restart", (event, arg) => { ipcMain.on("restart", (event, arg) => {
app.relaunch(); app.relaunch();

View file

@ -15,7 +15,6 @@ contextBridge.exposeInMainWorld("armcord", {
}, },
electron: process.versions.electron, electron: process.versions.electron,
channel: ipcRenderer.sendSync("channel"), channel: ipcRenderer.sendSync("channel"),
openTab: (number: number) => ipcRenderer.sendSync("openTab", number),
setLang: (lang: string) => ipcRenderer.send("setLang", lang), setLang: (lang: string) => ipcRenderer.send("setLang", lang),
getLang: (toGet: string) => getLang: (toGet: string) =>
ipcRenderer.invoke("getLang", toGet).then((result) => { ipcRenderer.invoke("getLang", toGet).then((result) => {

View file

@ -1,6 +1,6 @@
import { app, Menu, Tray } from "electron"; import { app, Menu, Tray } from "electron";
import { mainWindow } from "./window"; import { mainWindow } from "./window";
import {getConfig} from "./utils"; import { getConfig, setWindowState } from "./utils";
import * as path from "path"; import * as path from "path";
import { createSettingsWindow } from "./settings/main"; import { createSettingsWindow } from "./settings/main";
import { platform } from "process"; import { platform } from "process";
@ -22,6 +22,12 @@ app.whenReady().then(async () => {
{ {
label: "Quit ArmCord", label: "Quit ArmCord",
click: function () { click: function () {
let [width, height] = mainWindow.getSize()
setWindowState({
width: width,
height: height,
isMaximized: mainWindow.isMaximized()
})
app.quit(); app.quit();
} }
} }
@ -64,6 +70,12 @@ app.whenReady().then(async () => {
{ {
label: "Quit ArmCord", label: "Quit ArmCord",
click: function () { click: function () {
let [width, height] = mainWindow.getSize()
setWindowState({
width: width,
height: height,
isMaximized: mainWindow.isMaximized()
})
app.quit(); app.quit();
} }
} }

View file

@ -137,6 +137,33 @@ export async function getLang(object: string) {
let parsed = JSON.parse(rawdata); let parsed = JSON.parse(rawdata);
return parsed[object]; return parsed[object];
} }
//ArmCord Window State manager
export interface WindowState {
width: number;
height: number;
isMaximized: boolean;
}
export async function setWindowState(object: WindowState) {
const userDataPath = app.getPath("userData");
const storagePath = path.join(userDataPath, "/storage/");
const saveFile = storagePath + "window.json";
if (!fs.existsSync(saveFile)) {
fs.writeFileSync(saveFile, "{}", "utf-8");
}
let toSave = JSON.stringify(object);
fs.writeFileSync(saveFile, toSave, "utf-8");
}
export async function getWindowState(object: string) {
const userDataPath = app.getPath("userData");
const storagePath = path.join(userDataPath, "/storage/");
const settingsFile = storagePath + "window.json";
let rawdata = fs.readFileSync(settingsFile, "utf-8");
let returndata = JSON.parse(rawdata);
console.log(object + ": " + returndata[object]);
return returndata[object];
}
//ArmCord Settings/Storage manager //ArmCord Settings/Storage manager
export interface Settings { export interface Settings {

View file

@ -4,7 +4,7 @@
// I'm sorry for this mess but I'm not sure how to fix it. // I'm sorry for this mess but I'm not sure how to fix it.
import {BrowserWindow, shell, app, dialog} from "electron"; import {BrowserWindow, shell, app, dialog} from "electron";
import path from "path"; import path from "path";
import {checkIfConfigIsBroken, firstRun, getConfig, contentPath, isSetup, setConfig, setLang} from "./utils"; import {checkIfConfigIsBroken, firstRun, getConfig, contentPath, isSetup, setConfig, setLang, setWindowState} from "./utils";
import {registerIpc} from "./ipc"; import {registerIpc} from "./ipc";
import startServer from "./socket"; import startServer from "./socket";
import contextMenu from "electron-context-menu"; import contextMenu from "electron-context-menu";
@ -72,6 +72,12 @@ async function doAfterDefiningTheWindow() {
return callback({}); return callback({});
}); });
mainWindow.on("close", async (e) => { mainWindow.on("close", async (e) => {
let [width, height] = mainWindow.getSize()
setWindowState({
width: width,
height: height,
isMaximized: mainWindow.isMaximized()
})
if (await getConfig("minimizeToTray")) { if (await getConfig("minimizeToTray")) {
e.preventDefault(); e.preventDefault();
mainWindow.hide(); mainWindow.hide();