This commit is contained in:
Eric Tian 2021-05-01 18:43:39 -07:00
commit 04f67e4f88
4 changed files with 15 additions and 17 deletions

View file

@ -4722,9 +4722,9 @@
<value>Microsoft Privacy Statement</value>
<comment>Displayed on a link to the Microsoft Privacy Statement on the Settings page.</comment>
</data>
<data name="SettingsRestartNotice" xml:space="preserve">
<data name="SettingsRestartApp.Text" xml:space="preserve">
<value>You'll see your changes the next time you start the app.</value>
<comment>Notice when the user change the theme.</comment>
<comment>Notice prompting the user to restart the app for changes to theme to take effect.</comment>
</data>
<data name="BackButton.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Back</value>

View file

@ -82,6 +82,7 @@
<TextBlock x:Name="SettingsRestartApp"
x:Uid="SettingsRestartApp"
Style="{StaticResource CaptionTextBlockStyle}"
Foreground="{StaticResource SystemBaseMediumColor}"/>

View file

@ -27,7 +27,6 @@ using namespace winrt::Windows::Storage;
SettingsPage::SettingsPage()
{
auto resourceLoader = AppResourceProvider::GetInstance();
auto themevalue = Windows::Storage::ApplicationData::Current->LocalSettings->Values->Lookup(L"themeSetting");
auto restartValue = Windows::Storage::ApplicationData::Current->LocalSettings->Values->Lookup(L"restartApp");
auto currentThemeValue = Windows::Storage::ApplicationData::Current->LocalSettings->Values->Lookup(L"CurrentTheme");
@ -44,7 +43,7 @@ SettingsPage::SettingsPage()
if (themevalue != nullptr)
{
if (colorSetting == L"Light")
if (colorSetting == ApplicationTheme::Light.ToString())
{
SettingsLightTheme->IsChecked = true;
if (currentTheme == nullptr)
@ -52,7 +51,7 @@ SettingsPage::SettingsPage()
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"CurrentTheme", L"Light");
}
}
else if (colorSetting == L"Dark")
else if (colorSetting == ApplicationTheme::Dark.ToString())
{
SettingsDarkTheme->IsChecked = true;
if (currentTheme == nullptr)
@ -131,15 +130,6 @@ void SettingsPage::InitializeContributeTextBlock()
void SettingsPage::BackButtonClick(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
{
auto rootFrame = dynamic_cast<::Frame ^>(Window::Current->Content);
if (SettingsRestartApp->Visibility == ::Visibility::Visible)
{
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"restartApp", L"True");
}
else
{
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"restartApp", L"False");
}
rootFrame->Navigate((MainPage::typeid), this);
}
@ -186,18 +176,19 @@ void SettingsPage::ThemeChecked(Platform::Object ^ sender, Windows::UI::Xaml::Ro
if (currentTheme == tag)
{
SettingsRestartApp->Visibility = ::Visibility::Collapsed;
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"restartApp", L"False");
}
else
{
SettingsRestartApp->Visibility = ::Visibility::Visible;
SettingsRestartApp->Text = resourceLoader->GetResourceString("SettingsRestartNotice");
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"restartApp", L"True");
}
if (tag == "Light")
if (tag == ApplicationTheme::Light.ToString())
{
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", ApplicationTheme::Light.ToString());
}
else if (tag == "Dark")
else if (tag == ApplicationTheme::Dark.ToString())
{
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", ApplicationTheme::Dark.ToString());
}

View file

@ -16,6 +16,12 @@ namespace CalculatorApp
property MainPage ^ MainPageProperty;
private:
enum Theme
{
Light,
Dark,
System
};
void SetDefaultFocus();
void InitializeContributeTextBlock();
void BackButtonClick(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);