@@ -35,44 +35,46 @@ public SettingsViewModel(ILogger<SettingsViewModel> logger, ISettingsManager set
35
35
// We disable the option in the UI if the policy is set.
36
36
StartOnLoginDisabled = _startupManager . IsDisabledByPolicy ( ) ;
37
37
38
- this . PropertyChanged += ( _ , args ) =>
38
+ // Ensure the StartOnLogin property matches the current startup state.
39
+ if ( StartOnLogin != _startupManager . IsEnabled ( ) )
40
+ {
41
+ StartOnLogin = _startupManager . IsEnabled ( ) ;
42
+ }
43
+ }
44
+
45
+ partial void OnConnectOnLaunchChanged ( bool oldValue , bool newValue )
46
+ {
47
+ if ( oldValue == newValue )
48
+ return ;
49
+ try
50
+ {
51
+ _settingsManager . ConnectOnLaunch = ConnectOnLaunch ;
52
+ }
53
+ catch ( Exception ex )
39
54
{
40
- if ( args . PropertyName == nameof ( ConnectOnLaunch ) )
55
+ _logger . LogError ( $ "Error saving { SettingsManager . ConnectOnLaunchKey } setting: { ex . Message } ") ;
56
+ }
57
+ }
58
+
59
+ partial void OnStartOnLoginChanged ( bool oldValue , bool newValue )
60
+ {
61
+ if ( oldValue == newValue )
62
+ return ;
63
+ try
64
+ {
65
+ _settingsManager . StartOnLogin = StartOnLogin ;
66
+ if ( StartOnLogin )
41
67
{
42
- try
43
- {
44
- _settingsManager . ConnectOnLaunch = ConnectOnLaunch ;
45
- }
46
- catch ( Exception ex )
47
- {
48
- _logger . LogError ( $ "Error saving { SettingsManager . ConnectOnLaunchKey } setting: { ex . Message } ") ;
49
- }
68
+ _startupManager . Enable ( ) ;
50
69
}
51
- else if ( args . PropertyName == nameof ( StartOnLogin ) )
70
+ else
52
71
{
53
- try
54
- {
55
- _settingsManager . StartOnLogin = StartOnLogin ;
56
- if ( StartOnLogin )
57
- {
58
- _startupManager . Enable ( ) ;
59
- }
60
- else
61
- {
62
- _startupManager . Disable ( ) ;
63
- }
64
- }
65
- catch ( Exception ex )
66
- {
67
- _logger . LogError ( $ "Error saving { SettingsManager . StartOnLoginKey } setting: { ex . Message } ") ;
68
- }
72
+ _startupManager . Disable ( ) ;
69
73
}
70
- } ;
71
-
72
- // Ensure the StartOnLogin property matches the current startup state.
73
- if ( StartOnLogin != _startupManager . IsEnabled ( ) )
74
+ }
75
+ catch ( Exception ex )
74
76
{
75
- StartOnLogin = _startupManager . IsEnabled ( ) ;
77
+ _logger . LogError ( $ "Error saving { SettingsManager . StartOnLoginKey } setting: { ex . Message } " ) ;
76
78
}
77
79
}
78
80
}
0 commit comments