Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit a5bc9e2

Browse files
Moving OnClose event down to PopupWindow
1 parent 3b13a84 commit a5bc9e2

File tree

4 files changed

+13
-29
lines changed

4 files changed

+13
-29
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BaseWindow.cs

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@ namespace GitHub.Unity
66
{
77
abstract class BaseWindow : EditorWindow, IView
88
{
9-
[NonSerialized] private bool finishCalled = false;
109
[NonSerialized] private bool initialized = false;
1110

1211
[NonSerialized] private IApplicationManager cachedManager;
1312
[NonSerialized] private IRepository cachedRepository;
1413
[NonSerialized] private bool initializeWasCalled;
1514
[NonSerialized] private bool inLayout;
1615

17-
public event Action<bool> OnClose;
18-
1916
public virtual void Initialize(IApplicationManager applicationManager)
2017
{
2118
Logger.Trace("Initialize ApplicationManager:{0} Initialized:{1}", applicationManager, initialized);
@@ -50,18 +47,6 @@ public virtual void Refresh()
5047

5148
public virtual void Finish(bool result)
5249
{
53-
finishCalled = true;
54-
RaiseOnClose(result);
55-
}
56-
57-
protected virtual void RaiseOnClose(bool result)
58-
{
59-
OnClose.SafeInvoke(result);
60-
}
61-
62-
protected void ClearOnClose()
63-
{
64-
OnClose = null;
6550
}
6651

6752
public virtual void Awake()
@@ -120,10 +105,7 @@ private void OnGUI()
120105

121106
public virtual void OnDestroy()
122107
{
123-
if (!finishCalled)
124-
{
125-
RaiseOnClose(false);
126-
}
108+
127109
}
128110

129111
public virtual void OnSelectionChange()

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/IView.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ interface IView
1212
Rect Position { get; }
1313

1414
void Finish(bool result);
15-
event Action<bool> OnClose;
1615
IRepository Repository { get; }
1716
bool HasRepository { get; }
1817
IApplicationManager Manager { get; }

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/PopupWindow.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public enum PopupViewType
1919
[SerializeField] private AuthenticationView authenticationView;
2020
[SerializeField] private PublishView publishView;
2121

22+
public event Action<bool> OnClose;
23+
2224
[MenuItem("GitHub/Authenticate")]
2325
public static void Launch()
2426
{
@@ -29,7 +31,7 @@ public static PopupWindow Open(PopupViewType popupViewType, Action<bool> onClose
2931
{
3032
var popupWindow = GetWindow<PopupWindow>(true);
3133

32-
popupWindow.RaiseOnClose(false);
34+
popupWindow.OnClose.SafeInvoke(false);
3335

3436
if (onClose != null)
3537
{
@@ -83,12 +85,6 @@ public override void Refresh()
8385
ActiveView.Refresh();
8486
}
8587

86-
protected override void RaiseOnClose(bool result)
87-
{
88-
base.RaiseOnClose(result);
89-
ClearOnClose();
90-
}
91-
9288
public override void OnSelectionChange()
9389
{
9490
base.OnSelectionChange();
@@ -97,10 +93,19 @@ public override void OnSelectionChange()
9793

9894
public override void Finish(bool result)
9995
{
96+
OnClose.SafeInvoke(result);
97+
OnClose = null;
10098
Close();
10199
base.Finish(result);
102100
}
103101

102+
public override void OnDestroy()
103+
{
104+
base.OnDestroy();
105+
OnClose.SafeInvoke(false);
106+
OnClose = null;
107+
}
108+
104109
private Subview ActiveView
105110
{
106111
get { return activeView; }

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Subview.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ namespace GitHub.Unity
55
{
66
abstract class Subview : IView
77
{
8-
public event Action<bool> OnClose;
9-
108
private const string NullParentError = "Subview parent is null";
119

1210
public virtual void InitializeView(IView parent)

0 commit comments

Comments
 (0)