Skip to content

Commit a976172

Browse files
committed
Adapt the CE rename command to the new setup
1 parent 8890b1b commit a976172

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

Rubberduck.Core/UI/CodeExplorer/Commands/RenameCommand.cs

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
using Rubberduck.Parsing.Rewriter;
66
using Rubberduck.Parsing.VBA;
77
using Rubberduck.Refactorings;
8+
using Rubberduck.Refactorings.Exceptions;
89
using Rubberduck.Refactorings.Rename;
10+
using Rubberduck.UI.Command.Refactorings.Notifiers;
911
using Rubberduck.VBEditor.Utility;
1012

1113
namespace Rubberduck.UI.CodeExplorer.Commands
@@ -19,26 +21,22 @@ public sealed class RenameCommand : CodeExplorerCommandBase
1921
typeof(CodeExplorerMemberViewModel)
2022
};
2123

22-
private readonly RubberduckParserState _state;
23-
private readonly IRefactoringPresenterFactory _factory;
24-
private readonly IMessageBox _msgBox;
25-
private readonly IRewritingManager _rewritingManager;
26-
private readonly ISelectionService _selectionService;
24+
private readonly IParserStatusProvider _parserStatusProvider;
25+
private readonly IRefactoring _refactoring;
26+
private readonly IRefactoringFailureNotifier _failureNotifier;
2727

28-
public RenameCommand(RubberduckParserState state, IMessageBox msgBox, IRefactoringPresenterFactory factory, IRewritingManager rewritingManager, ISelectionService selectionService)
28+
public RenameCommand(RenameRefactoring refactoring, RenameFailedNotifier renameFailedNotifier, IParserStatusProvider parserStatusProvider)
2929
{
30-
_selectionService = selectionService;
31-
_state = state;
32-
_rewritingManager = rewritingManager;
33-
_msgBox = msgBox;
34-
_factory = factory;
30+
_refactoring = refactoring;
31+
_failureNotifier = renameFailedNotifier;
32+
_parserStatusProvider = parserStatusProvider;
3533
}
3634

3735
public override IEnumerable<Type> ApplicableNodeTypes => ApplicableNodes;
3836

3937
protected override bool EvaluateCanExecute(object parameter)
4038
{
41-
return _state.Status == ParserState.Ready && base.EvaluateCanExecute(parameter);
39+
return _parserStatusProvider.Status == ParserState.Ready && base.EvaluateCanExecute(parameter);
4240
}
4341

4442
protected override void OnExecute(object parameter)
@@ -50,8 +48,16 @@ protected override void OnExecute(object parameter)
5048
return;
5149
}
5250

53-
var refactoring = new RenameRefactoring(_factory, _state, _state.ProjectsProvider, _rewritingManager, _selectionService);
54-
refactoring.Refactor(node.Declaration);
51+
try
52+
{
53+
_refactoring.Refactor(node.Declaration);
54+
}
55+
catch (RefactoringAbortedException)
56+
{}
57+
catch (RefactoringException exception)
58+
{
59+
_failureNotifier.Notify(exception);
60+
}
5561
}
5662
}
5763
}

0 commit comments

Comments
 (0)