mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-23 06:25:19 -07:00
System Theme now works
This commit is contained in:
parent
7195ebe9cf
commit
b2aa3455a5
2 changed files with 122 additions and 98 deletions
|
@ -16,13 +16,11 @@
|
||||||
<RowDefinition Height="1*"
|
<RowDefinition Height="1*"
|
||||||
MinHeight="{StaticResource HamburgerHeight}"
|
MinHeight="{StaticResource HamburgerHeight}"
|
||||||
MaxHeight="52"/>
|
MaxHeight="52"/>
|
||||||
<RowDefinition Height="4*"/>
|
<RowDefinition Height="1*"/>
|
||||||
<RowDefinition Height="Auto" MaxHeight="32"/>
|
|
||||||
<RowDefinition Height="4*"/>
|
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Grid.Row="1">
|
||||||
<StackPanel x:Name="SettingsStack"
|
<StackPanel x:Name="SettingsStack"
|
||||||
Grid.Row="1"
|
|
||||||
AutomationProperties.LabeledBy="{Binding ElementName=SettingsAppTheme}"
|
AutomationProperties.LabeledBy="{Binding ElementName=SettingsAppTheme}"
|
||||||
Orientation="Vertical">
|
Orientation="Vertical">
|
||||||
|
|
||||||
|
@ -32,7 +30,9 @@
|
||||||
AutomationProperties.HeadingLevel="Level1"
|
AutomationProperties.HeadingLevel="Level1"
|
||||||
TextTrimming="Clip"/>
|
TextTrimming="Clip"/>
|
||||||
|
|
||||||
<TextBlock x:Name="SettingsRestartApp" Style="{StaticResource BodyTextBlockStyle}"/>
|
<TextBlock x:Name="SettingsRestartApp"
|
||||||
|
Style="{StaticResource CaptionTextBlockStyle}"
|
||||||
|
Foreground="{StaticResource SystemColorGrayTextColor}"/>
|
||||||
|
|
||||||
<RadioButton x:Name="SettingsDarkTheme"
|
<RadioButton x:Name="SettingsDarkTheme"
|
||||||
x:Uid="SettingsDarkTheme"
|
x:Uid="SettingsDarkTheme"
|
||||||
|
@ -55,11 +55,10 @@
|
||||||
Click="ColorSettingsButtonClicked">
|
Click="ColorSettingsButtonClicked">
|
||||||
<TextBlock x:Uid="ColorSettingsButton" TextWrapping="Wrap"/>
|
<TextBlock x:Uid="ColorSettingsButton" TextWrapping="Wrap"/>
|
||||||
</HyperlinkButton>
|
</HyperlinkButton>
|
||||||
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<StackPanel x:Name="AboutStack"
|
<StackPanel x:Name="AboutStack"
|
||||||
Grid.Row="3"
|
Margin="0,32,0,0"
|
||||||
AutomationProperties.LabeledBy="{Binding ElementName=SettingsAboutLabel}"
|
AutomationProperties.LabeledBy="{Binding ElementName=SettingsAboutLabel}"
|
||||||
Orientation="Vertical">
|
Orientation="Vertical">
|
||||||
|
|
||||||
|
@ -105,8 +104,7 @@
|
||||||
VerticalAlignment="Top"
|
VerticalAlignment="Top"
|
||||||
Style="{StaticResource ButtonRevealStyle}"
|
Style="{StaticResource ButtonRevealStyle}"
|
||||||
Click="SettingsFeedbackButtonClick"/>
|
Click="SettingsFeedbackButtonClick"/>
|
||||||
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
|
|
|
@ -19,12 +19,15 @@ using namespace Windows::UI::Xaml;
|
||||||
using namespace Windows::UI::Xaml::Controls;
|
using namespace Windows::UI::Xaml::Controls;
|
||||||
using namespace Windows::UI::Xaml::Controls::Primitives;
|
using namespace Windows::UI::Xaml::Controls::Primitives;
|
||||||
using namespace Windows::UI::Xaml::Data;
|
using namespace Windows::UI::Xaml::Data;
|
||||||
|
using namespace winrt::Windows::Storage;
|
||||||
|
|
||||||
#ifndef BUILD_YEAR
|
#ifndef BUILD_YEAR
|
||||||
#define BUILD_YEAR 2020
|
#define BUILD_YEAR 2020
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
auto resourceLoader = AppResourceProvider::GetInstance();
|
auto resourceLoader = AppResourceProvider::GetInstance();
|
||||||
|
auto themevalue = Windows::Storage::ApplicationData::Current -> LocalSettings -> Values -> Lookup(L"themeSetting");
|
||||||
|
String ^ colorSetting = safe_cast<String ^>(themevalue);
|
||||||
|
|
||||||
SettingsPage::SettingsPage()
|
SettingsPage::SettingsPage()
|
||||||
{
|
{
|
||||||
|
@ -32,17 +35,14 @@ SettingsPage::SettingsPage()
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
|
|
||||||
|
|
||||||
Language = locService->GetLanguage();
|
Language = locService->GetLanguage();
|
||||||
|
|
||||||
this->SetVersionString();
|
this->SetVersionString();
|
||||||
this->SetCopyrightString();
|
this->SetCopyrightString();
|
||||||
|
|
||||||
auto value = Windows::Storage::ApplicationData::Current->LocalSettings->Values->Lookup(L"themeSetting");
|
|
||||||
if (value != nullptr)
|
if (themevalue != nullptr)
|
||||||
{
|
{
|
||||||
String ^ colorSetting = safe_cast<String ^>(value);
|
|
||||||
if (colorSetting == L"Dark")
|
if (colorSetting == L"Dark")
|
||||||
{
|
{
|
||||||
SettingsDarkTheme->IsChecked = true;
|
SettingsDarkTheme->IsChecked = true;
|
||||||
|
@ -56,6 +56,10 @@ SettingsPage::SettingsPage()
|
||||||
SettingsSystemTheme->IsChecked = true;
|
SettingsSystemTheme->IsChecked = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SettingsSystemTheme->IsChecked = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsPage::SetVersionString()
|
void SettingsPage::SetVersionString()
|
||||||
|
@ -87,23 +91,45 @@ void SettingsPage::SettingsFeedbackButtonClick(_In_ Object ^ sender, _In_ Routed
|
||||||
Launcher::LaunchUriAsync(ref new Uri("windows-feedback:?contextid=130&metadata=%7B%22Metadata%22:[%7B%22AppBuild%22:%22" + versionNumber + "%22%7D]%7D"));
|
Launcher::LaunchUriAsync(ref new Uri("windows-feedback:?contextid=130&metadata=%7B%22Metadata%22:[%7B%22AppBuild%22:%22" + versionNumber + "%22%7D]%7D"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsPage::LightChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
|
||||||
{
|
|
||||||
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Visible;
|
|
||||||
SettingsRestartApp->Text = LocalizationStringUtil::GetLocalizedString(resourceLoader->GetResourceString("SettingsRestartNotice"));
|
|
||||||
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", ApplicationTheme::Light.ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
void SettingsPage::DarkChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
void SettingsPage::DarkChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
||||||
|
{
|
||||||
|
if (colorSetting == "Dark")
|
||||||
|
{
|
||||||
|
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Visible;
|
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Visible;
|
||||||
SettingsRestartApp->Text = LocalizationStringUtil::GetLocalizedString(resourceLoader->GetResourceString("SettingsRestartNotice"));
|
SettingsRestartApp->Text = resourceLoader->GetResourceString("SettingsRestartNotice");
|
||||||
|
}
|
||||||
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", ApplicationTheme::Dark.ToString());
|
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", ApplicationTheme::Dark.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SettingsPage::LightChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
||||||
|
{
|
||||||
|
if (colorSetting == "Light")
|
||||||
|
{
|
||||||
|
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Visible;
|
||||||
|
SettingsRestartApp->Text = resourceLoader->GetResourceString("SettingsRestartNotice");
|
||||||
|
}
|
||||||
|
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", ApplicationTheme::Light.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsPage::SystemChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
void SettingsPage::SystemChecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
||||||
|
{
|
||||||
|
if (colorSetting == "System")
|
||||||
|
{
|
||||||
|
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Visible;
|
SettingsRestartApp->Visibility = Windows::UI::Xaml::Visibility::Visible;
|
||||||
SettingsRestartApp->Text = LocalizationStringUtil::GetLocalizedString(resourceLoader->GetResourceString("SettingsRestartNotice"));
|
SettingsRestartApp->Text = resourceLoader->GetResourceString("SettingsRestartNotice");
|
||||||
|
}
|
||||||
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", L"System");
|
Windows::Storage::ApplicationData::Current->LocalSettings->Values->Insert(L"themeSetting", L"System");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue