[OOBE]Fix not shortcut not updating (#21175)

* [OOBE]Fix not shortcut not updating

Fix for issue #20953.
Activation key update in the OOBE window
when the user changes it in the settings window.
Add settings repository reference to the ViewModel
constructor to use the repository settings object
(and not create a second instance of it).

* Fix for issue #20953.

Unit test fixed.
This commit is contained in:
Laszlo Nemeth
2022-10-13 09:46:30 +02:00
committed by GitHub
parent ee904ae1b1
commit ab41b61e84
10 changed files with 79 additions and 39 deletions

View File

@@ -15,7 +15,11 @@ namespace Microsoft.PowerToys.Settings.UI.Views
public ColorPickerPage()
{
var settingsUtils = new SettingsUtils();
ViewModel = new ColorPickerViewModel(settingsUtils, SettingsRepository<GeneralSettings>.GetInstance(settingsUtils), ShellPage.SendDefaultIPCMessage);
ViewModel = new ColorPickerViewModel(
settingsUtils,
SettingsRepository<GeneralSettings>.GetInstance(settingsUtils),
SettingsRepository<ColorPickerSettings>.GetInstance(settingsUtils),
ShellPage.SendDefaultIPCMessage);
DataContext = ViewModel;
InitializeComponent();
}

View File

@@ -6,6 +6,7 @@ using System;
using System.Collections.ObjectModel;
using System.IO;
using Microsoft.PowerToys.Settings.UI.Library;
using Microsoft.PowerToys.Settings.UI.Library.Interfaces;
using Microsoft.PowerToys.Settings.UI.Library.Utilities;
using Microsoft.PowerToys.Settings.UI.Library.ViewModels;
using Microsoft.UI.Xaml.Controls;
@@ -34,7 +35,8 @@ namespace Microsoft.PowerToys.Settings.UI.Views
InitializeComponent();
var settingsUtils = new SettingsUtils();
_lastIPCMessageSentTick = Environment.TickCount;
PowerLauncherSettings settings = settingsUtils.GetSettingsOrDefault<PowerLauncherSettings>(PowerLauncherSettings.ModuleName);
PowerLauncherSettings settings = SettingsRepository<PowerLauncherSettings>.GetInstance(settingsUtils)?.SettingsConfig;
ViewModel = new PowerLauncherViewModel(settings, SettingsRepository<GeneralSettings>.GetInstance(settingsUtils), SendDefaultIPCMessageTimed, App.IsDarkTheme);
DataContext = ViewModel;
_ = Helper.GetFileWatcher(PowerLauncherSettings.ModuleName, "settings.json", () =>
@@ -48,7 +50,7 @@ namespace Microsoft.PowerToys.Settings.UI.Views
PowerLauncherSettings powerLauncherSettings = null;
try
{
powerLauncherSettings = settingsUtils.GetSettingsOrDefault<PowerLauncherSettings>(PowerLauncherSettings.ModuleName);
powerLauncherSettings = SettingsRepository<PowerLauncherSettings>.GetInstance(settingsUtils)?.SettingsConfig;
}
catch (IOException ex)
{

View File

@@ -18,6 +18,7 @@ namespace Microsoft.PowerToys.Settings.UI.Views
ViewModel = new PowerOcrViewModel(
settingsUtils,
SettingsRepository<GeneralSettings>.GetInstance(settingsUtils),
SettingsRepository<PowerOcrSettings>.GetInstance(settingsUtils),
ShellPage.SendDefaultIPCMessage);
DataContext = ViewModel;
InitializeComponent();

View File

@@ -34,7 +34,12 @@ namespace Microsoft.PowerToys.Settings.UI.Views
public VideoConferencePage()
{
var settingsUtils = new SettingsUtils();
ViewModel = new VideoConferenceViewModel(settingsUtils, SettingsRepository<GeneralSettings>.GetInstance(settingsUtils), ShellPage.SendDefaultIPCMessage, PickFileDialog);
ViewModel = new VideoConferenceViewModel(
settingsUtils,
SettingsRepository<GeneralSettings>.GetInstance(settingsUtils),
SettingsRepository<VideoConferenceSettings>.GetInstance(settingsUtils),
ShellPage.SendDefaultIPCMessage,
PickFileDialog);
DataContext = ViewModel;
InitializeComponent();
}