mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
Refactor TrayOptions to Tray. Add ID.
This commit is contained in:
parent
a09e9d4586
commit
a55fc4d0e9
8 changed files with 29 additions and 15 deletions
|
|
@ -21,7 +21,7 @@ type Runtime struct {
|
|||
}
|
||||
|
||||
// New creates a new runtime
|
||||
func New(serviceBus *servicebus.ServiceBus, menu *menu.Menu, trayMenu *menu.TrayOptions, contextMenus *menu.ContextMenus) *Runtime {
|
||||
func New(serviceBus *servicebus.ServiceBus, menu *menu.Menu, trayMenu *menu.Tray, contextMenus *menu.ContextMenus) *Runtime {
|
||||
result := &Runtime{
|
||||
Browser: newBrowser(),
|
||||
Events: newEvents(serviceBus),
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@ import (
|
|||
|
||||
// Tray defines all Tray related operations
|
||||
type Tray interface {
|
||||
NewTray(id string) *menu.Tray
|
||||
On(menuID string, callback func(*menu.MenuItem))
|
||||
Update()
|
||||
Update(tray ...*menu.Tray)
|
||||
GetByID(menuID string) *menu.MenuItem
|
||||
RemoveByID(id string) bool
|
||||
SetLabel(label string)
|
||||
|
|
@ -18,11 +19,11 @@ type Tray interface {
|
|||
|
||||
type trayRuntime struct {
|
||||
bus *servicebus.ServiceBus
|
||||
trayMenu *menu.TrayOptions
|
||||
trayMenu *menu.Tray
|
||||
}
|
||||
|
||||
// newTray creates a new Menu struct
|
||||
func newTray(bus *servicebus.ServiceBus, menu *menu.TrayOptions) Tray {
|
||||
func newTray(bus *servicebus.ServiceBus, menu *menu.Tray) Tray {
|
||||
return &trayRuntime{
|
||||
bus: bus,
|
||||
trayMenu: menu,
|
||||
|
|
@ -37,7 +38,16 @@ func (t *trayRuntime) On(menuID string, callback func(*menu.MenuItem)) {
|
|||
})
|
||||
}
|
||||
|
||||
func (t *trayRuntime) Update() {
|
||||
// NewTray creates a new Tray item
|
||||
func (t *trayRuntime) NewTray(trayID string) *menu.Tray {
|
||||
return &menu.Tray{
|
||||
ID: trayID,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *trayRuntime) Update(tray ...*menu.Tray) {
|
||||
|
||||
//trayToUpdate := t.trayMenu
|
||||
t.bus.Publish("tray:update", t.trayMenu)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ type Runtime struct {
|
|||
}
|
||||
|
||||
// NewRuntime creates a new runtime subsystem
|
||||
func NewRuntime(bus *servicebus.ServiceBus, logger *logger.Logger, menu *menu.Menu, trayMenu *menu.TrayOptions, contextMenus *menu.ContextMenus) (*Runtime, error) {
|
||||
func NewRuntime(bus *servicebus.ServiceBus, logger *logger.Logger, menu *menu.Menu, trayMenu *menu.Tray, contextMenus *menu.ContextMenus) (*Runtime, error) {
|
||||
|
||||
// Register quit channel
|
||||
quitChannel, err := bus.Subscribe("quit")
|
||||
|
|
|
|||
|
|
@ -26,14 +26,14 @@ type Tray struct {
|
|||
logger logger.CustomLogger
|
||||
|
||||
// The tray menu
|
||||
trayMenu *menu.TrayOptions
|
||||
trayMenu *menu.Tray
|
||||
|
||||
// Service Bus
|
||||
bus *servicebus.ServiceBus
|
||||
}
|
||||
|
||||
// NewTray creates a new menu subsystem
|
||||
func NewTray(trayMenu *menu.TrayOptions, bus *servicebus.ServiceBus,
|
||||
func NewTray(trayMenu *menu.Tray, bus *servicebus.ServiceBus,
|
||||
logger *logger.Logger) (*Tray, error) {
|
||||
|
||||
// Register quit channel
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
package menu
|
||||
|
||||
// TrayOptions are the options
|
||||
type TrayOptions struct {
|
||||
// Tray are the options
|
||||
type Tray struct {
|
||||
|
||||
// The ID of this tray
|
||||
ID string
|
||||
|
||||
// Label is the text we wish to display in the tray
|
||||
Label string
|
||||
|
||||
|
|
@ -9,6 +9,6 @@ type Options struct {
|
|||
WebviewIsTransparent bool
|
||||
WindowBackgroundIsTranslucent bool
|
||||
Menu *menu.Menu
|
||||
Tray *menu.TrayOptions
|
||||
Tray *menu.Tray
|
||||
ContextMenus *menu.ContextMenus
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ type App struct {
|
|||
DevTools bool
|
||||
RGBA int
|
||||
ContextMenus *menu.ContextMenus
|
||||
Tray *menu.TrayOptions
|
||||
Tray *menu.Tray
|
||||
Menu *menu.Menu
|
||||
Mac *mac.Options
|
||||
Logger logger.Logger `json:"-"`
|
||||
|
|
@ -41,8 +41,8 @@ func MergeDefaults(appoptions *App) {
|
|||
|
||||
}
|
||||
|
||||
func GetTray(appoptions *App) *menu.TrayOptions {
|
||||
var result *menu.TrayOptions
|
||||
func GetTray(appoptions *App) *menu.Tray {
|
||||
var result *menu.Tray
|
||||
switch runtime.GOOS {
|
||||
case "darwin":
|
||||
if appoptions.Mac != nil {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ func main() {
|
|||
// Comment out line below to see Window.SetTitle() work
|
||||
TitleBar: mac.TitleBarHiddenInset(),
|
||||
Menu: createApplicationMenu(),
|
||||
Tray: &menu.TrayOptions{
|
||||
Tray: &menu.Tray{
|
||||
Icon: "light",
|
||||
Menu: createApplicationTray(),
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue