From f19babe30ac97e5733d4d141d3f0d55c9d7bd346 Mon Sep 17 00:00:00 2001 From: aynakeya Date: Tue, 21 May 2024 11:23:56 +0800 Subject: [PATCH] add gui video player window close event --- core/events/gui.go | 7 +++++++ core/events/mapping.go | 1 + gui/handler.go | 18 ++++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 core/events/gui.go create mode 100644 gui/handler.go diff --git a/core/events/gui.go b/core/events/gui.go new file mode 100644 index 0000000..e4282e7 --- /dev/null +++ b/core/events/gui.go @@ -0,0 +1,7 @@ +package events + +const GUISetPlayerWindowOpenCmd = "cmd.gui.player_window.op" + +type GUISetPlayerWindowOpenCmdEvent struct { + SetOpen bool +} diff --git a/core/events/mapping.go b/core/events/mapping.go index 8585caa..9903e12 100644 --- a/core/events/mapping.go +++ b/core/events/mapping.go @@ -47,6 +47,7 @@ var EventsMapping = map[event.EventId]any{ MediaProviderUpdate: MediaProviderUpdateEvent{}, SearchCmd: SearchCmdEvent{}, SearchResultUpdate: SearchResultUpdateEvent{}, + GUISetPlayerWindowOpenCmd: GUISetPlayerWindowOpenCmdEvent{}, } func init() { diff --git a/gui/handler.go b/gui/handler.go new file mode 100644 index 0000000..5b847c0 --- /dev/null +++ b/gui/handler.go @@ -0,0 +1,18 @@ +package gui + +import ( + "AynaLivePlayer/core/events" + "AynaLivePlayer/global" + "AynaLivePlayer/pkg/event" +) + +func registerHandlers() { + global.EventManager.RegisterA(events.GUISetPlayerWindowOpenCmd, "gui.player.videoplayer.handleopen", func(event *event.Event) { + data := event.Data.(events.GUISetPlayerWindowOpenCmdEvent) + if data.SetOpen { + playerWindow.Close() + } else { + showPlayerWindow() + } + }) +}