mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Change TrayMenuRegistration not to leak or depend on Electron Menu API
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
This commit is contained in:
parent
bb4790e3d8
commit
85714422af
14
src/main/tray/tray-menu-registration.d.ts
vendored
14
src/main/tray/tray-menu-registration.d.ts
vendored
@ -19,8 +19,12 @@
|
|||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type { MenuItemConstructorOptions } from "electron";
|
export interface TrayMenuRegistration {
|
||||||
|
label?: string;
|
||||||
export type TrayMenuRegistration = Pick<MenuItemConstructorOptions,
|
click?: (menuItem: TrayMenuRegistration) => void;
|
||||||
"label" | "type" | "submenu" | "click" |
|
id?: string;
|
||||||
"toolTip" | "visible" | "enabled" | "id">;
|
type?: "normal" | "separator" | "submenu"
|
||||||
|
toolTip?: string;
|
||||||
|
enabled?: boolean;
|
||||||
|
submenu?: TrayMenuRegistration[]
|
||||||
|
}
|
||||||
|
|||||||
@ -83,6 +83,16 @@ export function initTray(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getMenuItemConstructorOptions(trayItem: TrayMenuRegistration): Electron.MenuItemConstructorOptions {
|
||||||
|
return {
|
||||||
|
...trayItem,
|
||||||
|
submenu: trayItem.submenu ? trayItem.submenu.map(getMenuItemConstructorOptions) : undefined,
|
||||||
|
click: trayItem.click ? () => {
|
||||||
|
trayItem.click(trayItem);
|
||||||
|
} : undefined,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function createTrayMenu(
|
function createTrayMenu(
|
||||||
windowManager: WindowManager,
|
windowManager: WindowManager,
|
||||||
extensionTrayItems: TrayMenuRegistration[],
|
extensionTrayItems: TrayMenuRegistration[],
|
||||||
@ -116,7 +126,7 @@ function createTrayMenu(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
template = template.concat(extensionTrayItems);
|
template = template.concat(extensionTrayItems.map(getMenuItemConstructorOptions));
|
||||||
|
|
||||||
return Menu.buildFromTemplate(template.concat([
|
return Menu.buildFromTemplate(template.concat([
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user