Skip to content

Commit ae2ef6c

Browse files
authored
Merge pull request #4297 from mansellan/4296
VB6 - Fix CE rename command
2 parents 18a007a + fb2ab2e commit ae2ef6c

File tree

1 file changed

+42
-25
lines changed

1 file changed

+42
-25
lines changed

Rubberduck.Refactorings/Rename/RenameRefactoring.cs

Lines changed: 42 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ private bool TrySetRenameTargetFromInputTarget(Declaration inputTarget)
184184
private bool UserConfirmsRenameOfResolvedTarget(string message)
185185
{
186186
return _messageBox?.ConfirmYesNo(message, RubberduckUI.RenameDialog_TitleText) ?? false;
187-
187+
188188
}
189189

190190
private Declaration ResolveRenameTargetIfEventHandlerSelected(Declaration selectedTarget)
@@ -435,33 +435,50 @@ private void RenameModule()
435435
}
436436

437437
var component = _state.ProjectsProvider.Component(_model.Target.QualifiedName.QualifiedModuleName);
438-
if (component.Type == ComponentType.Document)
439-
{
440-
var properties = component.Properties;
441-
var property = properties["_CodeName"];
442-
{
443-
property.Value = _model.NewName;
444-
}
445-
}
446-
else if (component.Type == ComponentType.UserForm)
438+
switch (component.Type)
447439
{
448-
var properties = component.Properties;
449-
var property = properties["Caption"];
450-
{
451-
if ((string)property.Value == _model.Target.IdentifierName)
440+
case ComponentType.Document:
452441
{
453-
property.Value = _model.NewName;
442+
var properties = component.Properties;
443+
var property = properties["_CodeName"];
444+
{
445+
property.Value = _model.NewName;
446+
}
447+
break;
448+
}
449+
case ComponentType.UserForm:
450+
case ComponentType.VBForm:
451+
case ComponentType.MDIForm:
452+
{
453+
var properties = component.Properties;
454+
var property = properties["Caption"];
455+
{
456+
if ((string)property.Value == _model.Target.IdentifierName)
457+
{
458+
property.Value = _model.NewName;
459+
}
460+
component.Name = _model.NewName;
461+
}
462+
break;
463+
}
464+
default:
465+
{
466+
if (_vbe.Kind == VBEKind.Hosted)
467+
{
468+
// VBA - rename code module
469+
using (var codeModule = component.CodeModule)
470+
{
471+
Debug.Assert(!codeModule.IsWrappingNullReference, "input validation fail: Attempting to rename an ICodeModule wrapping a null reference");
472+
codeModule.Name = _model.NewName;
473+
}
474+
}
475+
else
476+
{
477+
// VB6 - rename component
478+
component.Name = _model.NewName;
479+
}
480+
break;
454481
}
455-
component.Name = _model.NewName;
456-
}
457-
}
458-
else
459-
{
460-
using (var codeModule = component.CodeModule)
461-
{
462-
Debug.Assert(!codeModule.IsWrappingNullReference, "input validation fail: Attempting to rename an ICodeModule wrapping a null reference");
463-
codeModule.Name = _model.NewName;
464-
}
465482
}
466483
}
467484

0 commit comments

Comments
 (0)