diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-04 08:45:08 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-10 00:23:01 +1100 |
commit | ca31e5258fd23a70fb9c7064d39f3a6ff50f120d (patch) | |
tree | e7b0cf8a15f37666c35893e42626383145653353 /pkg/gui/gui.go | |
parent | 4912205adb5e8e245b33b8e0d5581bcf0ec37e8a (diff) |
store popup version in state not config so that we never need to write to the user config
Diffstat (limited to 'pkg/gui/gui.go')
-rw-r--r-- | pkg/gui/gui.go | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index 46861e72f..acf00156d 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -41,7 +41,7 @@ const ( SCREEN_FULL ) -const StartupPopupVersion = 1 +const StartupPopupVersion = 2 // OverlappingEdges determines if panel edges overlap var OverlappingEdges = false @@ -450,13 +450,14 @@ func (gui *Gui) Run() error { return err } - popupTasks := []func(chan struct{}) error{} - configPopupVersion := gui.Config.GetUserConfig().StartupPopupVersion - // -1 means we've disabled these popups - if configPopupVersion != -1 && configPopupVersion < StartupPopupVersion { - popupTasks = append(popupTasks, gui.showIntroPopupMessage) + if !gui.Config.GetUserConfig().DisableStartupPopups { + popupTasks := []func(chan struct{}) error{} + storedPopupVersion := gui.Config.GetAppState().StartupPopupVersion + if storedPopupVersion < StartupPopupVersion { + popupTasks = append(popupTasks, gui.showIntroPopupMessage) + } + gui.showInitialPopups(popupTasks) } - gui.showInitialPopups(popupTasks) gui.waitForIntro.Add(1) if gui.Config.GetUserConfig().Git.AutoFetch { @@ -573,10 +574,8 @@ func (gui *Gui) showInitialPopups(tasks []func(chan struct{}) error) { func (gui *Gui) showIntroPopupMessage(done chan struct{}) error { onConfirm := func() error { done <- struct{}{} - return gui.Config.WriteToUserConfig(func(userConfig *config.UserConfig) error { - userConfig.StartupPopupVersion = StartupPopupVersion - return nil - }) + gui.Config.GetAppState().StartupPopupVersion = StartupPopupVersion + return gui.Config.SaveAppState() } return gui.ask(askOpts{ |