[MM-55720] Add menu item to open developer tools for Call Widget window (#2936)

* Add menu item to open developer tools for Call Widget window

* Add dedicated Developer Tools submenu
This commit is contained in:
Claudio Costa
2024-01-09 17:31:06 -06:00
committed by GitHub
parent b4a8a447a2
commit 3308730f13
5 changed files with 151 additions and 24 deletions

View File

@@ -20,6 +20,7 @@ import downloadsManager from 'main/downloadsManager';
import Diagnostics from 'main/diagnostics';
import ViewManager from 'main/views/viewManager';
import SettingsWindow from 'main/windows/settingsWindow';
import CallsWidgetWindow from 'main/windows/callsWidgetWindow';
export function createTemplate(config: Config, updateManager: UpdateManager) {
const separatorItem: MenuItemConstructorOptions = {
@@ -125,6 +126,43 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
}],
});
const devToolsSubMenu = [
{
label: localizeMessage('main.menus.app.view.devToolsAppWrapper', 'Developer Tools for Application Wrapper'),
accelerator: (() => {
if (process.platform === 'darwin') {
return 'Alt+Command+I';
}
return 'Ctrl+Shift+I';
})(),
click(item: Electron.MenuItem, focusedWindow?: WebContents) {
if (focusedWindow) {
// toggledevtools opens it in the last known position, so sometimes it goes below the browserview
if (focusedWindow.isDevToolsOpened()) {
focusedWindow.closeDevTools();
} else {
focusedWindow.openDevTools({mode: 'detach'});
}
}
},
},
{
label: localizeMessage('main.menus.app.view.devToolsCurrentServer', 'Developer Tools for Current Server'),
click() {
ViewManager.getCurrentView()?.openDevTools();
},
},
];
if (CallsWidgetWindow.isOpen()) {
devToolsSubMenu.push({
label: localizeMessage('main.menus.app.view.devToolsCurrentCallWidget', 'Developer Tools for Call Widget'),
click() {
CallsWidgetWindow.openDevTools();
},
});
}
const viewSubMenu = [{
label: localizeMessage('main.menus.app.view.find', 'Find..'),
accelerator: 'CmdOrCtrl+F',
@@ -176,28 +214,8 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
return downloadsManager.openDownloadsDropdown();
},
}, separatorItem, {
label: localizeMessage('main.menus.app.view.devToolsAppWrapper', 'Developer Tools for Application Wrapper'),
accelerator: (() => {
if (process.platform === 'darwin') {
return 'Alt+Command+I';
}
return 'Ctrl+Shift+I';
})(),
click(item: Electron.MenuItem, focusedWindow?: WebContents) {
if (focusedWindow) {
// toggledevtools opens it in the last known position, so sometimes it goes below the browserview
if (focusedWindow.isDevToolsOpened()) {
focusedWindow.closeDevTools();
} else {
focusedWindow.openDevTools({mode: 'detach'});
}
}
},
}, {
label: localizeMessage('main.menus.app.view.devToolsCurrentServer', 'Developer Tools for Current Server'),
click() {
ViewManager.getCurrentView()?.openDevTools();
},
label: localizeMessage('main.menus.app.view.devToolsSubMenu', 'Developer Tools'),
submenu: devToolsSubMenu,
}];
if (process.platform !== 'darwin' && process.platform !== 'win32') {