@@ -237,16 +237,6 @@ private void DetachHandlers(IRepository repository)
237237 repository . OnRepositoryInfoChanged -= RefreshOnMainThread ;
238238 }
239239
240-
241- private void SwitchView ( Subview from , Subview to )
242- {
243- GUI . FocusControl ( null ) ;
244- if ( from != null )
245- from . OnDisable ( ) ;
246- to . OnEnable ( ) ;
247- Refresh ( ) ;
248- }
249-
250240 private void DoHeaderGUI ( )
251241 {
252242 GUILayout . BeginHorizontal ( Styles . HeaderBoxStyle ) ;
@@ -277,26 +267,25 @@ private void DoToolbarGUI()
277267 // Subtabs & toolbar
278268 Rect mainNavRect = EditorGUILayout . BeginHorizontal ( EditorStyles . toolbar ) ;
279269 {
280- SubTab tab = activeTab ;
270+ SubTab changeTab = activeTab ;
281271 EditorGUI . BeginChangeCheck ( ) ;
282272 {
283273 if ( HasRepository )
284274 {
285- tab = TabButton ( SubTab . Changes , ChangesTitle , tab ) ;
286- tab = TabButton ( SubTab . History , HistoryTitle , tab ) ;
287- tab = TabButton ( SubTab . Branches , BranchesTitle , tab ) ;
275+ changeTab = TabButton ( SubTab . Changes , ChangesTitle , changeTab ) ;
276+ changeTab = TabButton ( SubTab . History , HistoryTitle , changeTab ) ;
277+ changeTab = TabButton ( SubTab . Branches , BranchesTitle , changeTab ) ;
288278 }
289279 else
290280 {
291- tab = TabButton ( SubTab . History , HistoryTitle , tab ) ;
281+ changeTab = TabButton ( SubTab . History , HistoryTitle , changeTab ) ;
292282 }
293- tab = TabButton ( SubTab . Settings , SettingsTitle , tab ) ;
283+ changeTab = TabButton ( SubTab . Settings , SettingsTitle , changeTab ) ;
294284 }
285+
295286 if ( EditorGUI . EndChangeCheck ( ) )
296287 {
297- var from = ActiveView ;
298- activeTab = tab ;
299- SwitchView ( from , ActiveView ) ;
288+ SetActiveTab ( changeTab ) ;
300289 }
301290
302291 GUILayout . FlexibleSpace ( ) ;
@@ -307,6 +296,28 @@ private void DoToolbarGUI()
307296 EditorGUILayout . EndHorizontal ( ) ;
308297 }
309298
299+ private void SetActiveTab ( SubTab changeTab )
300+ {
301+ if ( changeTab != activeTab )
302+ {
303+ var from = ActiveView ;
304+ activeTab = changeTab ;
305+ SwitchView ( @from , ActiveView ) ;
306+ }
307+ }
308+
309+ private void SwitchView ( Subview fromView , Subview toView )
310+ {
311+ GUI . FocusControl ( null ) ;
312+
313+ if ( fromView != null )
314+ fromView . OnDisable ( ) ;
315+
316+ toView . OnEnable ( ) ;
317+
318+ Refresh ( ) ;
319+ }
320+
310321 private void DoAccountDropdown ( )
311322 {
312323 GenericMenu accountMenu = new GenericMenu ( ) ;
0 commit comments