Agent menu (#540)
* Add generate version module script
* Remove Fork me on GitHub banner
* Add app-version.ts
* Revert "Add app-version.ts"
This reverts commit fe1a37e631.
* Add app-version.ts
* Add agent icon class
* Move settings component under agent folder
* Add AboutComponent
* Add agent routes
* Add index.ts for agent folder
* Fix agent folder imports in shared module
* Add agent menu to side menu, with Settings and About pages under it
* Fix agent icon alignment in side menu
* Simplify About page
* Make Agent menu 0 level in side menu
* Remove bottom Settings menu
* Fix Agent menu closing if My UHK is closed in side menu
* Fix version text alignment in auto update settings
* Remove github fork ribbon styles
* use package.json instead of app-version.ts
* fix OpenUrlInNewWindow naming
* fix lint request
* fix: firmware download url calculation
This commit is contained in:
committed by
László Monda
parent
fdcf64d5c6
commit
3ee6c680a1
@@ -15,9 +15,5 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"node-hid": "0.5.7"
|
||||
},
|
||||
"firmwareVersion": "8.0.0",
|
||||
"deviceProtocolVersion": "4.0.0",
|
||||
"userConfigVersion": "4.0.0",
|
||||
"hardwareConfigVersion": "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import { BrowserWindow, ipcMain } from 'electron';
|
||||
import { BrowserWindow, ipcMain, shell } from 'electron';
|
||||
import { UhkHidDevice } from 'uhk-usb';
|
||||
import { readFile } from 'fs';
|
||||
import { join } from 'path';
|
||||
|
||||
import { AppStartInfo, IpcEvents, LogService } from 'uhk-common';
|
||||
import { MainServiceBase } from './main-service-base';
|
||||
@@ -18,53 +16,31 @@ export class AppService extends MainServiceBase {
|
||||
|
||||
ipcMain.on(IpcEvents.app.getAppStartInfo, this.handleAppStartInfo.bind(this));
|
||||
ipcMain.on(IpcEvents.app.exit, this.exit.bind(this));
|
||||
ipcMain.on(IpcEvents.app.openUrl, this.openUrl.bind(this));
|
||||
logService.info('[AppService] init success');
|
||||
}
|
||||
|
||||
private async handleAppStartInfo(event: Electron.Event) {
|
||||
this.logService.info('[AppService] getAppStartInfo');
|
||||
|
||||
const packageJson = await this.getPackageJson();
|
||||
|
||||
const response: AppStartInfo = {
|
||||
commandLineArgs: {
|
||||
addons: this.options.addons || false,
|
||||
autoWriteConfig: this.options['auto-write-config'] || false
|
||||
},
|
||||
deviceConnected: this.uhkHidDeviceService.deviceConnected(),
|
||||
hasPermission: this.uhkHidDeviceService.hasPermission(),
|
||||
agentVersionInfo: {
|
||||
version: packageJson.version,
|
||||
firmwareVersion: packageJson.firmwareVersion,
|
||||
deviceProtocolVersion: packageJson.deviceProtocolVersion,
|
||||
moduleProtocolVersion: packageJson.moduleProtocolVersion,
|
||||
userConfigVersion: packageJson.userConfigVersion,
|
||||
hardwareConfigVersion: packageJson.hardwareConfigVersion
|
||||
}
|
||||
hasPermission: this.uhkHidDeviceService.hasPermission()
|
||||
};
|
||||
this.logService.info('[AppService] getAppStartInfo response:', response);
|
||||
return event.sender.send(IpcEvents.app.getAppStartInfoReply, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the package.json that delivered with the bundle. Do not use require('package.json')
|
||||
* because the deploy process change the package.json after the build
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
private async getPackageJson(): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
readFile(join(__dirname, 'package.json'), {encoding: 'utf-8'}, (err, data) => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
|
||||
resolve(JSON.parse(data));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private exit() {
|
||||
this.logService.info('[AppService] exit');
|
||||
this.win.close();
|
||||
}
|
||||
|
||||
private openUrl(event: Electron.Event, urls: Array<string>) {
|
||||
shell.openExternal(urls[0]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user