TeaSpeak-Client/modules/core/app-updater/changelog/index.ts

50 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-12-02 12:08:49 -05:00
import {BrowserWindow, dialog} from "electron";
2019-10-25 19:51:40 -04:00
import * as electron from "electron";
import * as path from "path";
2020-07-28 14:01:25 -04:00
import * as url from "url";
2019-10-25 19:51:40 -04:00
2020-12-02 12:08:49 -05:00
let changeLogWindow: BrowserWindow;
export function openChangeLog() {
if(changeLogWindow) {
changeLogWindow.focus();
2019-10-25 19:51:40 -04:00
return;
}
2020-12-02 12:08:49 -05:00
changeLogWindow = new BrowserWindow({
2019-10-25 19:51:40 -04:00
show: false
});
2020-12-02 12:08:49 -05:00
changeLogWindow.setMenu(null);
2019-10-25 19:51:40 -04:00
2020-12-02 12:08:49 -05:00
let file;
2019-10-25 19:51:40 -04:00
{
2020-12-02 12:08:49 -05:00
const appPath = electron.app.getAppPath();
if(appPath.endsWith(".asar")) {
file = path.join(path.dirname(appPath), "..", "ChangeLog.txt");
} else {
file = path.join(appPath, "github", "ChangeLog.txt"); /* We've the source ;) */
}
2019-10-25 19:51:40 -04:00
}
2020-12-02 12:08:49 -05:00
changeLogWindow.loadURL(url.pathToFileURL(file).toString()).catch(error => {
console.error("Failed to open changelog: %o", error);
dialog.showErrorBox("Failed to open the ChangeLog", "Failed to open the changelog file.\nLookup the console for more details.");
closeChangeLog();
2019-10-25 19:51:40 -04:00
});
2020-12-02 12:08:49 -05:00
changeLogWindow.setTitle("TeaClient ChangeLog");
changeLogWindow.on('ready-to-show', () => {
changeLogWindow.show();
});
changeLogWindow.on('close', () => {
changeLogWindow = undefined;
2019-10-25 19:51:40 -04:00
});
}
2020-12-02 12:08:49 -05:00
export function closeChangeLog() {
if(changeLogWindow) {
changeLogWindow.close();
changeLogWindow = undefined;
2019-10-25 19:51:40 -04:00
}
}