@@ -210,7 +210,21 @@ public List<Models.Submodule> Submodules
210210 private set => SetProperty ( ref _submodules , value ) ;
211211 }
212212
213- public SubmoduleCollection VisibleSubmodules
213+ public bool ShowSubmodulesAsTree
214+ {
215+ get => Preferences . Instance . ShowSubmodulesAsTree ;
216+ set
217+ {
218+ if ( value != Preferences . Instance . ShowSubmodulesAsTree )
219+ {
220+ Preferences . Instance . ShowSubmodulesAsTree = value ;
221+ VisibleSubmodules = BuildVisibleSubmodules ( ) ;
222+ OnPropertyChanged ( ) ;
223+ }
224+ }
225+ }
226+
227+ public object VisibleSubmodules
214228 {
215229 get => _visibleSubmodules ;
216230 private set => SetProperty ( ref _visibleSubmodules , value ) ;
@@ -536,7 +550,7 @@ public void Close()
536550 _tags . Clear ( ) ;
537551 _visibleTags . Clear ( ) ;
538552 _submodules . Clear ( ) ;
539- _visibleSubmodules . Clear ( ) ;
553+ _visibleSubmodules = null ;
540554 _searchedCommits . Clear ( ) ;
541555 _selectedSearchedCommit = null ;
542556
@@ -2512,7 +2526,7 @@ private BranchTreeNode.Builder BuildBranchTree(List<Models.Branch> branches, Lis
25122526 return visible ;
25132527 }
25142528
2515- private SubmoduleCollection BuildVisibleSubmodules ( )
2529+ private object BuildVisibleSubmodules ( )
25162530 {
25172531 var visible = new List < Models . Submodule > ( ) ;
25182532 if ( string . IsNullOrEmpty ( _filter ) )
@@ -2528,7 +2542,10 @@ private SubmoduleCollection BuildVisibleSubmodules()
25282542 }
25292543 }
25302544
2531- return SubmoduleCollection . Build ( visible , _visibleSubmodules ) ;
2545+ if ( Preferences . Instance . ShowSubmodulesAsTree )
2546+ return SubmoduleCollectionAsTree . Build ( visible , _visibleSubmodules as SubmoduleCollectionAsTree ) ;
2547+ else
2548+ return new SubmoduleCollectionAsList ( ) { Submodules = visible } ;
25322549 }
25332550
25342551 private void RefreshHistoriesFilters ( bool refresh )
@@ -2760,7 +2777,7 @@ private void AutoFetchImpl(object sender)
27602777 private List < Models . Tag > _tags = new List < Models . Tag > ( ) ;
27612778 private List < Models . Tag > _visibleTags = new List < Models . Tag > ( ) ;
27622779 private List < Models . Submodule > _submodules = new List < Models . Submodule > ( ) ;
2763- private SubmoduleCollection _visibleSubmodules = new SubmoduleCollection ( ) ;
2780+ private object _visibleSubmodules = null ;
27642781
27652782 private bool _isAutoFetching = false ;
27662783 private Timer _autoFetchTimer = null ;
0 commit comments