GODT-1507: Enable autostart after Qt setup.

create-reload-action
Jakub 4 years ago
parent 73d1fe2f65
commit c7eb7234a2
  1. 4
      internal/bridge/bridge.go
  2. 1
      internal/frontend/qt/frontend.go
  3. 2
      internal/frontend/qt/frontend_init.go
  4. 9
      internal/frontend/qt/frontend_settings.go

@ -108,10 +108,6 @@ func New(
if err := b.SendMetric(metrics.New(metrics.Setup, metrics.FirstStart, metrics.Label(constants.Version))); err != nil {
logrus.WithError(err).Error("Failed to send metric")
}
if err := b.EnableAutostart(); err != nil {
log.WithError(err).Error("Failed to enable autostart")
}
setting.SetBool(settings.FirstStartKey, false)
}

@ -61,6 +61,7 @@ type FrontendQt struct {
log *logrus.Entry
initializing sync.WaitGroup
initializationDone sync.Once
firstTimeAutostart sync.Once
app *widgets.QApplication
engine *qml.QQmlEngine

@ -44,6 +44,8 @@ func (f *FrontendQt) initiateQtApplication() error {
core.QCoreApplication_SetApplicationName(f.programName)
core.QCoreApplication_SetApplicationVersion(f.programVersion)
core.QCoreApplication_SetOrganizationName("Proton AG")
core.QCoreApplication_SetOrganizationDomain("proton.ch")
// High DPI scaling for windows.
core.QCoreApplication_SetAttribute(core.Qt__AA_EnableHighDpiScaling, false)

@ -76,6 +76,15 @@ func (f *FrontendQt) changeLocalCache(enableDiskCache bool, diskCachePath *core.
}
func (f *FrontendQt) setIsAutostartOn() {
// GODT-1507 Windows: autostart needs to be created after Qt is initialized.
f.firstTimeAutostart.Do(func() {
if !f.bridge.IsFirstStart() {
return
}
if err := f.bridge.EnableAutostart(); err != nil {
f.log.WithError(err).Error("Failed to enable autostart")
}
})
f.qml.SetIsAutostartOn(f.bridge.IsAutostartEnabled())
}

Loading…
Cancel
Save