summaryrefslogtreecommitdiffstats
path: root/pkg/gui/gui.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-10-04 08:45:08 +1100
committerJesse Duffield <jessedduffield@gmail.com>2020-10-10 00:23:01 +1100
commitca31e5258fd23a70fb9c7064d39f3a6ff50f120d (patch)
treee7b0cf8a15f37666c35893e42626383145653353 /pkg/gui/gui.go
parent4912205adb5e8e245b33b8e0d5581bcf0ec37e8a (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.go21
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{