Migrate app to TypeScript (#1637)
* Initial setup and migrated src/common * WIP * WIP * WIP * Main module basically finished * Renderer process migrated * Added CI step and some fixes * Fixed remainder of issues and added proper ESLint config * Fixed a couple issues * Progress! * Some more fixes * Fixed a test * Fix build step * PR feedback
This commit is contained in:
42
src/main/windows/settingsWindow.ts
Normal file
42
src/main/windows/settingsWindow.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {BrowserWindow} from 'electron';
|
||||
import log from 'electron-log';
|
||||
import {CombinedConfig} from 'types/config';
|
||||
|
||||
import ContextMenu from '../contextMenu';
|
||||
import {getLocalPreload, getLocalURLString} from '../utils';
|
||||
|
||||
export function createSettingsWindow(mainWindow: BrowserWindow, config: CombinedConfig, withDevTools: boolean) {
|
||||
const preload = getLocalPreload('mainWindow.js');
|
||||
const spellcheck = (typeof config.useSpellChecker === 'undefined' ? true : config.useSpellChecker);
|
||||
const settingsWindow = new BrowserWindow({
|
||||
parent: mainWindow,
|
||||
title: 'Desktop App Settings',
|
||||
fullscreen: false,
|
||||
webPreferences: {
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload,
|
||||
spellcheck,
|
||||
enableRemoteModule: process.env.NODE_ENV === 'test',
|
||||
}});
|
||||
|
||||
const contextMenu = new ContextMenu({}, settingsWindow);
|
||||
contextMenu.reload();
|
||||
|
||||
const localURL = getLocalURLString('settings.html');
|
||||
settingsWindow.setMenuBarVisibility(false);
|
||||
settingsWindow.loadURL(localURL).catch(
|
||||
(reason) => {
|
||||
log.error(`Settings window failed to load: ${reason}`);
|
||||
log.info(process.env);
|
||||
});
|
||||
settingsWindow.show();
|
||||
|
||||
if (withDevTools) {
|
||||
settingsWindow.webContents.openDevTools({mode: 'detach'});
|
||||
}
|
||||
return settingsWindow;
|
||||
}
|
Reference in New Issue
Block a user