mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-08 04:07:40 +02:00
[Settings] New Settings controls, XAML formatting and cleanup (#21317)
* Awake * Always On Top * ColorPicker * FancyZones * FancyZones * Hosts file editor * ImageResizer * Update ImageResizerPage.xaml * KBM * General * Update MeasureToolPage.xaml * Mouse utils * PowerAccent * Run * PowerOCR * File preview * PowerRename * Shortcut Guide * VCM * XAML styler * Update ShellPage.xaml * XAML formatting and cleanup * Moving converters * Update App.xaml * XAML formatting * XAML formatting * Fixes * XAML formatting * Image resizer updates * Color picker page and margin tweaks * Update PowerLauncherPage.xaml * Tweaks based on Jay's feedback * Resolve conflicts * Add labs source to unit tests * Fix feedback * Fix KBM bug * Infobar fix * Fixes * Resolve conflicts * Add converter
This commit is contained in:
@@ -1,139 +1,162 @@
|
||||
<Page
|
||||
x:Class="Microsoft.PowerToys.Settings.UI.Views.PowerAccentPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:converters="using:CommunityToolkit.WinUI.UI.Converters"
|
||||
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
|
||||
mc:Ignorable="d"
|
||||
AutomationProperties.LandmarkType="Main">
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:labs="using:CommunityToolkit.Labs.WinUI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="using:CommunityToolkit.WinUI.UI"
|
||||
AutomationProperties.LandmarkType="Main"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Page.Resources>
|
||||
<converters:BoolNegationConverter x:Key="BoolNegationConverter"/>
|
||||
</Page.Resources>
|
||||
|
||||
<controls:SettingsPageControl x:Uid="QuickAccent" IsTabStop="False"
|
||||
ModuleImageSource="ms-appx:///Assets/Modules/PowerAccent.png">
|
||||
<controls:SettingsPageControl
|
||||
x:Uid="QuickAccent"
|
||||
IsTabStop="False"
|
||||
ModuleImageSource="ms-appx:///Assets/Modules/PowerAccent.png">
|
||||
<controls:SettingsPageControl.ModuleContent>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<labs:SettingsCard
|
||||
x:Uid="QuickAccent_EnableQuickAccent"
|
||||
HeaderIcon="{ui:BitmapIcon Source=/Assets/FluentIcons/FluentIconsPowerAccent.png}"
|
||||
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured, Converter={StaticResource BoolNegationConverter}}">
|
||||
<ToggleSwitch
|
||||
x:Uid="ToggleSwitch"
|
||||
IsOn="{x:Bind ViewModel.IsEnabled, Mode=TwoWay}" />
|
||||
</labs:SettingsCard>
|
||||
|
||||
<controls:Setting x:Uid="QuickAccent_EnableQuickAccent" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured, Converter={StaticResource BoolNegationConverter}}">
|
||||
<controls:Setting.Icon>
|
||||
<BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsPowerAccent.png" ShowAsMonochrome="False" />
|
||||
</controls:Setting.Icon>
|
||||
<controls:Setting.ActionContent>
|
||||
<ToggleSwitch IsOn="{x:Bind ViewModel.IsEnabled, Mode=TwoWay}" x:Uid="ToggleSwitch" HorizontalAlignment="Right"/>
|
||||
</controls:Setting.ActionContent>
|
||||
</controls:Setting>
|
||||
<InfoBar x:Uid="GPO_IsSettingForced"
|
||||
Severity="Informational"
|
||||
<InfoBar
|
||||
x:Uid="GPO_IsSettingForced"
|
||||
IsClosable="False"
|
||||
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}"
|
||||
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}" />
|
||||
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}"
|
||||
Severity="Informational" />
|
||||
|
||||
<controls:SettingsGroup x:Uid="QuickAccent_Activation_GroupSettings" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
|
||||
<controls:Setting x:Uid="QuickAccent_Activation_Shortcut" Icon="">
|
||||
<controls:Setting.ActionContent>
|
||||
<ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SelectedIndex="{x:Bind Path=ViewModel.ActivationKey, Mode=TwoWay}" >
|
||||
<ComboBoxItem x:Uid="QuickAccent_Activation_Key_Arrows"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_Activation_Key_Space"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_Activation_Key_Either"/>
|
||||
</ComboBox>
|
||||
</controls:Setting.ActionContent>
|
||||
</controls:Setting>
|
||||
<controls:SettingsGroup
|
||||
x:Uid="QuickAccent_Activation_GroupSettings"
|
||||
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
|
||||
<labs:SettingsCard
|
||||
x:Uid="QuickAccent_Activation_Shortcut"
|
||||
HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
|
||||
Glyph=}">
|
||||
<ComboBox
|
||||
MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SelectedIndex="{x:Bind Path=ViewModel.ActivationKey, Mode=TwoWay}">
|
||||
<ComboBoxItem x:Uid="QuickAccent_Activation_Key_Arrows" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_Activation_Key_Space" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_Activation_Key_Either" />
|
||||
</ComboBox>
|
||||
</labs:SettingsCard>
|
||||
</controls:SettingsGroup>
|
||||
|
||||
<controls:SettingsGroup x:Uid="QuickAccent_Language" IsEnabled="{Binding Mode=OneWay, Path=IsEnabled}">
|
||||
<controls:Setting x:Uid="QuickAccent_SelectedLanguage" Icon="">
|
||||
<controls:Setting.ActionContent>
|
||||
<ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SelectedIndex="{x:Bind Path=ViewModel.SelectedLangIndex, Mode=TwoWay}" >
|
||||
<!-- These should be in the same order as the array items in PowerAccentViewModel.cs -->
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_All"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Currency"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Croatian"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Czech"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Dutch"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_French"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_German"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Hungarian"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Icelandic"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Italian"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Maori"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Pinyin"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Polish"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Portuguese"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Romanian"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Slovakian"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Spanish"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Swedish"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Turkish"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Welsh"/>
|
||||
</ComboBox>
|
||||
</controls:Setting.ActionContent>
|
||||
</controls:Setting>
|
||||
<controls:SettingsGroup
|
||||
x:Uid="QuickAccent_Language"
|
||||
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
|
||||
<labs:SettingsCard
|
||||
x:Uid="QuickAccent_SelectedLanguage"
|
||||
HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
|
||||
Glyph=}">
|
||||
<ComboBox
|
||||
MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SelectedIndex="{x:Bind Path=ViewModel.SelectedLangIndex, Mode=TwoWay}">
|
||||
<!-- These should be in the same order as the array items in PowerAccentViewModel.cs -->
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_All" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Currency" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Croatian" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Czech" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Dutch" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_French" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_German" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Hungarian" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Icelandic" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Italian" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Maori" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Pinyin" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Polish" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Portuguese" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Romanian" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Slovakian" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Spanish" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Swedish" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Turkish" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Welsh" />
|
||||
</ComboBox>
|
||||
</labs:SettingsCard>
|
||||
</controls:SettingsGroup>
|
||||
|
||||
<controls:SettingsGroup x:Uid="QuickAccent_Toolbar" IsEnabled="{Binding Mode=OneWay, Path=IsEnabled}">
|
||||
<controls:Setting x:Uid="QuickAccent_ToolbarPosition" Icon="">
|
||||
<controls:Setting.ActionContent>
|
||||
<ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SelectedIndex="{x:Bind Path=ViewModel.ToolbarPositionIndex, Mode=TwoWay}" >
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_TopCenter"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_BottomCenter"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_Left"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_Right"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_TopRightCorner"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_TopLeftCorner"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_BottomRightCorner"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_BottomLeftCorner"/>
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_Center"/>
|
||||
</ComboBox>
|
||||
</controls:Setting.ActionContent>
|
||||
</controls:Setting>
|
||||
<controls:SettingsGroup
|
||||
x:Uid="QuickAccent_Toolbar"
|
||||
IsEnabled="{Binding Mode=OneWay, Path=IsEnabled}">
|
||||
<labs:SettingsCard
|
||||
x:Uid="QuickAccent_ToolbarPosition"
|
||||
HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
|
||||
Glyph=}">
|
||||
<ComboBox
|
||||
MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SelectedIndex="{x:Bind Path=ViewModel.ToolbarPositionIndex, Mode=TwoWay}">
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_TopCenter" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_BottomCenter" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_Left" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_Right" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_TopRightCorner" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_TopLeftCorner" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_BottomRightCorner" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_BottomLeftCorner" />
|
||||
<ComboBoxItem x:Uid="QuickAccent_ToolbarPosition_Center" />
|
||||
</ComboBox>
|
||||
</labs:SettingsCard>
|
||||
</controls:SettingsGroup>
|
||||
|
||||
<controls:SettingsGroup x:Uid="QuickAccent_Behavior" IsEnabled="{Binding Mode=OneWay, Path=IsEnabled}">
|
||||
<controls:Setting x:Uid="QuickAccent_InputTimeMs" Icon="">
|
||||
<controls:Setting.ActionContent>
|
||||
<NumberBox Minimum="100"
|
||||
Value="{x:Bind Mode=TwoWay, Path=ViewModel.InputTimeMs}"
|
||||
MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
SpinButtonPlacementMode="Compact"
|
||||
HorizontalAlignment="Left"
|
||||
SmallChange="10"
|
||||
LargeChange="100"/>
|
||||
</controls:Setting.ActionContent>
|
||||
</controls:Setting>
|
||||
<controls:SettingExpander IsExpanded="False">
|
||||
<controls:SettingExpander.Header>
|
||||
<controls:Setting x:Uid="QuickAccent_ExcludedApps" Icon="" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}" Style="{StaticResource ExpanderHeaderSettingStyle}"/>
|
||||
</controls:SettingExpander.Header>
|
||||
<controls:SettingExpander.Content>
|
||||
<TextBox x:Uid="QuickAccent_ExcludedApps_TextBoxControl"
|
||||
Margin="{StaticResource ExpanderSettingMargin}"
|
||||
Text="{x:Bind Mode=TwoWay, Path=ViewModel.ExcludedApps, UpdateSourceTrigger=PropertyChanged}"
|
||||
ScrollViewer.VerticalScrollBarVisibility ="Visible"
|
||||
ScrollViewer.VerticalScrollMode="Enabled"
|
||||
ScrollViewer.IsVerticalRailEnabled="True"
|
||||
TextWrapping="Wrap"
|
||||
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}"
|
||||
AcceptsReturn="True"
|
||||
|
||||
<controls:SettingsGroup
|
||||
x:Uid="QuickAccent_Behavior"
|
||||
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
|
||||
<labs:SettingsCard
|
||||
x:Uid="QuickAccent_InputTimeMs"
|
||||
HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
|
||||
Glyph=}">
|
||||
<NumberBox
|
||||
MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
LargeChange="100"
|
||||
Minimum="100"
|
||||
SmallChange="10"
|
||||
SpinButtonPlacementMode="Compact"
|
||||
Value="{x:Bind Mode=TwoWay, Path=ViewModel.InputTimeMs}" />
|
||||
</labs:SettingsCard>
|
||||
|
||||
<labs:SettingsExpander
|
||||
x:Uid="QuickAccent_ExcludedApps"
|
||||
HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
|
||||
Glyph=}">
|
||||
<labs:SettingsExpander.Items>
|
||||
<labs:SettingsCard
|
||||
HorizontalContentAlignment="Stretch"
|
||||
ContentAlignment="Vertical">
|
||||
<TextBox
|
||||
x:Uid="QuickAccent_ExcludedApps_TextBoxControl"
|
||||
MinWidth="240"
|
||||
MinHeight="160" />
|
||||
</controls:SettingExpander.Content>
|
||||
</controls:SettingExpander>
|
||||
MinHeight="160"
|
||||
AcceptsReturn="True"
|
||||
ScrollViewer.IsVerticalRailEnabled="True"
|
||||
ScrollViewer.VerticalScrollBarVisibility="Visible"
|
||||
ScrollViewer.VerticalScrollMode="Enabled"
|
||||
Text="{x:Bind Mode=TwoWay, Path=ViewModel.ExcludedApps, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap" />
|
||||
</labs:SettingsCard>
|
||||
</labs:SettingsExpander.Items>
|
||||
</labs:SettingsExpander>
|
||||
</controls:SettingsGroup>
|
||||
</StackPanel>
|
||||
</controls:SettingsPageControl.ModuleContent>
|
||||
|
||||
<controls:SettingsPageControl.PrimaryLinks>
|
||||
<controls:PageLink x:Uid="LearnMore_QuickAccent" Link="https://aka.ms/PowerToysOverview_QuickAccent"/>
|
||||
<controls:PageLink
|
||||
x:Uid="LearnMore_QuickAccent"
|
||||
Link="https://aka.ms/PowerToysOverview_QuickAccent" />
|
||||
</controls:SettingsPageControl.PrimaryLinks>
|
||||
<controls:SettingsPageControl.SecondaryLinks>
|
||||
<controls:PageLink Text="Damien Leroy's PowerAccent" Link="https://github.com/damienleroy/PowerAccent"/>
|
||||
<controls:PageLink
|
||||
Link="https://github.com/damienleroy/PowerAccent"
|
||||
Text="Damien Leroy's PowerAccent" />
|
||||
</controls:SettingsPageControl.SecondaryLinks>
|
||||
</controls:SettingsPageControl>
|
||||
</Page>
|
||||
|
||||
Reference in New Issue
Block a user