Skip to content

Commit ebeae31

Browse files
committed
Fix Cancel button not working correctly for Rename
1 parent 88e606b commit ebeae31

File tree

4 files changed

+27
-6
lines changed

4 files changed

+27
-6
lines changed

RetailCoder.VBE/Refactorings/Rename/IRenameView.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ public interface IRenameView : IDialogView
77
{
88
Declaration Target { get; set; }
99
string NewName { get; set; }
10+
11+
void Hide();
1012
}
1113
}

RetailCoder.VBE/Refactorings/Rename/RenamePresenter.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ namespace Rubberduck.Refactorings.Rename
66
public class RenamePresenter
77
{
88
private readonly IRenameView _view;
9-
private readonly RenameModel _model;
9+
private RenameModel _model;
1010

1111
public RenamePresenter(IRenameView view, RenameModel model)
1212
{
1313
_view = view;
1414
_view.OkButtonClicked += OnViewOkButtonClicked;
15+
_view.CancelButtonClicked += OnViewCancelButtonClicked;
1516

1617
_model = model;
1718
}
@@ -40,6 +41,12 @@ private void OnViewOkButtonClicked(object sender, EventArgs e)
4041
{
4142
_model.NewName = _view.NewName;
4243
}
44+
45+
private void OnViewCancelButtonClicked(object sender, EventArgs e)
46+
{
47+
_model = null;
48+
_view.Hide();
49+
}
4350
}
4451
}
4552

RetailCoder.VBE/Refactorings/Rename/RenameRefactoring.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public void Refactor()
2828
var presenter = _factory.Create();
2929
_model = presenter.Show();
3030

31-
if (_model.Declarations != null)
31+
if (_model != null && _model.Declarations != null)
3232
{
3333
Rename();
3434
}
@@ -44,7 +44,11 @@ public void Refactor(Declaration target)
4444
{
4545
var presenter = _factory.Create();
4646
_model = presenter.Show(target);
47-
Rename();
47+
48+
if (_model != null && _model.Declarations != null)
49+
{
50+
Rename();
51+
}
4852
}
4953

5054
private Declaration AmbiguousId()

RetailCoder.VBE/UI/Refactorings/RenameDialog.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public RenameDialog()
1515
InitializeCaptions();
1616

1717
OkButton.Click += OkButtonClick;
18+
CancelButton.Click += CancelButtonClick;
1819
Shown += RenameDialog_Shown;
1920
NewNameBox.TextChanged += NewNameBox_TextChanged;
2021
}
@@ -45,15 +46,22 @@ private void OkButtonClick(object sender, EventArgs e)
4546
OnOkButtonClicked();
4647
}
4748

48-
public event EventHandler CancelButtonClicked;
49+
private void CancelButtonClick(object sender, EventArgs e)
50+
{
51+
OnCancelButtonClicked();
52+
}
4953

54+
public event EventHandler CancelButtonClicked;
5055
public void OnCancelButtonClicked()
5156
{
52-
Hide();
57+
var handler = CancelButtonClicked;
58+
if (handler != null)
59+
{
60+
handler(this, EventArgs.Empty);
61+
}
5362
}
5463

5564
public event EventHandler OkButtonClicked;
56-
5765
public void OnOkButtonClicked()
5866
{
5967
var handler = OkButtonClicked;

0 commit comments

Comments
 (0)