Skip to content

Commit fbbc732

Browse files
committed
Move self model syncing to local model persister
1 parent 7889f0a commit fbbc732

File tree

2 files changed

+17
-19
lines changed

2 files changed

+17
-19
lines changed

TeamCoding/VisualStudio/Models/ChangePersisters/LocalModelPersisterBase.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ namespace TeamCoding.VisualStudio.Models.ChangePersisters
1010
{
1111
public abstract class LocalModelPersisterBase : ILocalModelPerisister
1212
{
13+
private readonly UserSettings UserSettings;
1314
private readonly LocalIDEModel IdeModel;
1415
private readonly SettingProperty<string>[] SettingProperties;
1516
public LocalModelPersisterBase(LocalIDEModel model, params SettingProperty<string>[] settingProperties)
@@ -23,6 +24,20 @@ public LocalModelPersisterBase(LocalIDEModel model, params SettingProperty<strin
2324
property.Changing += SettingProperty_ChangingAsync;
2425
property.Changed += SettingProperty_ChangedAsync;
2526
}
27+
UserSettings = TeamCodingPackage.Current.Settings.UserSettings;
28+
UserSettings.ShowSelfChanged += UserSettings_ShowSelfChangedAsync;
29+
}
30+
31+
private async void UserSettings_ShowSelfChangedAsync(object sender, EventArgs e)
32+
{
33+
if (UserSettings.ShowSelf)
34+
{
35+
await TeamCodingPackage.Current.LocalModelChangeManager.SendUpdateAsync();
36+
}
37+
else
38+
{
39+
SendModel(new RemoteIDEModel(new LocalIDEModel()));
40+
}
2641
}
2742
private async void SettingProperty_ChangingAsync(object sender, EventArgs e)
2843
{
@@ -68,6 +83,7 @@ public virtual void Dispose()
6883
property.Changing += SettingProperty_ChangingAsync;
6984
property.Changed += SettingProperty_ChangedAsync;
7085
}
86+
UserSettings.ShowSelfChanged -= UserSettings_ShowSelfChangedAsync;
7187
}
7288
}
7389
}

TeamCoding/VisualStudio/Models/ChangePersisters/RemoteModelPersisterBase.cs

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,24 +36,6 @@ public IEnumerable<IRemotelyAccessedDocumentData> GetOpenFiles()
3636
})).ToArray();
3737
}
3838
}
39-
public RemoteModelPersisterBase()
40-
{
41-
UserSettings = TeamCodingPackage.Current.Settings.UserSettings;
42-
UserSettings.ShowSelfChanged += SharedSettings_ShowSelfChangedAsync;
43-
}
44-
45-
private async void SharedSettings_ShowSelfChangedAsync(object sender, EventArgs e)
46-
{
47-
if (UserSettings.ShowSelf)
48-
{
49-
await TeamCodingPackage.Current.LocalModelChangeManager.SendUpdateAsync();
50-
}
51-
else if (RemoteModels.ContainsKey(LocalIDEModel.Id.Value))
52-
{
53-
RemoteModels.Remove(LocalIDEModel.Id.Value);
54-
RemoteModelReceived?.Invoke(this, EventArgs.Empty);
55-
}
56-
}
5739

5840
public void ClearRemoteModels()
5941
{
@@ -96,7 +78,7 @@ public void OnRemoteModelReceived(RemoteIDEModel remoteModel)
9678
}
9779
public virtual void Dispose()
9880
{
99-
UserSettings.ShowSelfChanged -= SharedSettings_ShowSelfChangedAsync;
81+
10082
}
10183

10284
}

0 commit comments

Comments
 (0)