Skip to content

Commit 156e1b7

Browse files
committed
Remove uses of ProjectDisplayName on ProjectDeclaration except in InspectionResultFormatter
The last remaining case is rather complicated.
1 parent 7e4c572 commit 156e1b7

File tree

7 files changed

+46
-11
lines changed

7 files changed

+46
-11
lines changed

Rubberduck.Core/Formatters/InspectionResultFormatter.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Rubberduck.Common;
22
using Rubberduck.Parsing.Inspections.Abstract;
3-
using Rubberduck.Inspections.Abstract;
43
using System.IO;
54
using Rubberduck.Resources.Inspections;
65

Rubberduck.Core/Navigation/CodeExplorer/CodeExplorerProjectViewModel.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using System.ComponentModel;
23
using System.Linq;
34
using System.Windows;
45
using Rubberduck.AddRemoveReferences;
@@ -193,11 +194,24 @@ private void SetName()
193194
_name = Declaration?.IdentifierName ?? string.Empty;
194195

195196
// F' the flicker. Digging into the properties has some even more evil side-effects, and is a performance nightmare by comparison.
196-
_displayName = Declaration?.ProjectDisplayName ?? string.Empty;
197+
_displayName = DisplayName(Declaration);
197198

198199
OnNameChanged();
199200
}
200201

202+
private string DisplayName(Declaration declaration)
203+
{
204+
if (declaration == null)
205+
{
206+
return string.Empty;
207+
}
208+
209+
var project = _projectsProvider.Project(declaration.ProjectId);
210+
return project != null
211+
? project.ProjectDisplayName
212+
: string.Empty;
213+
}
214+
201215
private static readonly List<DeclarationType> UntrackedTypes = new List<DeclarationType>
202216
{
203217
DeclarationType.Parameter,

Rubberduck.Core/UI/AddRemoveReferences/AddRemoveReferencesPresenterFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public AddRemoveReferencesPresenter Create(ProjectDeclaration projectDeclaration
147147

148148
return (model != null)
149149
? new AddRemoveReferencesPresenter(
150-
new AddRemoveReferencesDialog(new AddRemoveReferencesViewModel(model, _reconciler, _browser)))
150+
new AddRemoveReferencesDialog(new AddRemoveReferencesViewModel(model, _reconciler, _browser, _projectsProvider)))
151151
: null;
152152
}
153153

Rubberduck.Core/UI/AddRemoveReferences/AddRemoveReferencesViewModel.cs

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using Rubberduck.Resources;
1414
using Rubberduck.UI.Command;
1515
using Rubberduck.VBEditor;
16+
using Rubberduck.VBEditor.ComManagement;
1617
using Rubberduck.VBEditor.SafeComWrappers;
1718

1819
namespace Rubberduck.UI.AddRemoveReferences
@@ -83,13 +84,19 @@ static AddRemoveReferencesViewModel()
8384
private readonly ObservableCollection<ReferenceModel> _available;
8485
private readonly ObservableCollection<ReferenceModel> _project;
8586
private readonly IReferenceReconciler _reconciler;
87+
private readonly IProjectsProvider _projectsProvider;
8688
private readonly IFileSystemBrowserFactory _browser;
8789

88-
public AddRemoveReferencesViewModel(IAddRemoveReferencesModel model, IReferenceReconciler reconciler, IFileSystemBrowserFactory browser)
90+
public AddRemoveReferencesViewModel(
91+
IAddRemoveReferencesModel model,
92+
IReferenceReconciler reconciler,
93+
IFileSystemBrowserFactory browser,
94+
IProjectsProvider projectsProvider)
8995
{
9096
Model = model;
9197
_reconciler = reconciler;
9298
_browser = browser;
99+
_projectsProvider = projectsProvider;
93100

94101
_available = new ObservableCollection<ReferenceModel>(model.References
95102
.Where(reference => !reference.IsReferenced).OrderBy(reference => reference.Description));
@@ -114,9 +121,25 @@ public AddRemoveReferencesViewModel(IAddRemoveReferencesModel model, IReferenceR
114121
ApplyCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteApplyCommand, ApplyCanExecute);
115122
}
116123

117-
public string ProjectCaption => string.IsNullOrEmpty(Model?.Project?.IdentifierName)
118-
? RubberduckUI.References_Caption
119-
: string.Format(RubberduckUI.References_CaptionTemplate, Model.Project.ProjectDisplayName);
124+
public string ProjectCaption
125+
{
126+
get
127+
{
128+
if (string.IsNullOrEmpty(Model?.Project?.IdentifierName))
129+
{
130+
return RubberduckUI.References_Caption;
131+
}
132+
133+
var project = _projectsProvider.Project(Model.Project.ProjectId);
134+
135+
if (project == null)
136+
{
137+
return RubberduckUI.References_Caption;
138+
}
139+
140+
return project.ProjectDisplayName;
141+
}
142+
}
120143

121144
/// <summary>
122145
/// The IAddRemoveReferencesModel for the view.

Rubberduck.Core/UI/Inspections/InspectionResultsViewModel.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
using Rubberduck.Parsing.Inspections.Abstract;
2121
using Rubberduck.Parsing.UIContext;
2222
using Rubberduck.Parsing.VBA;
23-
using Rubberduck.Parsing.VBA.Extensions;
2423
using Rubberduck.Settings;
2524
using Rubberduck.SettingsProvider;
2625
using Rubberduck.UI.Command;
@@ -669,7 +668,7 @@ private void ExecuteCopyResultsCommand(object parameter)
669668

670669
var resultArray = Results.OfType<IExportable>().Select(result => result.ToArray()).ToArray();
671670

672-
var resource = resultArray.Count() == 1
671+
var resource = resultArray.Length == 1
673672
? Resources.RubberduckUI.CodeInspections_NumberOfIssuesFound_Singular
674673
: Resources.RubberduckUI.CodeInspections_NumberOfIssuesFound_Plural;
675674

RubberduckTests/AddRemoveReferences/AddRemoveReferencesSetup.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public static AddRemoveReferencesViewModel ArrangeViewModel(
283283
var reconciler = ArrangeReferenceReconciler(settings, projectsProvider, out _, out libraryProvider);
284284
browserFactory = new Mock<IFileSystemBrowserFactory>();
285285

286-
return new AddRemoveReferencesViewModel(model, reconciler, browserFactory.Object);
286+
return new AddRemoveReferencesViewModel(model, reconciler, browserFactory.Object, projectsProvider);
287287
}
288288

289289
public static void SetupMockedOpenDialog(this Mock<IFileSystemBrowserFactory> factory, string filename, DialogResult result)

RubberduckTests/AddRemoveReferences/AddRemoveReferencesViewModelTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public void ViewModelFilters_SearchInputFiltersList(string input, int expected)
136136
var model = new AddRemoveReferencesModel(null, declaration, SearchReferencesList, settings);
137137
var reconciler = AddRemoveReferencesSetup.ArrangeReferenceReconciler(settings);
138138

139-
var viewModel = new AddRemoveReferencesViewModel(model, reconciler, new Mock<IFileSystemBrowserFactory>().Object);
139+
var viewModel = new AddRemoveReferencesViewModel(model, reconciler, new Mock<IFileSystemBrowserFactory>().Object, null);
140140
viewModel.SelectedFilter = ReferenceFilter.ComTypes.ToString();
141141
viewModel.Search = input;
142142

0 commit comments

Comments
 (0)