Skip to content

Commit 823205f

Browse files
committed
Migrate to WCT MVVM
1 parent 5fd7b00 commit 823205f

File tree

60 files changed

+488
-663
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+488
-663
lines changed

FluentTerminal.App.Services.Test/SettingsServiceTests.cs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using AutoFixture;
22
using FluentAssertions;
33
using FluentTerminal.App.Services.Implementation;
4-
using FluentTerminal.App.Services.Utilities;
54
using FluentTerminal.Models;
65
using FluentTerminal.Models.Enums;
76
using Moq;
@@ -11,8 +10,8 @@
1110
using System.Collections.ObjectModel;
1211
using System.Linq;
1312
using FluentTerminal.Models.Messages;
14-
using GalaSoft.MvvmLight.Messaging;
1513
using Xunit;
14+
using Microsoft.Toolkit.Mvvm.Messaging;
1615

1716
namespace FluentTerminal.App.Services.Test
1817
{
@@ -167,8 +166,8 @@ public void SaveCurrentThemeId_Default_InvokesCurrentThemeChangedEvent()
167166
};
168167
var currentThemeChangedEventInvoked = false;
169168
var settingsService = new SettingsService(defaultValueProvider, applicationDataContainers);
170-
Messenger.Default.Register<CurrentThemeChangedMessage>(this,
171-
message => currentThemeChangedEventInvoked = true);
169+
WeakReferenceMessenger.Default.Register<CurrentThemeChangedMessage>(this,
170+
(r, m) => currentThemeChangedEventInvoked = true);
172171

173172
settingsService.SaveCurrentThemeId(currentThemeId);
174173

@@ -217,8 +216,8 @@ public void SaveTheme_ThemeIsCurrentTheme_InvokesCurrentThemeChangedEvent()
217216
SshProfiles = Mock.Of<IApplicationDataContainer>()
218217
};
219218
var settingsService = new SettingsService(defaultValueProvider, applicationDataContainers);
220-
Messenger.Default.Register<CurrentThemeChangedMessage>(this,
221-
message => currentThemeChangedEventInvoked = true);
219+
WeakReferenceMessenger.Default.Register<CurrentThemeChangedMessage>(this,
220+
(r, m) => currentThemeChangedEventInvoked = true);
222221

223222
settingsService.SaveTheme(theme);
224223

@@ -382,8 +381,8 @@ public void SaveTerminalOptions_Default_InvokesTerminalOptionsChangedEvent()
382381
SshProfiles = Mock.Of<IApplicationDataContainer>()
383382
};
384383
var settingsService = new SettingsService(defaultValueProvider, applicationDataContainers);
385-
Messenger.Default.Register<TerminalOptionsChangedMessage>(this,
386-
message => terminalOptionsChangedEventInvoked = true);
384+
WeakReferenceMessenger.Default.Register<TerminalOptionsChangedMessage>(this,
385+
(r, m) => terminalOptionsChangedEventInvoked = true);
387386

388387
settingsService.SaveTerminalOptions(terminalOptions);
389388

@@ -453,8 +452,7 @@ public void SaveApplicationSettings_Default_InvokesApplicationSettingsChangedEve
453452
SshProfiles = Mock.Of<IApplicationDataContainer>()
454453
};
455454
var settingsService = new SettingsService(defaultValueProvider, applicationDataContainers);
456-
Messenger.Default.Register<ApplicationSettingsChangedMessage>(this,
457-
a => applicationSettingsChangedEventInvoked = true);
455+
WeakReferenceMessenger.Default.Register<ApplicationSettingsChangedMessage>(this, (r, m) => applicationSettingsChangedEventInvoked = true);
458456

459457
settingsService.SaveApplicationSettings(applicationSettings);
460458

@@ -556,8 +554,8 @@ public void SaveKeyBindings_Default_InvokesKeyBindingsChangedEvent()
556554
SshProfiles = Mock.Of<IApplicationDataContainer>()
557555
};
558556
var settingsService = new SettingsService(defaultValueProvider, applicationDataContainers);
559-
Messenger.Default.Register<KeyBindingsChangedMessage>(this,
560-
message => keyBindingsChangedEventInvoked = true);
557+
WeakReferenceMessenger.Default.Register<KeyBindingsChangedMessage>(this,
558+
(r, m) => keyBindingsChangedEventInvoked = true);
561559

562560
settingsService.SaveKeyBindings(command.ToString(), keyBindings);
563561

@@ -605,8 +603,8 @@ public void ResetKeyBindings_Default_InvokesKeyBindingsChangedEvent()
605603
SshProfiles = Mock.Of<IApplicationDataContainer>()
606604
};
607605
var settingsService = new SettingsService(defaultValueProvider, applicationDataContainers);
608-
Messenger.Default.Register<KeyBindingsChangedMessage>(this,
609-
message => keyBindingsChangedEventInvoked = true);
606+
WeakReferenceMessenger.Default.Register<KeyBindingsChangedMessage>(this,
607+
(r, m) => keyBindingsChangedEventInvoked = true);
610608

611609
settingsService.ResetKeyBindings();
612610

FluentTerminal.App.Services/EventArgs/NewTabRequestedEventArgs.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System;
2-
using Windows.UI.Xaml;
1+
using Windows.UI.Xaml;
32

43
namespace FluentTerminal.App.Services.EventArgs
54
{

FluentTerminal.App.Services/Exceptions/SaveTextFileException.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
using System;
2-
using System.Collections.Generic;
3-
using System.Text;
42

53
namespace FluentTerminal.App.Services.Exceptions
64
{

FluentTerminal.App.Services/FluentTerminal.App.Services.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<ItemGroup>
99
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
10-
<PackageReference Include="MvvmLightLibsStd10" Version="5.4.1.1" />
10+
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.0.0" />
1111
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
1212
<PackageReference Include="PListNet" Version="3.2.0" />
1313
<PackageReference Include="RestSharp" Version="106.11.7" />

FluentTerminal.App.Services/Implementation/SettingsService.cs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using System.Linq;
88
using FluentTerminal.App.Services.Utilities;
99
using FluentTerminal.Models.Messages;
10-
using GalaSoft.MvvmLight.Messaging;
10+
using Microsoft.Toolkit.Mvvm.Messaging;
1111

1212
namespace FluentTerminal.App.Services.Implementation
1313
{
@@ -169,14 +169,14 @@ public void ImportSettings(string serializedSettings)
169169
public void DeleteShellProfile(Guid id)
170170
{
171171
_shellProfiles.Delete(id.ToString());
172-
Messenger.Default.Send(new ShellProfileDeletedMessage(id));
172+
WeakReferenceMessenger.Default.Send(new ShellProfileDeletedMessage(id));
173173
}
174174

175175
public void DeleteSshProfile(Guid id)
176176
{
177177
_sshProfiles.Delete(id.ToString());
178-
Messenger.Default.Send(new ShellProfileDeletedMessage(id));
179-
Messenger.Default.Send(new KeyBindingsChangedMessage());
178+
WeakReferenceMessenger.Default.Send(new ShellProfileDeletedMessage(id));
179+
WeakReferenceMessenger.Default.Send(new KeyBindingsChangedMessage());
180180
}
181181

182182

@@ -193,7 +193,7 @@ public void DeleteTheme(Guid id)
193193
}
194194
}
195195

196-
Messenger.Default.Send(new ThemeDeletedMessage(id));
196+
WeakReferenceMessenger.Default.Send(new ThemeDeletedMessage(id));
197197
}
198198

199199
public ApplicationSettings GetApplicationSettings()
@@ -333,32 +333,32 @@ public void ResetKeyBindings()
333333
_keyBindings.WriteValueAsJson(command.ToString(), _defaultValueProvider.GetDefaultKeyBindings(command));
334334
}
335335

336-
Messenger.Default.Send(new KeyBindingsChangedMessage());
336+
WeakReferenceMessenger.Default.Send(new KeyBindingsChangedMessage());
337337
}
338338

339339
public void SaveApplicationSettings(ApplicationSettings applicationSettings)
340340
{
341341
_roamingSettings.WriteValueAsJson(nameof(ApplicationSettings), applicationSettings);
342-
Messenger.Default.Send(new ApplicationSettingsChangedMessage(applicationSettings.Clone()));
342+
WeakReferenceMessenger.Default.Send(new ApplicationSettingsChangedMessage(applicationSettings.Clone()));
343343
}
344344

345345
public void NotifyApplicationSettingsChanged(ApplicationSettings applicationSettings)
346346
{
347-
Messenger.Default.Send(new ApplicationSettingsChangedMessage(applicationSettings.Clone()));
347+
WeakReferenceMessenger.Default.Send(new ApplicationSettingsChangedMessage(applicationSettings.Clone()));
348348
}
349349

350350
public void SaveCurrentThemeId(Guid id)
351351
{
352352
_roamingSettings.SetValue(CurrentThemeKey, id);
353353

354-
Messenger.Default.Send(new CurrentThemeChangedMessage(id));
354+
WeakReferenceMessenger.Default.Send(new CurrentThemeChangedMessage(id));
355355
}
356356

357357
public void SaveDefaultShellProfileId(Guid id)
358358
{
359359
_localSettings.SetValue(DefaultShellProfileKey, id);
360360

361-
Messenger.Default.Send(new DefaultShellProfileChangedMessage(id));
361+
WeakReferenceMessenger.Default.Send(new DefaultShellProfileChangedMessage(id));
362362
}
363363

364364
public void SaveKeyBindings(string command, ICollection<KeyBinding> keyBindings)
@@ -369,23 +369,23 @@ public void SaveKeyBindings(string command, ICollection<KeyBinding> keyBindings)
369369
}
370370

371371
_keyBindings.WriteValueAsJson(enumValue.ToString(), keyBindings);
372-
Messenger.Default.Send(new KeyBindingsChangedMessage());
372+
WeakReferenceMessenger.Default.Send(new KeyBindingsChangedMessage());
373373
}
374374

375375
public void SaveShellProfile(ShellProfile shellProfile, bool newShell = false)
376376
{
377377
_shellProfiles.WriteValueAsJson(shellProfile.Id.ToString(), shellProfile);
378378

379379
// When saving the shell profile, we also need to update keybindings for everywhere.
380-
Messenger.Default.Send(new KeyBindingsChangedMessage());
380+
WeakReferenceMessenger.Default.Send(new KeyBindingsChangedMessage());
381381

382382
if (newShell)
383383
{
384-
Messenger.Default.Send(new ShellProfileAddedMessage(shellProfile));
384+
WeakReferenceMessenger.Default.Send(new ShellProfileAddedMessage(shellProfile));
385385
}
386386
else
387387
{
388-
Messenger.Default.Send(new ShellProfileChangedMessage(shellProfile));
388+
WeakReferenceMessenger.Default.Send(new ShellProfileChangedMessage(shellProfile));
389389
}
390390
}
391391

@@ -394,22 +394,22 @@ public void SaveSshProfile(SshProfile sshProfile, bool newShell = false)
394394
_sshProfiles.WriteValueAsJson(sshProfile.Id.ToString(), sshProfile);
395395

396396
// When saving the shell profile, we also need to update keybindings for everywhere.
397-
Messenger.Default.Send(new KeyBindingsChangedMessage());
397+
WeakReferenceMessenger.Default.Send(new KeyBindingsChangedMessage());
398398

399399
if (newShell)
400400
{
401-
Messenger.Default.Send(new ShellProfileAddedMessage(sshProfile));
401+
WeakReferenceMessenger.Default.Send(new ShellProfileAddedMessage(sshProfile));
402402
}
403403
else
404404
{
405-
Messenger.Default.Send(new ShellProfileChangedMessage(sshProfile));
405+
WeakReferenceMessenger.Default.Send(new ShellProfileChangedMessage(sshProfile));
406406
}
407407
}
408408

409409
public void SaveTerminalOptions(TerminalOptions terminalOptions)
410410
{
411411
_roamingSettings.WriteValueAsJson(nameof(TerminalOptions), terminalOptions);
412-
Messenger.Default.Send(new TerminalOptionsChangedMessage(terminalOptions));
412+
WeakReferenceMessenger.Default.Send(new TerminalOptionsChangedMessage(terminalOptions));
413413
}
414414

415415
public void SaveTheme(TerminalTheme theme, bool newTheme = false)
@@ -418,12 +418,12 @@ public void SaveTheme(TerminalTheme theme, bool newTheme = false)
418418

419419
if (theme.Id == GetCurrentThemeId())
420420
{
421-
Messenger.Default.Send(new CurrentThemeChangedMessage(theme.Id));
421+
WeakReferenceMessenger.Default.Send(new CurrentThemeChangedMessage(theme.Id));
422422
}
423423

424424
if (newTheme)
425425
{
426-
Messenger.Default.Send(new ThemeAddedMessage(theme));
426+
WeakReferenceMessenger.Default.Send(new ThemeAddedMessage(theme));
427427
}
428428
}
429429
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using GalaSoft.MvvmLight;
1+
using Microsoft.Toolkit.Mvvm.ComponentModel;
22
using System;
33

44
namespace FluentTerminal.App.ViewModels
55
{
6-
public class EnvironmentVariableViewModel : ViewModelBase
6+
public class EnvironmentVariableViewModel : ObservableObject
77
{
88
private string _name;
99
private string _value;
@@ -13,13 +13,13 @@ public class EnvironmentVariableViewModel : ViewModelBase
1313
public string Name
1414
{
1515
get => _name;
16-
set => Set(ref _name, value);
16+
set => SetProperty(ref _name, value);
1717
}
1818

1919
public string Value
2020
{
2121
get => _value;
22-
set => Set(ref _value, value);
22+
set => SetProperty(ref _value, value);
2323
}
2424
}
2525
}

FluentTerminal.App.ViewModels/FluentTerminal.App.ViewModels.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="MvvmLightLibsStd10" Version="5.4.1.1" />
8+
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.0.0" />
99
</ItemGroup>
1010

1111
<ItemGroup>

0 commit comments

Comments
 (0)