2020-04-18 06:25:08 +08:00
<Page
2020-03-12 14:25:24 +08:00
x:Class="Microsoft.PowerToys.Settings.UI.Views.GeneralPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Microsoft.PowerToys.Settings.UI.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
2020-05-12 03:36:55 +08:00
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
2021-05-21 18:32:34 +08:00
xmlns:localConverters="using:Microsoft.PowerToys.Settings.UI.Converters"
2020-03-12 14:25:24 +08:00
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d"
2020-10-29 02:10:08 +08:00
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
AutomationProperties.LandmarkType="Main">
2020-03-12 14:25:24 +08:00
2020-04-18 06:25:08 +08:00
<Page.Resources>
2020-05-12 03:36:55 +08:00
<converters:BoolToObjectConverter x:Key="BoolToVisibilityConverter" TrueValue="Collapsed" FalseValue="Visible"/>
2020-05-14 17:36:27 +08:00
<converters:BoolToVisibilityConverter x:Key="VisibleIfTrueConverter"/>
2021-05-21 18:32:34 +08:00
<localConverters:UpdatingStateUpToDateToVisibilityConverter x:Key="UpdatingStateUpToDateToVisibilityConverter" />
<localConverters:UpdatingStateCannotDownloadToVisibilityConverter x:Key="UpdatingStateCannotDownloadToVisibilityConverter" />
<localConverters:UpdatingStateReadyToDownloadToVisibilityConverter x:Key="UpdatingStateReadyToDownloadToVisibilityConverter" />
<localConverters:UpdatingStateReadyToInstallToVisibilityConverter x:Key="UpdatingStateReadyToInstallToVisibilityConverter" />
2020-04-18 06:25:08 +08:00
</Page.Resources>
2020-08-08 03:00:48 +08:00
<Grid RowSpacing="{StaticResource DefaultRowSpacing}">
2020-03-31 20:32:22 +08:00
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="LayoutVisualStates">
<VisualState x:Name="WideLayout">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="{StaticResource WideLayoutMinWidth}" />
</VisualState.StateTriggers>
</VisualState>
<VisualState x:Name="SmallLayout">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="{StaticResource SmallLayoutMinWidth}" />
2020-08-08 03:00:48 +08:00
<AdaptiveTrigger MinWindowWidth="0" />
2020-03-31 20:32:22 +08:00
</VisualState.StateTriggers>
<VisualState.Setters>
2020-07-25 03:02:56 +08:00
<Setter Target="SidePanel.(Grid.Column)" Value="0"/>
2020-08-08 03:00:48 +08:00
<Setter Target="SidePanel.Width" Value="Auto"/>
<Setter Target="GeneralView.(Grid.Row)" Value="1" />
2021-01-06 00:24:14 +08:00
<Setter Target="GeneralView.Margin" Value="0" />
2020-07-25 03:02:56 +08:00
<Setter Target="LinksPanel.(RelativePanel.RightOf)" Value="AboutImage"/>
<Setter Target="LinksPanel.(RelativePanel.AlignTopWith)" Value="AboutImage"/>
<Setter Target="AboutImage.Margin" Value="0,12,12,0"/>
<Setter Target="AboutTitle.Visibility" Value="Collapsed" />
2020-03-31 20:32:22 +08:00
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
2020-03-12 14:25:24 +08:00
2021-01-06 00:24:14 +08:00
<StackPanel Orientation="Vertical"
x:Name="GeneralView"
Margin="0,0,48,0"
HorizontalAlignment="Left"
MaxWidth="{StaticResource MaxContentWidth}">
2020-10-23 05:37:10 +08:00
<TextBlock x:Uid="Admin_Mode"
FontWeight="SemiBold"
TextWrapping="Wrap"
2020-10-24 04:35:57 +08:00
AutomationProperties.HeadingLevel="Level2"
2020-05-12 03:36:55 +08:00
Style="{StaticResource SubtitleTextBlockStyle}"/>
2020-05-16 00:38:47 +08:00
2021-05-21 18:32:34 +08:00
<TextBlock Text="{Binding Mode=TwoWay, Path=RunningAsText}"
2020-10-23 05:37:10 +08:00
TextWrapping="Wrap"
2020-05-12 03:36:55 +08:00
Margin="{StaticResource SmallTopMargin}"/>
2020-05-06 01:02:31 +08:00
<Button x:Uid="GeneralPage_RestartAsAdmin_Button"
Margin="{StaticResource SmallTopMargin}"
Style="{StaticResource AccentButtonStyle}"
2020-08-14 06:02:05 +08:00
Command = "{Binding RestartElevatedButtonEventHandler}"
IsEnabled="{Binding Mode=TwoWay, Path=IsAdminButtonEnabled}"
2020-05-06 01:02:31 +08:00
/>
2020-05-12 03:36:55 +08:00
<TextBlock x:Uid="General_RunAsAdminRequired"
Foreground="{ThemeResource SystemControlErrorTextForegroundBrush}"
2020-10-23 05:37:10 +08:00
TextWrapping="Wrap"
2020-08-14 06:02:05 +08:00
Visibility="{Binding Mode=TwoWay, Path=IsElevated, Converter={StaticResource BoolToVisibilityConverter}}"
2020-05-12 03:36:55 +08:00
Margin="0,24,0,-8" />
2020-05-06 01:02:31 +08:00
2020-05-12 03:36:55 +08:00
<ToggleSwitch Margin="{StaticResource SmallTopMargin}"
x:Uid="GeneralSettings_AlwaysRunAsAdminText"
2020-08-14 06:02:05 +08:00
IsEnabled="{Binding Mode=TwoWay, Path=IsElevated}"
IsOn="{Binding Mode=TwoWay, Path=RunElevated}"/>
2020-07-25 03:02:56 +08:00
2020-07-30 22:11:07 +08:00
<HyperlinkButton NavigateUri="https://aka.ms/powertoysDetectedElevatedHelp">
2020-10-23 05:37:10 +08:00
<TextBlock x:Uid="GeneralPage_ToggleSwitch_AlwaysRunElevated_Link" TextWrapping="Wrap" />
2020-05-12 03:36:55 +08:00
</HyperlinkButton>
<TextBlock x:Uid="ShortcutGuide_Appearance_Behavior"
Style="{StaticResource SettingsGroupTitleStyle}"/>
2020-05-06 01:02:31 +08:00
2020-08-20 02:29:13 +08:00
<!-- Replaced the Radiobuttons parent control with a StackPanel to mitigate the Tab and Arrow key related keyboard navigation issues due to XAML Islands
Tracking issue in the winui repository - https://github.com/microsoft/microsoft-ui-xaml/issues/3156 -->
2020-10-25 21:37:43 +08:00
<TextBlock x:Name="RadioButtons_Name_Theme"
x:Uid="ColorModeHeader"
2020-08-20 02:29:13 +08:00
Margin="{StaticResource SmallTopMargin}"/>
<StackPanel AutomationProperties.LabeledBy="{Binding ElementName=RadioButtons_Name_Theme}">
2020-10-25 21:37:43 +08:00
<RadioButton x:Uid="Radio_Theme_Dark"
2020-08-14 06:02:05 +08:00
IsChecked="{ Binding Mode=TwoWay, Path=IsDarkThemeRadioButtonChecked}"/>
2020-04-18 06:25:08 +08:00
2020-10-25 21:37:43 +08:00
<RadioButton x:Uid="Radio_Theme_Light"
2020-08-14 06:02:05 +08:00
IsChecked="{ Binding Mode=TwoWay, Path=IsLightThemeRadioButtonChecked}"/>
2020-04-18 06:25:08 +08:00
2020-10-25 21:37:43 +08:00
<RadioButton x:Uid="Radio_Theme_Default"
2020-08-14 06:02:05 +08:00
IsChecked="{ Binding Mode=TwoWay, Path=IsSystemThemeRadioButtonChecked}"/>
2021-02-09 19:11:51 +08:00
<HyperlinkButton Click="OpenColorsSettings_Click">
2020-11-05 16:04:26 +08:00
<TextBlock x:Uid="Windows_Color_Settings" />
</HyperlinkButton>
2020-08-20 02:29:13 +08:00
</StackPanel>
2020-07-25 03:02:56 +08:00
2020-05-12 03:36:55 +08:00
<ToggleSwitch x:Uid="GeneralPage_ToggleSwitch_RunAtStartUp"
Margin="{StaticResource SmallTopMargin}"
2020-08-14 06:02:05 +08:00
IsOn="{Binding Mode=TwoWay, Path=Startup}"/>
2020-07-25 03:02:56 +08:00
2020-05-12 03:36:55 +08:00
<TextBlock x:Uid="General_Updates"
2020-07-25 03:02:56 +08:00
Style="{StaticResource SettingsGroupTitleStyle}"/>
2021-05-21 18:32:34 +08:00
<StackPanel Visibility="{Binding PowerToysUpdatingState, Converter={StaticResource UpdatingStateUpToDateToVisibilityConverter}}">
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_Version_UpToDate"
x:Uid="General_Version"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<TextBlock Text="{Binding PowerToysVersion }"
Margin="4,0,0,0"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
</StackPanel>
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_VersionLastChecked}"
Visibility="{Binding AutoUpdatesEnabled, Converter={StaticResource VisibleIfTrueConverter}}">
<TextBlock x:Name="General_VersionLastChecked"
x:Uid="General_VersionLastChecked"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<TextBlock Text="{Binding UpdateCheckedDate, Mode=OneWay}"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"
Margin="6,0" />
</StackPanel>
<TextBlock x:Name="General_CheckingForUpdates"
x:Uid="General_CheckingForUpdates"
Margin="{StaticResource SmallTopMargin}"
Visibility="{Binding IsNewVersionDownloading, Converter={StaticResource VisibleIfTrueConverter}}"/>
<TextBlock x:Name="General_UpToDate"
x:Uid="General_UpToDate"
Margin="{StaticResource SmallTopMargin}"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"
Visibility="{Binding IsNewVersionCheckedAndUpToDate, Converter={StaticResource VisibleIfTrueConverter}}"/>
<Button x:Uid="GeneralPage_CheckForUpdates"
Style="{StaticResource AccentButtonStyle}"
Foreground="White"
2020-08-20 02:29:13 +08:00
Margin="{StaticResource SmallTopMargin}"
2021-05-21 18:32:34 +08:00
Command="{Binding CheckForUpdatesEventHandler}"
IsEnabled="{Binding IsDownloadAllowed}"
/>
</StackPanel>
<StackPanel Visibility="{Binding PowerToysUpdatingState, Converter={StaticResource UpdatingStateReadyToDownloadToVisibilityConverter}}">
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_Version_ReadyToDownload"
x:Uid="General_Version"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<TextBlock Text="{Binding PowerToysVersion }"
Margin="4,0,0,0"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
</StackPanel>
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_NewVersionAvailable"
x:Uid="General_NewVersionAvailable"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<HyperlinkButton NavigateUri="{Binding PowerToysNewAvailableVersionLink }" Margin="4,-6,0,0" IsEnabled="{Binding AutoUpdatesEnabled}">
<TextBlock Text="{Binding PowerToysNewAvailableVersion }" />
</HyperlinkButton>
<HyperlinkButton NavigateUri="{Binding PowerToysNewAvailableVersionLink}"
Margin="4,-6,0,0"
IsEnabled="{Binding AutoUpdatesEnabled}">
<TextBlock x:Name="General_ReadMore_ReadyToDownload" x:Uid="General_ReadMore" />
</HyperlinkButton>
</StackPanel>
<TextBlock x:Name="General_Downloading"
x:Uid="General_Downloading"
Visibility="{Binding Mode=OneWay, Path=IsNewVersionDownloading, Converter={StaticResource VisibleIfTrueConverter}}"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<Button x:Uid="General_DownloadAndInstall"
Margin="{StaticResource SmallTopMargin}"
Style="{StaticResource AccentButtonStyle}"
Foreground="White"
Command="{Binding UpdateNowButtonEventHandler}"
IsEnabled="{Binding IsDownloadAllowed}"/>
2020-05-12 03:36:55 +08:00
</StackPanel>
2020-07-25 03:02:56 +08:00
2021-05-21 18:32:34 +08:00
<StackPanel Visibility="{Binding PowerToysUpdatingState, Converter={StaticResource UpdatingStateReadyToInstallToVisibilityConverter}}">
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_Version_ReadyToInstall"
x:Uid="General_Version"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<TextBlock Text="{Binding PowerToysVersion }"
Margin="4,0,0,0"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
</StackPanel>
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_NewVersionReadyToInstall"
x:Uid="General_NewVersionReadyToInstall"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<HyperlinkButton NavigateUri="{Binding PowerToysNewAvailableVersionLink }" Margin="4,-6,0,0" IsEnabled="{Binding AutoUpdatesEnabled}">
<TextBlock Text="{Binding PowerToysNewAvailableVersion }" />
</HyperlinkButton>
<HyperlinkButton NavigateUri="{Binding PowerToysNewAvailableVersionLink}"
Margin="4,-6,0,0"
IsEnabled="{Binding AutoUpdatesEnabled}">
<TextBlock x:Name="General_ReadMore_ReadyToInstall" x:Uid="General_ReadMore" />
</HyperlinkButton>
</StackPanel>
<Button x:Uid="General_InstallNow"
Margin="{StaticResource SmallTopMargin}"
Style="{StaticResource AccentButtonStyle}"
Foreground="White"
Command="{Binding UpdateNowButtonEventHandler}"
IsEnabled="{Binding AutoUpdatesEnabled}"/>
2020-12-18 00:38:23 +08:00
</StackPanel>
2020-07-25 03:02:56 +08:00
2021-05-21 18:32:34 +08:00
<StackPanel Visibility="{Binding PowerToysUpdatingState, Converter={StaticResource UpdatingStateCannotDownloadToVisibilityConverter}}">
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_Version_Error"
x:Uid="General_Version"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<TextBlock Text="{Binding PowerToysVersion }"
Margin="4,0,0,0"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
</StackPanel>
<StackPanel Orientation="Horizontal"
Margin="{StaticResource SmallTopMargin}"
AutomationProperties.LabeledBy="{Binding ElementName=General_Version}">
<TextBlock x:Name="General_FailedToDownloadTheNewVersion"
x:Uid="General_FailedToDownloadTheNewVersion"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<HyperlinkButton NavigateUri="{Binding PowerToysNewAvailableVersionLink }" Margin="4,-6,0,0" IsEnabled="{Binding AutoUpdatesEnabled}">
<TextBlock Text="{Binding PowerToysNewAvailableVersion }" />
</HyperlinkButton>
</StackPanel>
<TextBlock x:Name="General_Downloading_TryAgain"
x:Uid="General_Downloading"
Visibility="{Binding Mode=OneWay, Path=IsNewVersionDownloading, Converter={StaticResource VisibleIfTrueConverter}}"
Foreground="{Binding AutoUpdatesEnabled, Converter={StaticResource ModuleEnabledToForegroundConverter}}"/>
<Button x:Uid="General_TryAgainToDownloadAndInstall"
Margin="{StaticResource SmallTopMargin}"
Style="{StaticResource AccentButtonStyle}"
Foreground="White"
Command="{Binding UpdateNowButtonEventHandler}"
IsEnabled="{Binding IsDownloadAllowed}"/>
</StackPanel>
2020-05-12 03:36:55 +08:00
<ToggleSwitch x:Uid="GeneralPage_ToggleSwitch_AutoDownloadUpdates"
Margin="{StaticResource MediumTopMargin}"
2020-08-14 06:02:05 +08:00
Visibility="{Binding Mode=TwoWay, Path=IsAdmin, Converter={StaticResource VisibleIfTrueConverter}}"
2021-01-12 23:34:02 +08:00
IsOn="{Binding Mode=TwoWay, Path=AutoDownloadUpdates}"
IsEnabled="{Binding AutoUpdatesEnabled}" />
2020-03-31 20:32:22 +08:00
</StackPanel>
2020-03-12 14:25:24 +08:00
2020-07-25 03:02:56 +08:00
<RelativePanel x:Name="SidePanel"
2020-04-18 06:25:08 +08:00
HorizontalAlignment="Left"
Width="{StaticResource SidePanelWidth}"
Grid.Column="1">
2020-07-25 03:02:56 +08:00
<StackPanel x:Name="DescriptionPanel">
2020-11-11 08:37:17 +08:00
<TextBlock x:Uid="GeneralPage_AboutPowerToysHeader"
x:Name="AboutTitle"
Grid.ColumnSpan="2"
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>
<TextBlock x:Uid="About_PowerToys" TextWrapping="Wrap" />
<TextBlock x:Uid="MadeWithOssLove" TextWrapping="Wrap" Margin="0, 10, 0, 0" />
2020-07-25 03:02:56 +08:00
</StackPanel>
2020-04-18 06:25:08 +08:00
2020-07-25 03:02:56 +08:00
<Border x:Name="AboutImage"
CornerRadius="4"
Grid.Row="2"
MaxWidth="240"
HorizontalAlignment="Left"
Margin="{StaticResource SmallTopBottomMargin}"
RelativePanel.Below="DescriptionPanel">
2021-01-05 02:51:05 +08:00
<HyperlinkButton x:Uid="GeneralPage_ImageHyperlinkToDocs">
<Image x:Uid="PowerToys_Icon" Source="ms-appx:///Assets/Modules/PT.png"/>
</HyperlinkButton>
2020-07-25 03:02:56 +08:00
</Border>
<StackPanel x:Name="LinksPanel"
2020-08-08 03:00:48 +08:00
Margin="0,1,0,0"
2020-07-25 03:02:56 +08:00
RelativePanel.Below="AboutImage"
Orientation="Vertical" >
2021-03-03 01:56:37 +08:00
<HyperlinkButton Click="OobeButton_Click">
<TextBlock x:Uid="Oobe_Button"/>
</HyperlinkButton>
2021-01-05 02:51:05 +08:00
<HyperlinkButton x:Uid="GeneralPage_ImageHyperlinkToDocs">
2020-07-25 03:02:56 +08:00
<TextBlock x:Uid="General_Repository"/>
</HyperlinkButton>
2020-05-06 04:03:48 +08:00
2021-04-06 03:48:02 +08:00
<HyperlinkButton NavigateUri="https://aka.ms/powerToysReportBug">
2020-07-25 03:02:56 +08:00
<TextBlock x:Uid="GeneralPage_ReportAbug"/>
</HyperlinkButton>
2020-05-06 04:03:48 +08:00
2021-04-06 03:48:02 +08:00
<HyperlinkButton NavigateUri="https://aka.ms/powerToysRequestFeature">
2020-07-25 03:02:56 +08:00
<TextBlock x:Uid="GeneralPage_RequestAFeature_URL"/>
</HyperlinkButton>
2020-05-06 04:03:48 +08:00
2020-08-14 06:02:05 +08:00
<HyperlinkButton NavigateUri=" http://go.microsoft.com/fwlink/?LinkId=521839">
2020-07-25 03:02:56 +08:00
<TextBlock x:Uid="GeneralPage_PrivacyStatement_URL"/>
</HyperlinkButton>
2020-05-12 03:36:55 +08:00
2020-07-25 03:02:56 +08:00
<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/blob/master/NOTICE.md">
<TextBlock x:Uid="OpenSource_Notice"/>
</HyperlinkButton>
</StackPanel>
</RelativePanel>
2020-03-12 14:25:24 +08:00
</Grid>
2020-07-25 03:02:56 +08:00
</Page>