diff --git a/electron/BrowserOption.vue b/electron/BrowserOption.vue
new file mode 100644
index 0000000..5ff127a
--- /dev/null
+++ b/electron/BrowserOption.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
diff --git a/electron/browser_option.html b/electron/browser_option.html
new file mode 100644
index 0000000..a34ba1c
--- /dev/null
+++ b/electron/browser_option.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+ F-Chat
+
+
+
+
+
+
+
+
diff --git a/electron/browser_option.ts b/electron/browser_option.ts
new file mode 100644
index 0000000..451e173
--- /dev/null
+++ b/electron/browser_option.ts
@@ -0,0 +1,26 @@
+import * as qs from 'querystring';
+import log from 'electron-log'; //tslint:disable-line:match-default-export-name
+
+import {GeneralSettings} from './common';
+import BrowserOption from './BrowserOption.vue';
+
+log.info('init.browser_option');
+
+const params = <{[key: string]: string | undefined}>qs.parse(window.location.search.substr(1));
+const settings = JSON.parse(params['settings']!);
+
+const logLevel = (process.env.NODE_ENV === 'production') ? 'info' : 'silly';
+
+log.transports.file.level = settings.risingSystemLogLevel || logLevel;
+log.transports.console.level = settings.risingSystemLogLevel || logLevel;
+log.transports.file.maxSize = 5 * 1024 * 1024;
+
+log.info('init.browser_option.vue');
+
+//tslint:disable-next-line:no-unused-expression
+export default new BrowserOption({
+ el: '#browser-option',
+ data: {settings}
+});
+
+log.debug('init.browser_option.vue.done');
diff --git a/electron/common.ts b/electron/common.ts
index 0425a81..198fd03 100644
--- a/electron/common.ts
+++ b/electron/common.ts
@@ -31,6 +31,7 @@ export class GeneralSettings {
risingCacheExpiryDays = 30;
risingSystemLogLevel: log.LevelOption = 'info';
risingDisableWindowsHighContrast = false;
+ browserCommand = '';
}
// //tslint:disable
diff --git a/electron/main.ts b/electron/main.ts
index ee53899..bade67d 100644
--- a/electron/main.ts
+++ b/electron/main.ts
@@ -284,6 +284,25 @@ function showPatchNotes(): void {
electron.shell.openExternal('https://github.com/hearmeneigh/fchat-rising/blob/master/CHANGELOG.md');
}
+function openBrowserSettings(): void {
+ const windowProperties: electron.BrowserWindowConstructorOptions = {
+ center: true,
+ show: false,
+ icon: process.platform === 'win32' ? winIcon : pngIcon,
+ webPreferences: {
+ webviewTag: true, nodeIntegration: true, nodeIntegrationInWorker: true, spellcheck: true,
+ enableRemoteModule: true, contextIsolation: false, partition: 'persist:fchat'
+ } as any
+ };
+
+ const browserWindow = new electron.BrowserWindow(windowProperties);
+ browserWindow.removeMenu();
+ browserWindow.loadFile(path.join(__dirname, 'browser_option.html')).then(r => {
+ console.log(r);
+ browserWindow.show();
+ });
+}
+
let zoomLevel = 0;
@@ -529,6 +548,12 @@ function onReady(): void {
settings.risingDisableWindowsHighContrast = item.checked;
setGeneralSettings(settings);
}
+ },
+ {
+ label: 'Set command for opening clicked links',
+ click: () => {
+ openBrowserSettings();
+ }
}
]
},
diff --git a/electron/webpack.config.js b/electron/webpack.config.js
index f7893e5..924c549 100644
--- a/electron/webpack.config.js
+++ b/electron/webpack.config.js
@@ -47,7 +47,8 @@ const mainConfig = {
}, rendererConfig = {
entry: {
chat: [path.join(__dirname, 'chat.ts'), path.join(__dirname, 'index.html')],
- window: [path.join(__dirname, 'window.ts'), path.join(__dirname, 'window.html'), path.join(__dirname, 'build', 'tray@2x.png')]
+ window: [path.join(__dirname, 'window.ts'), path.join(__dirname, 'window.html'), path.join(__dirname, 'build', 'tray@2x.png')],
+ browser_option: [path.join(__dirname, 'browser_option.ts'), path.join(__dirname, 'browser_option.html'), path.join(__dirname, 'build', 'tray@2x.png')]
},
output: {
path: __dirname + '/app',