@@ -11,20 +11,10 @@ class InitProjectView : Subview
11
11
private const string NoUserOrEmailError = "Name and email not set in git. Go into the settings tab and enter the missing information" ;
12
12
13
13
[ NonSerialized ] private bool isBusy ;
14
-
15
14
[ NonSerialized ] private bool isUserDataPresent ;
15
+ [ NonSerialized ] private bool hasCompletedInitialCheck ;
16
16
[ NonSerialized ] private bool userDataHasChanged ;
17
17
18
- public override void InitializeView ( IView parent )
19
- {
20
- base . InitializeView ( parent ) ;
21
-
22
- if ( ! string . IsNullOrEmpty ( Environment . GitExecutablePath ) )
23
- {
24
- CheckForUser ( ) ;
25
- }
26
- }
27
-
28
18
public override void OnEnable ( )
29
19
{
30
20
base . OnEnable ( ) ;
@@ -69,7 +59,7 @@ public override void OnGUI()
69
59
}
70
60
GUILayout . EndHorizontal ( ) ;
71
61
72
- if ( ! isUserDataPresent )
62
+ if ( hasCompletedInitialCheck && ! isUserDataPresent )
73
63
{
74
64
EditorGUILayout . Space ( ) ;
75
65
EditorGUILayout . HelpBox ( NoUserOrEmailError , MessageType . Error ) ;
@@ -80,6 +70,12 @@ public override void OnGUI()
80
70
GUILayout . EndVertical ( ) ;
81
71
}
82
72
73
+ public override void OnDataUpdate ( )
74
+ {
75
+ base . OnDataUpdate ( ) ;
76
+ MaybeUpdateData ( ) ;
77
+ }
78
+
83
79
private void MaybeUpdateData ( )
84
80
{
85
81
if ( userDataHasChanged )
@@ -91,6 +87,13 @@ private void MaybeUpdateData()
91
87
92
88
private void CheckForUser ( )
93
89
{
90
+ if ( string . IsNullOrEmpty ( Environment . GitExecutablePath ) )
91
+ {
92
+ Logger . Warning ( "No git exec cannot check for user" ) ;
93
+ return ;
94
+ }
95
+
96
+ Logger . Trace ( "Checking for user" ) ;
94
97
isBusy = true ;
95
98
96
99
GitClient . GetConfigUserAndEmail ( ) . FinallyInUI ( ( success , ex , strings ) => {
@@ -99,8 +102,9 @@ private void CheckForUser()
99
102
100
103
isBusy = false ;
101
104
isUserDataPresent = success && ! String . IsNullOrEmpty ( username ) && ! String . IsNullOrEmpty ( email ) ;
105
+ hasCompletedInitialCheck = true ;
102
106
103
- Logger . Trace ( "Finally : {0}" , isUserDataPresent ) ;
107
+ Logger . Trace ( "User Present : {0}" , isUserDataPresent ) ;
104
108
105
109
Redraw ( ) ;
106
110
} ) . Start ( ) ;
0 commit comments