diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs index 9cd70d371..3a4f10081 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs @@ -77,18 +77,10 @@ private void MaybeUpdateData() { } - public override void OnRepositoryChanged(IRepository oldRepository) - { - base.OnRepositoryChanged(oldRepository); - DetachHandlers(oldRepository); - AttachHandlers(Repository); - } - private void AttachHandlers(IRepository repository) { if (repository == null) return; - repository.OnLocalBranchListChanged += RunUpdateBranchesOnMainThread; repository.OnCurrentBranchChanged += HandleRepositoryBranchChangeEvent; repository.OnCurrentRemoteChanged += HandleRepositoryBranchChangeEvent; diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/ChangesView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/ChangesView.cs index 71d619226..f033d4777 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/ChangesView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/ChangesView.cs @@ -38,16 +38,28 @@ public override void OnEnable() return; OnStatusUpdate(Repository.CurrentStatus); - Repository.OnStatusChanged += RunStatusUpdateOnMainThread; + AttachHandlers(Repository); Repository.Refresh(); } public override void OnDisable() { base.OnDisable(); - if (Repository == null) + DetachHandlers(Repository); + } + + private void AttachHandlers(IRepository repository) + { + if (repository == null) + return; + repository.OnStatusChanged += RunStatusUpdateOnMainThread; + } + + private void DetachHandlers(IRepository oldRepository) + { + if (oldRepository == null) return; - Repository.OnStatusChanged -= RunStatusUpdateOnMainThread; + oldRepository.OnStatusChanged -= RunStatusUpdateOnMainThread; } private void RunStatusUpdateOnMainThread(GitStatus status) diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/HistoryView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/HistoryView.cs index ee0386a9f..603351140 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/HistoryView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/HistoryView.cs @@ -81,14 +81,6 @@ public override void OnDataUpdate() MaybeUpdateData(); } - public override void OnRepositoryChanged(IRepository oldRepository) - { - base.OnRepositoryChanged(oldRepository); - - DetachHandlers(oldRepository); - AttachHandlers(Repository); - } - public override void OnSelectionChange() { diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/SettingsView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/SettingsView.cs index 731fe401b..0ea2240df 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/SettingsView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/SettingsView.cs @@ -77,20 +77,6 @@ public override void OnDataUpdate() MaybeUpdateData(); } - public override void OnRepositoryChanged(IRepository oldRepository) - { - base.OnRepositoryChanged(oldRepository); - gitPathView.OnRepositoryChanged(oldRepository); - userSettingsView.OnRepositoryChanged(oldRepository); - - DetachHandlers(oldRepository); - AttachHandlers(Repository); - - remoteHasChanged = true; - - Refresh(); - } - public override void Refresh() { base.Refresh(); @@ -106,7 +92,6 @@ private void AttachHandlers(IRepository repository) { if (repository == null) return; - repository.OnCurrentRemoteChanged += Repository_OnActiveRemoteChanged; repository.OnLocksChanged += RunLocksUpdateOnMainThread; } @@ -115,7 +100,6 @@ private void DetachHandlers(IRepository repository) { if (repository == null) return; - repository.OnCurrentRemoteChanged -= Repository_OnActiveRemoteChanged; repository.OnLocksChanged -= RunLocksUpdateOnMainThread; } diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Subview.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Subview.cs index 186a879a7..b6a4d84f7 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Subview.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Subview.cs @@ -48,9 +48,6 @@ public virtual void Finish(bool result) Parent.Finish(result); } - public virtual void OnRepositoryChanged(IRepository oldRepository) - {} - protected IView Parent { get; private set; } public IApplicationManager Manager { get { return Parent.Manager; } } public IRepository Repository { get { return Parent.Repository; } } diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Window.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Window.cs index 5ac4da704..b78e4c30b 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Window.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Window.cs @@ -126,10 +126,6 @@ public override void OnRepositoryChanged(IRepository oldRepository) } UpdateActiveTab(); - - if (ActiveView != null) - ActiveView.OnRepositoryChanged(oldRepository); - UpdateLog(); }