[v2] Create default windows app menu

This commit is contained in:
Lea Anthony
2021-07-04 13:59:21 +10:00
parent e1dd77fd3f
commit 4c2804eac9
5 changed files with 32 additions and 16 deletions

View File

@@ -69,7 +69,8 @@ func CreateApp(appoptions *options.App) (*App, error) {
menuManager := menumanager.NewManager()
// Process the application menu
menuManager.SetApplicationMenu(options.GetApplicationMenu(appoptions))
appMenu := options.GetApplicationMenu(appoptions)
menuManager.SetApplicationMenu(appMenu)
// Process context menus
contextMenus := options.GetContextMenus(appoptions)

View File

@@ -34,12 +34,13 @@ func (a *Application) processPlatformSettings() error {
C.DisableWindowIcon(a.app)
}
//// Process menu
////applicationMenu := options.GetApplicationMenu(a.config)
//applicationMenu := a.menuManager.GetApplicationMenuJSON()
//if applicationMenu != "" {
// C.SetApplicationMenu(a.app, a.string2CString(applicationMenu))
//}
// Process menu
//applicationMenu := options.GetApplicationMenu(a.config)
applicationMenu := a.menuManager.GetApplicationMenuJSON()
println("Appmenu =", applicationMenu)
if applicationMenu != "" {
C.SetApplicationMenu(a.app, a.string2CString(applicationMenu))
}
//
//// Process tray
//trays, err := a.menuManager.GetTrayMenus()

11
v2/pkg/menu/windows.go Normal file
View File

@@ -0,0 +1,11 @@
package menu
// DefaultWindowsMenu returns a default menu including the default
// Application and Edit menus. Use `.Append()` to add to it.
func DefaultWindowsMenu() *Menu {
return NewMenuFromItems(
FileMenu(),
EditMenu(),
WindowMenu(),
)
}

View File

@@ -107,14 +107,14 @@ func GetApplicationMenu(appoptions *App) *menu.Menu {
if appoptions.Mac != nil {
result = appoptions.Mac.Menu
}
//case "linux":
// if appoptions.Linux != nil {
// result = appoptions.Linux.TrayMenu
// }
//case "windows":
// if appoptions.Windows != nil {
// result = appoptions.Windows.TrayMenu
// }
//case "linux":
// if appoptions.Linux != nil {
// result = appoptions.Linux.TrayMenu
// }
case "windows":
if appoptions.Windows != nil {
result = appoptions.Windows.Menu
}
}
if result == nil {

View File

@@ -1,8 +1,11 @@
package windows
// Options are options specific to Mac
import "github.com/wailsapp/wails/v2/pkg/menu"
// Options are options specific to Windows
type Options struct {
WebviewIsTransparent bool
WindowBackgroundIsTranslucent bool
DisableWindowIcon bool
Menu *menu.Menu
}