@theia/core 1.37.0-next.3 → 1.37.0-next.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -9
- package/lib/browser/core-preferences.d.ts +4 -0
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +22 -0
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/hover-service.d.ts +5 -0
- package/lib/browser/hover-service.d.ts.map +1 -1
- package/lib/browser/hover-service.js +7 -1
- package/lib/browser/hover-service.js.map +1 -1
- package/lib/browser/icon-theme-service.js +1 -1
- package/lib/browser/icon-theme-service.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +2 -1
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +30 -3
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts +21 -5
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +94 -17
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/test/jsdom.js +1 -1
- package/lib/browser/test/jsdom.js.map +1 -1
- package/lib/browser/tree/tree-iterator.js +4 -4
- package/lib/browser/tree/tree-iterator.js.map +1 -1
- package/lib/browser/tree/tree-selection-state.spec.js +26 -2
- package/lib/browser/tree/tree-selection-state.spec.js.map +1 -1
- package/lib/common/i18n/localization.d.ts +1 -0
- package/lib/common/i18n/localization.d.ts.map +1 -1
- package/lib/common/i18n/localization.js +2 -16
- package/lib/common/i18n/localization.js.map +1 -1
- package/lib/common/nls.d.ts +1 -0
- package/lib/common/nls.d.ts.map +1 -1
- package/lib/common/nls.js +2 -1
- package/lib/common/nls.js.map +1 -1
- package/lib/common/quick-pick-service.d.ts +2 -1
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/quick-pick-service.js.map +1 -1
- package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
- package/lib/electron-browser/electron-clipboard-service.js +2 -3
- package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
- package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.d.ts.map +1 -1
- package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +1 -2
- package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +2 -3
- package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.js +10 -18
- package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +10 -8
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +33 -32
- package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts +6 -6
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +39 -54
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +2 -6
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
- package/lib/electron-browser/preload.d.ts +2 -0
- package/lib/electron-browser/preload.d.ts.map +1 -0
- package/lib/electron-browser/preload.js +183 -0
- package/lib/electron-browser/preload.js.map +1 -0
- package/lib/electron-browser/token/electron-token-frontend-module.d.ts.map +1 -1
- package/lib/electron-browser/token/electron-token-frontend-module.js +1 -2
- package/lib/electron-browser/token/electron-token-frontend-module.js.map +1 -1
- package/lib/electron-browser/window/electron-frontend-application-state.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-frontend-application-state.js +1 -3
- package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.d.ts +1 -3
- package/lib/electron-browser/window/electron-secondary-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.js +6 -34
- package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.d.ts +1 -8
- package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +8 -25
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +94 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -0
- package/lib/electron-common/electron-api.js +53 -0
- package/lib/electron-common/electron-api.js.map +1 -0
- package/lib/electron-common/messaging/electron-connection-handler.d.ts +0 -7
- package/lib/electron-common/messaging/electron-connection-handler.d.ts.map +1 -1
- package/lib/electron-common/messaging/electron-connection-handler.js +1 -5
- package/lib/electron-common/messaging/electron-connection-handler.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts +21 -0
- package/lib/electron-main/electron-api-main.d.ts.map +1 -0
- package/lib/electron-main/electron-api-main.js +261 -0
- package/lib/electron-main/electron-api-main.js.map +1 -0
- package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application-module.js +3 -3
- package/lib/electron-main/electron-main-application-module.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +8 -2
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +32 -29
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/electron-security-token-service.d.ts.map +1 -1
- package/lib/electron-main/electron-security-token-service.js +2 -1
- package/lib/electron-main/electron-security-token-service.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +4 -5
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.js +4 -7
- package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts +2 -4
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +11 -34
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/node/i18n/localization-backend-contribution.d.ts.map +1 -1
- package/lib/node/i18n/localization-backend-contribution.js +2 -1
- package/lib/node/i18n/localization-backend-contribution.js.map +1 -1
- package/lib/node/i18n/localization-provider.d.ts.map +1 -1
- package/lib/node/i18n/localization-provider.js +2 -1
- package/lib/node/i18n/localization-provider.js.map +1 -1
- package/package.json +7 -4
- package/src/browser/core-preferences.ts +26 -0
- package/src/browser/hover-service.ts +12 -1
- package/src/browser/icon-theme-service.ts +1 -1
- package/src/browser/shell/application-shell.ts +29 -1
- package/src/browser/shell/tab-bars.ts +111 -17
- package/src/browser/style/hover-service.css +4 -0
- package/src/browser/style/tabs.css +25 -0
- package/src/browser/test/jsdom.ts +1 -1
- package/src/browser/tree/tree-iterator.ts +4 -4
- package/src/browser/tree/tree-selection-state.spec.ts +29 -2
- package/src/common/i18n/localization.ts +6 -16
- package/src/common/nls.ts +3 -1
- package/src/common/quick-pick-service.ts +2 -1
- package/src/electron-browser/electron-clipboard-service.ts +2 -3
- package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +1 -2
- package/src/electron-browser/menu/electron-context-menu-renderer.ts +10 -17
- package/src/electron-browser/menu/electron-main-menu-factory.ts +51 -44
- package/src/electron-browser/menu/electron-menu-contribution.ts +46 -57
- package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +4 -9
- package/src/electron-browser/preload.ts +208 -0
- package/src/electron-browser/token/electron-token-frontend-module.ts +1 -2
- package/src/electron-browser/window/electron-frontend-application-state.ts +1 -3
- package/src/electron-browser/window/electron-secondary-window-service.ts +7 -31
- package/src/electron-browser/window/electron-window-service.ts +8 -25
- package/src/electron-common/electron-api.ts +134 -0
- package/src/electron-common/messaging/electron-connection-handler.ts +0 -9
- package/src/electron-main/electron-api-main.ts +291 -0
- package/src/electron-main/electron-main-application-module.ts +3 -4
- package/src/electron-main/electron-main-application.ts +33 -37
- package/src/electron-main/electron-security-token-service.ts +2 -1
- package/src/electron-main/messaging/electron-messaging-contribution.ts +8 -10
- package/src/electron-main/theia-electron-window.ts +8 -33
- package/src/node/i18n/localization-backend-contribution.ts +2 -1
- package/src/node/i18n/localization-provider.ts +2 -1
- package/LICENSE +0 -642
- package/electron-shared/@electron/remote/index.d.ts +0 -1
- package/electron-shared/@electron/remote/index.js +0 -1
- package/electron-shared/@electron/remote/main/index.d.ts +0 -1
- package/electron-shared/@electron/remote/main/index.js +0 -1
- package/lib/electron-common/messaging/electron-messages.d.ts +0 -25
- package/lib/electron-common/messaging/electron-messages.d.ts.map +0 -1
- package/lib/electron-common/messaging/electron-messages.js +0 -37
- package/lib/electron-common/messaging/electron-messages.js.map +0 -1
- package/lib/electron-main/electron-native-keymap.d.ts +0 -8
- package/lib/electron-main/electron-native-keymap.d.ts.map +0 -1
- package/lib/electron-main/electron-native-keymap.js +0 -48
- package/lib/electron-main/electron-native-keymap.js.map +0 -1
- package/src/electron-common/messaging/electron-messages.ts +0 -42
- package/src/electron-main/electron-native-keymap.ts +0 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-keyboard-layout-change-notifier.js","sourceRoot":"","sources":["../../../src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"electron-keyboard-layout-change-notifier.js","sourceRoot":"","sources":["../../../src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,yCAAsD;AAEtD,8CAAoD;AAEpD;;;GAGG;AAEH,IAAa,oCAAoC,GAAjD,MAAa,oCAAoC;IAAjD;QAEuB,wBAAmB,GAAG,IAAI,eAAO,EAAwB,CAAC;IAWjF,CAAC;IATG,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAC1C,CAAC;IAGS,UAAU;QAChB,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,SAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACpI,CAAC;CAEJ,CAAA;AAJG;IADC,IAAA,yBAAa,GAAE;;;;sEAGf;AAXQ,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAahD;AAbY,oFAAoC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import * as electron from '../../../electron-shared/electron';
|
|
2
1
|
import { ContextMenuRenderer, RenderContextMenuOptions, ContextMenuAccess, FrontendApplicationContribution, PreferenceService } from '../../browser';
|
|
3
2
|
import { ElectronMainMenuFactory } from './electron-main-menu-factory';
|
|
4
3
|
import { ContextMenuContext } from '../../browser/menu/context-menu-context';
|
|
5
4
|
import { MenuPath, MenuContribution, MenuModelRegistry } from '../../common';
|
|
6
5
|
import { BrowserContextMenuRenderer } from '../../browser/menu/browser-context-menu-renderer';
|
|
7
6
|
export declare class ElectronContextMenuAccess extends ContextMenuAccess {
|
|
8
|
-
readonly
|
|
9
|
-
constructor(
|
|
7
|
+
readonly menuHandle: Promise<number>;
|
|
8
|
+
constructor(menuHandle: Promise<number>);
|
|
10
9
|
}
|
|
11
10
|
export declare namespace ElectronTextInputContextMenu {
|
|
12
11
|
const MENU_PATH: MenuPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-context-menu-renderer.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-context-menu-renderer.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"AAmBA,OAAO,EACH,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,+BAA+B,EAAwC,iBAAiB,EAC7J,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,qBAAa,yBAA0B,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;gBAA3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;CAKnD;AAED,yBAAiB,4BAA4B,CAAC;IACnC,MAAM,SAAS,EAAE,QAAkC,CAAC;IACpD,MAAM,oBAAoB,UAAsC,CAAC;IACjE,MAAM,UAAU,UAAiC,CAAC;IAClD,MAAM,YAAY,UAAmC,CAAC;CAChE;AAED,qBACa,wCAAyC,YAAW,+BAA+B,EAAE,gBAAgB;IAG9G,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,OAAO,IAAI,IAAI;IAiBf,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CASnD;AAED,qBACa,2BAA4B,SAAQ,0BAA0B;IAU1B,OAAO,CAAC,mBAAmB;IAPxE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,cAAc,EAAE,OAAO,CAAQ;gBAEY,mBAAmB,EAAE,uBAAuB;cAKjF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIlB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB;CAmBpF"}
|
|
@@ -29,19 +29,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.ElectronContextMenuRenderer = exports.ElectronTextInputContextMenuContribution = exports.ElectronTextInputContextMenu = exports.ElectronContextMenuAccess = void 0;
|
|
31
31
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
32
|
-
const electron = require("../../../electron-shared/electron");
|
|
33
32
|
const inversify_1 = require("inversify");
|
|
34
33
|
const browser_1 = require("../../browser");
|
|
35
34
|
const electron_main_menu_factory_1 = require("./electron-main-menu-factory");
|
|
36
35
|
const context_menu_context_1 = require("../../browser/menu/context-menu-context");
|
|
37
36
|
const browser_context_menu_renderer_1 = require("../../browser/menu/browser-context-menu-renderer");
|
|
38
|
-
const electron_messages_1 = require("../../electron-common/messaging/electron-messages");
|
|
39
37
|
class ElectronContextMenuAccess extends browser_1.ContextMenuAccess {
|
|
40
|
-
constructor(
|
|
38
|
+
constructor(menuHandle) {
|
|
41
39
|
super({
|
|
42
|
-
dispose: () =>
|
|
40
|
+
dispose: () => menuHandle.then(handle => window.electronTheiaCore.closePopup(handle))
|
|
43
41
|
});
|
|
44
|
-
this.
|
|
42
|
+
this.menuHandle = menuHandle;
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
exports.ElectronContextMenuAccess = ElectronContextMenuAccess;
|
|
@@ -93,27 +91,21 @@ let ElectronContextMenuRenderer = class ElectronContextMenuRenderer extends brow
|
|
|
93
91
|
this.useNativeStyle = true;
|
|
94
92
|
}
|
|
95
93
|
async init() {
|
|
96
|
-
|
|
97
|
-
this.useNativeStyle = style === 'native';
|
|
98
|
-
});
|
|
99
|
-
electron.ipcRenderer.send(electron_messages_1.RequestTitleBarStyle);
|
|
94
|
+
this.useNativeStyle = await window.electronTheiaCore.getTitleBarStyleAtStartup() === 'native';
|
|
100
95
|
}
|
|
101
96
|
doRender(options) {
|
|
102
97
|
if (this.useNativeStyle) {
|
|
103
98
|
const { menuPath, anchor, args, onHide, context, contextKeyService } = options;
|
|
104
99
|
const menu = this.electronMenuFactory.createElectronContextMenu(menuPath, args, context, contextKeyService);
|
|
105
100
|
const { x, y } = (0, browser_1.coordinateFromAnchor)(anchor);
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
101
|
+
const menuHandle = window.electronTheiaCore.popup(menu, x, y, () => {
|
|
102
|
+
if (onHide) {
|
|
103
|
+
onHide();
|
|
104
|
+
}
|
|
105
|
+
});
|
|
111
106
|
// native context menu stops the event loop, so there is no keyboard events
|
|
112
107
|
this.context.resetAltPressed();
|
|
113
|
-
|
|
114
|
-
menu.once('menu-will-close', () => onHide());
|
|
115
|
-
}
|
|
116
|
-
return new ElectronContextMenuAccess(menu);
|
|
108
|
+
return new ElectronContextMenuAccess(menuHandle);
|
|
117
109
|
}
|
|
118
110
|
else {
|
|
119
111
|
return super.doRender(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-context-menu-renderer.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;;;;AAEhF,uDAAuD;AAEvD,
|
|
1
|
+
{"version":3,"file":"electron-context-menu-renderer.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import { MenuPath, MenuNode } from '../../common';
|
|
|
2
2
|
import { Keybinding } from '../../common/keybinding';
|
|
3
3
|
import { PreferenceService } from '../../browser';
|
|
4
4
|
import { BrowserMainMenuFactory } from '../../browser/menu/browser-menu-plugin';
|
|
5
|
-
import { ContextMatcher } from '
|
|
5
|
+
import { ContextMatcher } from '../../browser/context-key-service';
|
|
6
|
+
import { MenuDto, MenuRole } from '../../electron-common/electron-api';
|
|
6
7
|
/**
|
|
7
8
|
* Representation of possible electron menu options.
|
|
8
9
|
*/
|
|
@@ -33,21 +34,22 @@ export interface ElectronMenuOptions {
|
|
|
33
34
|
*/
|
|
34
35
|
export declare type ElectronMenuItemRole = ('undo' | 'redo' | 'cut' | 'copy' | 'paste' | 'pasteAndMatchStyle' | 'delete' | 'selectAll' | 'reload' | 'forceReload' | 'toggleDevTools' | 'resetZoom' | 'zoomIn' | 'zoomOut' | 'togglefullscreen' | 'window' | 'minimize' | 'close' | 'help' | 'about' | 'services' | 'hide' | 'hideOthers' | 'unhide' | 'quit' | 'startSpeaking' | 'stopSpeaking' | 'zoom' | 'front' | 'appMenu' | 'fileMenu' | 'editMenu' | 'viewMenu' | 'recentDocuments' | 'toggleTabBar' | 'selectNextTab' | 'selectPreviousTab' | 'mergeAllWindows' | 'clearRecentDocuments' | 'moveTabToNewWindow' | 'windowMenu');
|
|
35
36
|
export declare class ElectronMainMenuFactory extends BrowserMainMenuFactory {
|
|
36
|
-
protected _menu?:
|
|
37
|
+
protected _menu?: MenuDto[];
|
|
37
38
|
protected _toggledCommands: Set<string>;
|
|
38
39
|
protected preferencesService: PreferenceService;
|
|
39
40
|
postConstruct(): void;
|
|
40
41
|
setMenuBar(): Promise<void>;
|
|
41
|
-
createElectronMenuBar():
|
|
42
|
-
createElectronContextMenu(menuPath: MenuPath, args?: any[], context?: HTMLElement, contextKeyService?: ContextMatcher):
|
|
43
|
-
protected fillMenuTemplate(parentItems:
|
|
42
|
+
createElectronMenuBar(): MenuDto[] | undefined;
|
|
43
|
+
createElectronContextMenu(menuPath: MenuPath, args?: any[], context?: HTMLElement, contextKeyService?: ContextMatcher): MenuDto[];
|
|
44
|
+
protected fillMenuTemplate(parentItems: MenuDto[], menu: MenuNode, args: unknown[] | undefined, options: ElectronMenuOptions): MenuDto[];
|
|
44
45
|
protected undefinedOrMatch(contextKeyService: ContextMatcher, expression?: string, context?: HTMLElement): boolean;
|
|
45
46
|
/**
|
|
46
47
|
* Return a user visible representation of a keybinding.
|
|
47
48
|
*/
|
|
48
49
|
protected acceleratorFor(keybinding: Keybinding): string;
|
|
49
|
-
protected roleFor(id: string):
|
|
50
|
-
protected execute(
|
|
51
|
-
|
|
50
|
+
protected roleFor(id: string): MenuRole | undefined;
|
|
51
|
+
protected execute(cmd: string, args: any[], menuPath: MenuPath): Promise<void>;
|
|
52
|
+
findMenuById(items: MenuDto[], id: string): MenuDto | undefined;
|
|
53
|
+
protected createOSXMenu(): MenuDto;
|
|
52
54
|
}
|
|
53
55
|
//# sourceMappingURL=electron-main-menu-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-main-menu-factory.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-main-menu-factory.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAwB,QAAQ,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAA;CACzB;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAC1E,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GACxE,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,kBAAkB,GAC1E,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAClD,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GACtD,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAC/D,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,cAAc,GACzE,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,sBAAsB,GAClF,oBAAoB,GAAG,YAAY,CAAC,CAAC;AAEzC,qBACa,uBAAwB,SAAQ,sBAAsB;IAE/D,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAGpD,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IAGhD,aAAa,IAAI,IAAI;IAsBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,qBAAqB,IAAI,OAAO,EAAE,GAAG,SAAS;IAgB9C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE;IAKjI,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,uBAAgB,EACpB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,EAAE;IA2EZ,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAOlH;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAexD,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;cA2BnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpF,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAe/D,SAAS,CAAC,aAAa,IAAI,OAAO;CAoCrC"}
|
|
@@ -26,7 +26,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.ElectronMainMenuFactory = void 0;
|
|
28
28
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
29
|
-
const electronRemote = require("../../../electron-shared/@electron/remote");
|
|
30
29
|
const inversify_1 = require("inversify");
|
|
31
30
|
const common_1 = require("../../common");
|
|
32
31
|
const browser_1 = require("../../browser");
|
|
@@ -44,13 +43,13 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
|
|
|
44
43
|
this.setMenuBar();
|
|
45
44
|
}
|
|
46
45
|
if (this._menu) {
|
|
47
|
-
for (const
|
|
48
|
-
const menuItem = this._menu
|
|
46
|
+
for (const cmd of this._toggledCommands) {
|
|
47
|
+
const menuItem = this.findMenuById(this._menu, cmd);
|
|
49
48
|
if (menuItem) {
|
|
50
|
-
menuItem.checked = this.commandRegistry.isToggled(
|
|
49
|
+
menuItem.checked = this.commandRegistry.isToggled(cmd);
|
|
51
50
|
}
|
|
52
51
|
}
|
|
53
|
-
|
|
52
|
+
window.electronTheiaCore.setMenu(this._menu);
|
|
54
53
|
}
|
|
55
54
|
}, 10));
|
|
56
55
|
this.keybindingRegistry.onKeybindingsChanged(() => {
|
|
@@ -59,39 +58,27 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
|
|
|
59
58
|
}
|
|
60
59
|
async setMenuBar() {
|
|
61
60
|
await this.preferencesService.ready;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
electronRemote.Menu.setApplicationMenu(createdMenuBar);
|
|
65
|
-
}
|
|
66
|
-
else if (this.preferencesService.get('window.titleBarStyle') === 'native') {
|
|
67
|
-
const createdMenuBar = this.createElectronMenuBar();
|
|
68
|
-
electronRemote.getCurrentWindow().setMenu(createdMenuBar);
|
|
69
|
-
}
|
|
61
|
+
const createdMenuBar = this.createElectronMenuBar();
|
|
62
|
+
window.electronTheiaCore.setMenu(createdMenuBar);
|
|
70
63
|
}
|
|
71
64
|
createElectronMenuBar() {
|
|
72
65
|
const preference = this.preferencesService.get('window.menuBarVisibility') || 'classic';
|
|
73
66
|
const maxWidget = document.getElementsByClassName(theia_dock_panel_1.MAXIMIZED_CLASS);
|
|
74
67
|
if (preference === 'visible' || (preference === 'classic' && maxWidget.length === 0)) {
|
|
75
68
|
const menuModel = this.menuProvider.getMenu(common_1.MAIN_MENU_BAR);
|
|
76
|
-
|
|
69
|
+
this._menu = this.fillMenuTemplate([], menuModel, [], { rootMenuPath: common_1.MAIN_MENU_BAR });
|
|
77
70
|
if (common_1.isOSX) {
|
|
78
|
-
|
|
71
|
+
this._menu.unshift(this.createOSXMenu());
|
|
79
72
|
}
|
|
80
|
-
const menu = electronRemote.Menu.buildFromTemplate(template);
|
|
81
|
-
if (!menu) {
|
|
82
|
-
throw new Error('menu is null');
|
|
83
|
-
}
|
|
84
|
-
this._menu = menu;
|
|
85
73
|
return this._menu;
|
|
86
74
|
}
|
|
87
75
|
this._menu = undefined;
|
|
88
76
|
// eslint-disable-next-line no-null/no-null
|
|
89
|
-
return
|
|
77
|
+
return undefined;
|
|
90
78
|
}
|
|
91
79
|
createElectronContextMenu(menuPath, args, context, contextKeyService) {
|
|
92
80
|
const menuModel = this.menuProvider.getMenu(menuPath);
|
|
93
|
-
|
|
94
|
-
return electronRemote.Menu.buildFromTemplate(template);
|
|
81
|
+
return this.fillMenuTemplate([], menuModel, args, { showDisabled: false, context, rootMenuPath: menuPath, contextKeyService });
|
|
95
82
|
}
|
|
96
83
|
fillMenuTemplate(parentItems, menu, args = [], options) {
|
|
97
84
|
var _a, _b;
|
|
@@ -144,13 +131,13 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
|
|
|
144
131
|
enabled: true,
|
|
145
132
|
visible: true,
|
|
146
133
|
accelerator,
|
|
147
|
-
|
|
134
|
+
execute: () => this.execute(commandId, args, options.rootMenuPath)
|
|
148
135
|
};
|
|
149
136
|
if (common_1.isOSX) {
|
|
150
137
|
const role = this.roleFor(node.id);
|
|
151
138
|
if (role) {
|
|
152
139
|
menuItem.role = role;
|
|
153
|
-
delete menuItem.
|
|
140
|
+
delete menuItem.execute;
|
|
154
141
|
}
|
|
155
142
|
}
|
|
156
143
|
parentItems.push(menuItem);
|
|
@@ -208,18 +195,18 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
|
|
|
208
195
|
}
|
|
209
196
|
return role;
|
|
210
197
|
}
|
|
211
|
-
async execute(
|
|
198
|
+
async execute(cmd, args, menuPath) {
|
|
212
199
|
try {
|
|
213
200
|
// This is workaround for https://github.com/eclipse-theia/theia/issues/446.
|
|
214
201
|
// Electron menus do not update based on the `isEnabled`, `isVisible` property of the command.
|
|
215
202
|
// We need to check if we can execute it.
|
|
216
|
-
if (this.menuCommandExecutor.isEnabled(menuPath,
|
|
217
|
-
await this.menuCommandExecutor.executeCommand(menuPath,
|
|
218
|
-
if (this._menu && this.menuCommandExecutor.isVisible(menuPath,
|
|
219
|
-
const item = this._menu
|
|
203
|
+
if (this.menuCommandExecutor.isEnabled(menuPath, cmd, ...args)) {
|
|
204
|
+
await this.menuCommandExecutor.executeCommand(menuPath, cmd, ...args);
|
|
205
|
+
if (this._menu && this.menuCommandExecutor.isVisible(menuPath, cmd, ...args)) {
|
|
206
|
+
const item = this.findMenuById(this._menu, cmd);
|
|
220
207
|
if (item) {
|
|
221
|
-
item.checked = this.menuCommandExecutor.isToggled(menuPath,
|
|
222
|
-
|
|
208
|
+
item.checked = this.menuCommandExecutor.isToggled(menuPath, cmd, ...args);
|
|
209
|
+
window.electronTheiaCore.setMenu(this._menu);
|
|
223
210
|
}
|
|
224
211
|
}
|
|
225
212
|
}
|
|
@@ -228,6 +215,20 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
|
|
|
228
215
|
// no-op
|
|
229
216
|
}
|
|
230
217
|
}
|
|
218
|
+
findMenuById(items, id) {
|
|
219
|
+
for (const item of items) {
|
|
220
|
+
if (item.id === id) {
|
|
221
|
+
return item;
|
|
222
|
+
}
|
|
223
|
+
if (item.submenu) {
|
|
224
|
+
const found = this.findMenuById(item.submenu, id);
|
|
225
|
+
if (found) {
|
|
226
|
+
return found;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
231
232
|
createOSXMenu() {
|
|
232
233
|
return {
|
|
233
234
|
label: 'Theia',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-main-menu-factory.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,uDAAuD;AAEvD,
|
|
1
|
+
{"version":3,"file":"electron-main-menu-factory.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as electron from '../../../electron-shared/electron';
|
|
2
1
|
import { Command, CommandContribution, CommandRegistry, MenuModelRegistry, MenuContribution } from '../../common';
|
|
3
2
|
import { KeybindingContribution, KeybindingRegistry, Widget, FrontendApplication, FrontendApplicationContribution, Message, ApplicationShell } from '../../browser';
|
|
4
3
|
import { ElectronMainMenuFactory } from './electron-main-menu-factory';
|
|
@@ -7,6 +6,7 @@ import { BrowserMenuBarContribution } from '../../browser/menu/browser-menu-plug
|
|
|
7
6
|
import { WindowService } from '../../browser/window/window-service';
|
|
8
7
|
import { WindowTitleService } from '../../browser/window/window-title-service';
|
|
9
8
|
import '../../../src/electron-browser/menu/electron-menu-style.css';
|
|
9
|
+
import { MenuDto } from '../../electron-common/electron-api';
|
|
10
10
|
export declare namespace ElectronCommands {
|
|
11
11
|
const TOGGLE_DEVELOPER_TOOLS: Command;
|
|
12
12
|
const RELOAD: Command;
|
|
@@ -48,17 +48,17 @@ export declare class ElectronMenuContribution extends BrowserMenuBarContribution
|
|
|
48
48
|
* By default, this method is called on application `onStart`.
|
|
49
49
|
*/
|
|
50
50
|
protected hideTopPanel(app: FrontendApplication): void;
|
|
51
|
-
protected setMenu(app: FrontendApplication, electronMenu?:
|
|
52
|
-
protected createCustomTitleBar(app: FrontendApplication
|
|
51
|
+
protected setMenu(app: FrontendApplication, electronMenu?: MenuDto[] | undefined): void;
|
|
52
|
+
protected createCustomTitleBar(app: FrontendApplication): void;
|
|
53
53
|
protected createCustomTitleWidget(app: FrontendApplication): void;
|
|
54
|
-
protected handleWindowControls(
|
|
54
|
+
protected handleWindowControls(): void;
|
|
55
55
|
protected createControlButton(id: string, handler: () => void): HTMLElement;
|
|
56
56
|
protected handleRequiredRestart(): Promise<void>;
|
|
57
57
|
registerCommands(registry: CommandRegistry): void;
|
|
58
58
|
registerKeybindings(registry: KeybindingRegistry): void;
|
|
59
59
|
registerMenus(registry: MenuModelRegistry): void;
|
|
60
|
-
protected toggleFullScreen(
|
|
61
|
-
protected handleFullScreen(
|
|
60
|
+
protected toggleFullScreen(): void;
|
|
61
|
+
protected handleFullScreen(menuBarVisibility: string): void;
|
|
62
62
|
}
|
|
63
63
|
export declare class CustomTitleWidget extends Widget {
|
|
64
64
|
protected readonly electronMenuContribution: ElectronMenuContribution;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-menu-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-menu-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,15 +28,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.CustomTitleWidget = exports.ElectronMenuContribution = exports.CustomTitleWidgetFactory = exports.ElectronMenus = exports.ElectronCommands = void 0;
|
|
31
|
-
const electron = require("../../../electron-shared/electron");
|
|
32
|
-
const electronRemote = require("../../../electron-shared/@electron/remote");
|
|
33
31
|
const inversify_1 = require("inversify");
|
|
34
32
|
const common_1 = require("../../common");
|
|
35
33
|
const browser_1 = require("../../browser");
|
|
36
34
|
const electron_main_menu_factory_1 = require("./electron-main-menu-factory");
|
|
37
35
|
const frontend_application_state_1 = require("../../browser/frontend-application-state");
|
|
38
36
|
const frontend_application_config_provider_1 = require("../../browser/frontend-application-config-provider");
|
|
39
|
-
const electron_messages_1 = require("../../electron-common/messaging/electron-messages");
|
|
40
37
|
const electron_window_preferences_1 = require("../window/electron-window-preferences");
|
|
41
38
|
const browser_menu_plugin_1 = require("../../browser/menu/browser-menu-plugin");
|
|
42
39
|
const window_service_1 = require("../../browser/window/window-service");
|
|
@@ -120,36 +117,34 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
120
117
|
// OSX: Recreate the menus when changing windows.
|
|
121
118
|
// OSX only has one menu bar for all windows, so we need to swap
|
|
122
119
|
// between them as the user switches windows.
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
window.addEventListener('unload', () =>
|
|
120
|
+
const disposeHandler = window.electronTheiaCore.onWindowEvent('focus', () => {
|
|
121
|
+
this.setMenu(app);
|
|
122
|
+
});
|
|
123
|
+
window.addEventListener('unload', () => disposeHandler.dispose());
|
|
127
124
|
}
|
|
128
125
|
attachMenuBarVisibilityListener() {
|
|
129
126
|
this.preferenceService.onPreferenceChanged(e => {
|
|
130
127
|
if (e.preferenceName === 'window.menuBarVisibility') {
|
|
131
|
-
|
|
132
|
-
this.handleFullScreen(targetWindow, e.newValue);
|
|
128
|
+
this.handleFullScreen(e.newValue);
|
|
133
129
|
}
|
|
134
130
|
});
|
|
135
131
|
}
|
|
136
132
|
handleTitleBarStyling(app) {
|
|
137
133
|
this.hideTopPanel(app);
|
|
138
|
-
|
|
134
|
+
window.electronTheiaCore.getTitleBarStyleAtStartup().then(style => {
|
|
139
135
|
this.titleBarStyle = style;
|
|
140
136
|
this.setMenu(app);
|
|
141
137
|
this.preferenceService.ready.then(() => {
|
|
142
138
|
this.preferenceService.set('window.titleBarStyle', this.titleBarStyle, browser_1.PreferenceScope.User);
|
|
143
139
|
});
|
|
144
140
|
});
|
|
145
|
-
electron.ipcRenderer.send(electron_messages_1.RequestTitleBarStyle);
|
|
146
141
|
this.preferenceService.ready.then(() => {
|
|
147
|
-
|
|
142
|
+
window.electronTheiaCore.setMenuBarVisible(['classic', 'visible'].includes(this.preferenceService.get('window.menuBarVisibility', 'classic')));
|
|
148
143
|
});
|
|
149
144
|
this.preferenceService.onPreferenceChanged(change => {
|
|
150
145
|
if (change.preferenceName === 'window.titleBarStyle') {
|
|
151
|
-
if (this.titleBarStyleChangeFlag && this.titleBarStyle !== change.newValue
|
|
152
|
-
|
|
146
|
+
if (this.titleBarStyleChangeFlag && this.titleBarStyle !== change.newValue) {
|
|
147
|
+
window.electronTheiaCore.setTitleBarStyle(change.newValue);
|
|
153
148
|
this.handleRequiredRestart();
|
|
154
149
|
}
|
|
155
150
|
this.titleBarStyleChangeFlag = true;
|
|
@@ -182,20 +177,17 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
182
177
|
}
|
|
183
178
|
}
|
|
184
179
|
}
|
|
185
|
-
setMenu(app, electronMenu = this.factory.createElectronMenuBar()
|
|
186
|
-
if (common_1.isOSX) {
|
|
187
|
-
electronRemote.Menu.setApplicationMenu(electronMenu);
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
180
|
+
setMenu(app, electronMenu = this.factory.createElectronMenuBar()) {
|
|
181
|
+
if (!common_1.isOSX) {
|
|
190
182
|
this.hideTopPanel(app);
|
|
191
183
|
if (this.titleBarStyle === 'custom' && !this.menuBar) {
|
|
192
|
-
this.createCustomTitleBar(app
|
|
184
|
+
this.createCustomTitleBar(app);
|
|
185
|
+
return;
|
|
193
186
|
}
|
|
194
|
-
// Unix/Windows: Set the per-window menus
|
|
195
|
-
electronWindow.setMenu(electronMenu);
|
|
196
187
|
}
|
|
188
|
+
window.electronTheiaCore.setMenu(electronMenu);
|
|
197
189
|
}
|
|
198
|
-
createCustomTitleBar(app
|
|
190
|
+
createCustomTitleBar(app) {
|
|
199
191
|
const dragPanel = new browser_1.Widget();
|
|
200
192
|
dragPanel.id = 'theia-drag-panel';
|
|
201
193
|
app.shell.addWidget(dragPanel, { area: 'top' });
|
|
@@ -203,9 +195,9 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
203
195
|
this.createCustomTitleWidget(app);
|
|
204
196
|
const controls = document.createElement('div');
|
|
205
197
|
controls.id = 'window-controls';
|
|
206
|
-
controls.append(this.createControlButton('minimize', () =>
|
|
198
|
+
controls.append(this.createControlButton('minimize', () => window.electronTheiaCore.minimize()), this.createControlButton('maximize', () => window.electronTheiaCore.maximize()), this.createControlButton('restore', () => window.electronTheiaCore.unMaximize()), this.createControlButton('close', () => window.electronTheiaCore.close()));
|
|
207
199
|
app.shell.topPanel.node.append(controls);
|
|
208
|
-
this.handleWindowControls(
|
|
200
|
+
this.handleWindowControls();
|
|
209
201
|
}
|
|
210
202
|
createCustomTitleWidget(app) {
|
|
211
203
|
const titleWidget = this.customTitleWidgetFactory();
|
|
@@ -213,12 +205,12 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
213
205
|
app.shell.addWidget(titleWidget, { area: 'top' });
|
|
214
206
|
}
|
|
215
207
|
}
|
|
216
|
-
handleWindowControls(
|
|
208
|
+
handleWindowControls() {
|
|
217
209
|
toggleControlButtons();
|
|
218
|
-
|
|
219
|
-
|
|
210
|
+
window.electronTheiaCore.onWindowEvent('maximize', toggleControlButtons);
|
|
211
|
+
window.electronTheiaCore.onWindowEvent('unmaximize', toggleControlButtons);
|
|
220
212
|
function toggleControlButtons() {
|
|
221
|
-
if (
|
|
213
|
+
if (window.electronTheiaCore.isMaximized()) {
|
|
222
214
|
document.body.classList.add('maximized');
|
|
223
215
|
}
|
|
224
216
|
else {
|
|
@@ -249,33 +241,26 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
249
241
|
});
|
|
250
242
|
if (await dialog.open()) {
|
|
251
243
|
this.windowService.setSafeToShutDown();
|
|
252
|
-
|
|
244
|
+
window.electronTheiaCore.restart();
|
|
253
245
|
}
|
|
254
246
|
}
|
|
255
247
|
registerCommands(registry) {
|
|
256
|
-
const currentWindow = electronRemote.getCurrentWindow();
|
|
257
248
|
registry.registerCommand(ElectronCommands.TOGGLE_DEVELOPER_TOOLS, {
|
|
258
249
|
execute: () => {
|
|
259
|
-
|
|
260
|
-
if (!webContent.isDevToolsOpened()) {
|
|
261
|
-
webContent.openDevTools();
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
webContent.closeDevTools();
|
|
265
|
-
}
|
|
250
|
+
window.electronTheiaCore.toggleDevTools();
|
|
266
251
|
}
|
|
267
252
|
});
|
|
268
253
|
registry.registerCommand(ElectronCommands.RELOAD, {
|
|
269
254
|
execute: () => this.windowService.reload()
|
|
270
255
|
});
|
|
271
256
|
registry.registerCommand(ElectronCommands.CLOSE_WINDOW, {
|
|
272
|
-
execute: () =>
|
|
257
|
+
execute: () => window.electronTheiaCore.close()
|
|
273
258
|
});
|
|
274
259
|
registry.registerCommand(ElectronCommands.ZOOM_IN, {
|
|
275
|
-
execute: () => {
|
|
276
|
-
const
|
|
260
|
+
execute: async () => {
|
|
261
|
+
const curentLevel = await window.electronTheiaCore.getZoomLevel();
|
|
277
262
|
// When starting at a level that is not a multiple of 0.5, increment by at most 0.5 to reach the next highest multiple of 0.5.
|
|
278
|
-
let zoomLevel = (Math.floor(
|
|
263
|
+
let zoomLevel = (Math.floor(curentLevel / electron_window_preferences_1.ZoomLevel.VARIATION) * electron_window_preferences_1.ZoomLevel.VARIATION) + electron_window_preferences_1.ZoomLevel.VARIATION;
|
|
279
264
|
if (zoomLevel > electron_window_preferences_1.ZoomLevel.MAX) {
|
|
280
265
|
zoomLevel = electron_window_preferences_1.ZoomLevel.MAX;
|
|
281
266
|
return;
|
|
@@ -285,10 +270,10 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
285
270
|
}
|
|
286
271
|
});
|
|
287
272
|
registry.registerCommand(ElectronCommands.ZOOM_OUT, {
|
|
288
|
-
execute: () => {
|
|
289
|
-
const
|
|
273
|
+
execute: async () => {
|
|
274
|
+
const curentLevel = await window.electronTheiaCore.getZoomLevel();
|
|
290
275
|
// When starting at a level that is not a multiple of 0.5, decrement by at most 0.5 to reach the next lowest multiple of 0.5.
|
|
291
|
-
let zoomLevel = (Math.ceil(
|
|
276
|
+
let zoomLevel = (Math.ceil(curentLevel / electron_window_preferences_1.ZoomLevel.VARIATION) * electron_window_preferences_1.ZoomLevel.VARIATION) - electron_window_preferences_1.ZoomLevel.VARIATION;
|
|
292
277
|
if (zoomLevel < electron_window_preferences_1.ZoomLevel.MIN) {
|
|
293
278
|
zoomLevel = electron_window_preferences_1.ZoomLevel.MIN;
|
|
294
279
|
return;
|
|
@@ -301,9 +286,9 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
301
286
|
execute: () => this.preferenceService.set('window.zoomLevel', electron_window_preferences_1.ZoomLevel.DEFAULT, browser_1.PreferenceScope.User)
|
|
302
287
|
});
|
|
303
288
|
registry.registerCommand(ElectronCommands.TOGGLE_FULL_SCREEN, {
|
|
304
|
-
isEnabled: () =>
|
|
305
|
-
isVisible: () =>
|
|
306
|
-
execute: () => this.toggleFullScreen(
|
|
289
|
+
isEnabled: () => window.electronTheiaCore.isFullScreenable(),
|
|
290
|
+
isVisible: () => window.electronTheiaCore.isFullScreenable(),
|
|
291
|
+
execute: () => this.toggleFullScreen()
|
|
307
292
|
});
|
|
308
293
|
}
|
|
309
294
|
registerKeybindings(registry) {
|
|
@@ -365,15 +350,15 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
365
350
|
order: '0'
|
|
366
351
|
});
|
|
367
352
|
}
|
|
368
|
-
toggleFullScreen(
|
|
369
|
-
|
|
353
|
+
toggleFullScreen() {
|
|
354
|
+
window.electronTheiaCore.toggleFullScreen();
|
|
370
355
|
const menuBarVisibility = this.preferenceService.get('window.menuBarVisibility', 'classic');
|
|
371
|
-
this.handleFullScreen(
|
|
356
|
+
this.handleFullScreen(menuBarVisibility);
|
|
372
357
|
}
|
|
373
|
-
handleFullScreen(
|
|
374
|
-
const shouldShowTop = !
|
|
358
|
+
handleFullScreen(menuBarVisibility) {
|
|
359
|
+
const shouldShowTop = !window.electronTheiaCore.isFullScreen() || menuBarVisibility === 'visible';
|
|
375
360
|
if (this.titleBarStyle === 'native') {
|
|
376
|
-
|
|
361
|
+
window.electronTheiaCore.setMenuBarVisible(shouldShowTop);
|
|
377
362
|
}
|
|
378
363
|
else if (shouldShowTop) {
|
|
379
364
|
this.shell.topPanel.show();
|