mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
Fixed and refactored context menu support
This commit is contained in:
@@ -10,5 +10,5 @@ type Options struct {
|
||||
WindowBackgroundIsTranslucent bool
|
||||
Menu *menu.Menu
|
||||
TrayMenus []*menu.TrayMenu
|
||||
ContextMenus *menu.ContextMenus
|
||||
ContextMenus []*menu.ContextMenu
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ type App struct {
|
||||
StartHidden bool
|
||||
DevTools bool
|
||||
RGBA int
|
||||
ContextMenus *menu.ContextMenus
|
||||
ContextMenus []*menu.ContextMenu
|
||||
TrayMenus []*menu.TrayMenu
|
||||
Menu *menu.Menu
|
||||
Mac *mac.Options
|
||||
@@ -89,15 +89,13 @@ func GetApplicationMenu(appoptions *App) *menu.Menu {
|
||||
return result
|
||||
}
|
||||
|
||||
func GetContextMenus(appoptions *App) *menu.ContextMenus {
|
||||
var result *menu.ContextMenus
|
||||
func GetContextMenus(appoptions *App) []*menu.ContextMenu {
|
||||
var result []*menu.ContextMenu
|
||||
|
||||
result = appoptions.ContextMenus
|
||||
var contextMenuOverrides *menu.ContextMenus
|
||||
switch runtime.GOOS {
|
||||
case "darwin":
|
||||
if appoptions.Mac != nil {
|
||||
contextMenuOverrides = appoptions.Mac.ContextMenus
|
||||
result = appoptions.Mac.ContextMenus
|
||||
}
|
||||
//case "linux":
|
||||
// if appoptions.Linux != nil {
|
||||
@@ -109,11 +107,8 @@ func GetContextMenus(appoptions *App) *menu.ContextMenus {
|
||||
// }
|
||||
}
|
||||
|
||||
// Overwrite defaults with OS Specific context menus
|
||||
if contextMenuOverrides != nil {
|
||||
for id, contextMenu := range contextMenuOverrides.Items {
|
||||
result.AddMenu(id, contextMenu)
|
||||
}
|
||||
if result == nil {
|
||||
result = appoptions.ContextMenus
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user