Other: reactive show on startup

This commit is contained in:
Alexander Bilyak
2021-09-15 11:57:43 +02:00
committed by Jakub
parent 29af8e7178
commit 726c8918ab
3 changed files with 12 additions and 7 deletions

View File

@ -188,6 +188,10 @@ QtObject {
mainWindow.showAndRise()
}
if (root.backend.showOnStartup) {
mainWindow.showAndRise()
}
root.backend.guiReady()
}
}

View File

@ -51,6 +51,7 @@ type FrontendQt struct {
noEncConfirmator types.NoEncConfirmator
autostart *autostart.App
restarter types.Restarter
showOnStartup bool
authClient pmapi.Client
auth *pmapi.Auth
@ -100,19 +101,13 @@ func New(
bridge: bridge,
autostart: autostart,
restarter: restarter,
showOnStartup: showWindowOnStart,
}
// Initializing.Done is only called sync.Once. Please keep the increment
// set to 1
f.initializing.Add(1)
if showWindowOnStart {
go func() {
f.initializing.Wait()
f.qml.ShowMainWindow()
}()
}
return f
}

View File

@ -37,6 +37,8 @@ type QMLBackend struct {
_ func() `slot:"quit"`
_ func() `slot:"restart"`
_ bool `property:showOnStartup`
_ bool `property:dockIconVisible`
_ QMLUserModel `property:"users"`
@ -144,6 +146,10 @@ func (q *QMLBackend) setup(f *FrontendQt) {
q.ConnectRestart(f.restart)
q.ConnectGuiReady(f.guiReady)
q.ConnectIsShowOnStartup(func() bool {
return f.showOnStartup
})
q.ConnectIsDockIconVisible(func() bool {
return dockIcon.GetDockIconVisibleState()
})