Skip to content

Commit c723c3f

Browse files
committed
Force refresh on Projects property
Extracted logic from setter into a separate method that is invoked.
1 parent 9ed3b43 commit c723c3f

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

Rubberduck.Core/Navigation/CodeExplorer/CodeExplorerViewModel.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,7 @@ public ObservableCollection<CodeExplorerItemViewModel> Projects
296296
get => _projects;
297297
set
298298
{
299-
ReorderChildNodes(value);
300-
_projects = new ObservableCollection<CodeExplorerItemViewModel>(value.OrderBy(o => o.NameWithSignature));
301-
CanSearch = _projects.Any();
299+
_projects = ForceProjectsRefresh(value);
302300

303301
OnPropertyChanged();
304302
// Once a Project has been set, show the TreeView
@@ -307,6 +305,14 @@ public ObservableCollection<CodeExplorerItemViewModel> Projects
307305
}
308306
}
309307

308+
private ObservableCollection<CodeExplorerItemViewModel> ForceProjectsRefresh(ObservableCollection<CodeExplorerItemViewModel> projects)
309+
{
310+
ReorderChildNodes(projects);
311+
CanSearch = projects.Any();
312+
313+
return new ObservableCollection<CodeExplorerItemViewModel>(projects.OrderBy(o => o.NameWithSignature));
314+
}
315+
310316
private void HandleStateChanged(object sender, ParserStateEventArgs e)
311317
{
312318
if (Projects == null)
@@ -425,9 +431,7 @@ private void ParserState_ModuleStateChanged(object sender, ParseProgressEventArg
425431
folderNode.AddChild(newNode);
426432

427433
// Force a refresh. OnPropertyChanged("Projects") didn't work.
428-
Projects = Projects;
429-
430-
434+
ForceProjectsRefresh(Projects);
431435
}
432436
catch (Exception exception)
433437
{

0 commit comments

Comments
 (0)