mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-06 10:22:50 +08:00
migrate to eventbus, add support to macos
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package diange
|
||||
|
||||
import (
|
||||
"AynaLivePlayer/gui/xfyne"
|
||||
"AynaLivePlayer/pkg/i18n"
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
@@ -31,7 +30,7 @@ func (b *blacklist) CreatePanel() fyne.CanvasObject {
|
||||
return b.panel
|
||||
}
|
||||
// UI组件
|
||||
input := xfyne.EntryDisableUndoRedo(widget.NewEntry())
|
||||
input := widget.NewEntry()
|
||||
input.SetPlaceHolder(i18n.T("plugin.diange.blacklist.input.placeholder"))
|
||||
|
||||
exactText := i18n.T("plugin.diange.blacklist.option.exact")
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"AynaLivePlayer/global"
|
||||
"AynaLivePlayer/gui"
|
||||
"AynaLivePlayer/gui/component"
|
||||
"AynaLivePlayer/gui/xfyne"
|
||||
|
||||
"AynaLivePlayer/pkg/config"
|
||||
"AynaLivePlayer/pkg/eventbus"
|
||||
"AynaLivePlayer/pkg/i18n"
|
||||
@@ -382,27 +382,27 @@ func (d *Diange) CreatePanel() fyne.CanvasObject {
|
||||
container.NewGridWithColumns(2,
|
||||
container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.diange.medal.name")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.BindString(&d.MedalName)))),
|
||||
widget.NewEntryWithData(binding.BindString(&d.MedalName))),
|
||||
container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.diange.medal.level")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.MedalPermission))))),
|
||||
widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.MedalPermission)))),
|
||||
),
|
||||
)
|
||||
dgQueue := container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.diange.queue_max")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.QueueMax)))),
|
||||
widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.QueueMax))),
|
||||
)
|
||||
dgUserMax := container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.diange.user_max")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.UserMax)))),
|
||||
widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.UserMax))),
|
||||
)
|
||||
dgCoolDown := container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.diange.cooldown")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.UserCoolDown)))),
|
||||
widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.UserCoolDown))),
|
||||
)
|
||||
dgShortCut := container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.diange.custom_cmd")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.BindString(&d.CustomCMD))),
|
||||
widget.NewEntryWithData(binding.BindString(&d.CustomCMD)),
|
||||
)
|
||||
skipPlaylistCheck := widget.NewCheckWithData(i18n.T("plugin.diange.skip_playlist.prompt"), binding.BindBool(&d.SkipSystemPlaylist))
|
||||
skipPlaylist := container.NewHBox(
|
||||
@@ -420,9 +420,9 @@ func (d *Diange) CreatePanel() fyne.CanvasObject {
|
||||
widget.NewLabel(source),
|
||||
widget.NewCheckWithData(i18n.T("plugin.diange.source.enable"), binding.BindBool(&cfg.Enable)),
|
||||
widget.NewLabel(i18n.T("plugin.diange.source.priority")),
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&cfg.Priority)))),
|
||||
widget.NewEntryWithData(binding.IntToString(binding.BindInt(&cfg.Priority))),
|
||||
widget.NewLabel(i18n.T("plugin.diange.source.command")),
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.BindString(&cfg.Command))),
|
||||
widget.NewEntryWithData(binding.BindString(&cfg.Command)),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"AynaLivePlayer/core/events"
|
||||
"AynaLivePlayer/global"
|
||||
"AynaLivePlayer/gui"
|
||||
"AynaLivePlayer/gui/xfyne"
|
||||
|
||||
"AynaLivePlayer/pkg/config"
|
||||
"AynaLivePlayer/pkg/eventbus"
|
||||
"AynaLivePlayer/pkg/i18n"
|
||||
@@ -91,7 +91,7 @@ func (d *MaxDuration) CreatePanel() fyne.CanvasObject {
|
||||
if d.panel != nil {
|
||||
return d.panel
|
||||
}
|
||||
maxDurationInput := xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.MaxDuration))))
|
||||
maxDurationInput := widget.NewEntryWithData(binding.IntToString(binding.BindInt(&d.MaxDuration)))
|
||||
skipOnPlayCheckbox := widget.NewCheckWithData(i18n.T("plugin.maxduration.enable"), binding.BindBool(&d.SkipOnPlay))
|
||||
skipOnReachCheckbox := widget.NewCheckWithData(i18n.T("plugin.maxduration.enable"), binding.BindBool(&d.SkipOnReach))
|
||||
d.panel = container.New(
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"AynaLivePlayer/global"
|
||||
"AynaLivePlayer/gui"
|
||||
"AynaLivePlayer/gui/component"
|
||||
"AynaLivePlayer/gui/xfyne"
|
||||
|
||||
"AynaLivePlayer/pkg/config"
|
||||
"AynaLivePlayer/pkg/eventbus"
|
||||
"AynaLivePlayer/pkg/i18n"
|
||||
@@ -121,7 +121,7 @@ func (d *Qiege) CreatePanel() fyne.CanvasObject {
|
||||
)
|
||||
qgShortCut := container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.qiege.custom_cmd")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.BindString(&d.CustomCMD))),
|
||||
widget.NewEntryWithData(binding.BindString(&d.CustomCMD)),
|
||||
)
|
||||
d.panel = container.NewVBox(dgPerm, qgShortCut)
|
||||
return d.panel
|
||||
|
||||
5
plugin/wshub/consts.go
Normal file
5
plugin/wshub/consts.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package wshub
|
||||
|
||||
const (
|
||||
eventChannel = "wshub"
|
||||
)
|
||||
@@ -49,7 +49,7 @@ func (c *wsClient) start() {
|
||||
return
|
||||
}
|
||||
if globalEnableWsHubControl {
|
||||
_ = global.EventBus.Publish(data.EventID, actualEventData)
|
||||
_ = global.EventBus.PublishToChannel(eventChannel, data.EventID, actualEventData)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"AynaLivePlayer/global"
|
||||
"AynaLivePlayer/gui"
|
||||
"AynaLivePlayer/gui/component"
|
||||
"AynaLivePlayer/gui/xfyne"
|
||||
|
||||
"AynaLivePlayer/pkg/config"
|
||||
"AynaLivePlayer/pkg/eventbus"
|
||||
"AynaLivePlayer/pkg/i18n"
|
||||
@@ -104,9 +104,9 @@ func (w *WsHub) CreatePanel() fyne.CanvasObject {
|
||||
freshStatusText()
|
||||
serverPort := container.NewBorder(nil, nil,
|
||||
widget.NewLabel(i18n.T("plugin.wshub.port")), nil,
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.IntToString(binding.BindInt(&w.Port)))),
|
||||
widget.NewEntryWithData(binding.IntToString(binding.BindInt(&w.Port))),
|
||||
)
|
||||
serverUrl := xfyne.EntryDisableUndoRedo(widget.NewEntry())
|
||||
serverUrl := widget.NewEntry()
|
||||
serverUrl.SetText(w.server.getWsUrl())
|
||||
serverUrl.Disable()
|
||||
serverPreview := container.NewBorder(nil, nil,
|
||||
@@ -175,7 +175,7 @@ func (w *WsHub) registerEvents() {
|
||||
for eid, _ := range events.EventsMapping {
|
||||
eventCache = append(eventCache, &EventData{})
|
||||
currentIdx := i
|
||||
global.EventBus.Subscribe("", eid,
|
||||
global.EventBus.Subscribe(eventChannel, eid,
|
||||
"plugin.wshub.event."+string(eid),
|
||||
func(e *eventbus.Event) {
|
||||
ed := EventData{
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"AynaLivePlayer/global"
|
||||
"AynaLivePlayer/gui"
|
||||
"AynaLivePlayer/gui/component"
|
||||
"AynaLivePlayer/gui/xfyne"
|
||||
|
||||
"AynaLivePlayer/pkg/config"
|
||||
"AynaLivePlayer/pkg/eventbus"
|
||||
"AynaLivePlayer/pkg/i18n"
|
||||
@@ -147,9 +147,9 @@ func (y *Yinliang) CreatePanel() fyne.CanvasObject {
|
||||
|
||||
cmdConfig := container.NewGridWithColumns(2,
|
||||
widget.NewLabel(i18n.T("plugin.yinliang.volume_up_cmd")),
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.BindString(&y.VolumeUpCMD))),
|
||||
widget.NewEntryWithData(binding.BindString(&y.VolumeUpCMD)),
|
||||
widget.NewLabel(i18n.T("plugin.yinliang.volume_down_cmd")),
|
||||
xfyne.EntryDisableUndoRedo(widget.NewEntryWithData(binding.BindString(&y.VolumeDownCMD))),
|
||||
widget.NewEntryWithData(binding.BindString(&y.VolumeDownCMD)),
|
||||
)
|
||||
|
||||
stepEntry := widget.NewEntryWithData(binding.FloatToStringWithFormat(binding.BindFloat(&y.VolumeStep), "%.1f"))
|
||||
@@ -182,9 +182,9 @@ func (y *Yinliang) CreatePanel() fyne.CanvasObject {
|
||||
|
||||
volumeControlConfig := container.NewGridWithColumns(2,
|
||||
widget.NewLabel(i18n.T("plugin.yinliang.volume_step")),
|
||||
xfyne.EntryDisableUndoRedo(stepEntry),
|
||||
stepEntry,
|
||||
widget.NewLabel(i18n.T("plugin.yinliang.max_volume")),
|
||||
xfyne.EntryDisableUndoRedo(maxVolEntry),
|
||||
maxVolEntry,
|
||||
)
|
||||
|
||||
y.panel = container.NewVBox(
|
||||
|
||||
Reference in New Issue
Block a user