/ src / settings-ui / Settings.UI / SettingsXAML / Views / PowerRenamePage.xaml
PowerRenamePage.xaml
  1  <local:NavigablePage
  2      x:Class="Microsoft.PowerToys.Settings.UI.Views.PowerRenamePage"
  3      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5      xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
  6      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  7      xmlns:local="using:Microsoft.PowerToys.Settings.UI.Helpers"
  8      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9      xmlns:tkcontrols="using:CommunityToolkit.WinUI.Controls"
 10      xmlns:tkconverters="using:CommunityToolkit.WinUI.Converters"
 11      xmlns:ui="using:CommunityToolkit.WinUI"
 12      AutomationProperties.LandmarkType="Main"
 13      mc:Ignorable="d">
 14  
 15      <local:NavigablePage.Resources>
 16          <tkconverters:BoolToVisibilityConverter
 17              x:Key="BoolToInvertedVisibilityConverter"
 18              FalseValue="Visible"
 19              TrueValue="Collapsed" />
 20      </local:NavigablePage.Resources>
 21  
 22      <controls:SettingsPageControl x:Uid="PowerRename" ModuleImageSource="ms-appx:///Assets/Settings/Modules/PowerRename.png">
 23          <controls:SettingsPageControl.ModuleContent>
 24              <StackPanel
 25                  x:Name="PowerRenameView"
 26                  ChildrenTransitions="{StaticResource SettingsCardsAnimations}"
 27                  Orientation="Vertical">
 28                  <controls:GPOInfoControl ShowWarning="{x:Bind ViewModel.IsEnabledGpoConfigured, Mode=OneWay}">
 29                      <tkcontrols:SettingsCard
 30                          Name="PowerRenameToggleEnable"
 31                          x:Uid="PowerRename_Toggle_Enable"
 32                          HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/PowerRename.png}">
 33                          <ToggleSwitch
 34                              x:Uid="ToggleSwitch"
 35                              AutomationProperties.Name="{Binding ElementName=PowerRenameToggleEnable, Path=Header}"
 36                              IsOn="{x:Bind ViewModel.IsEnabled, Mode=TwoWay}" />
 37                      </tkcontrols:SettingsCard>
 38                  </controls:GPOInfoControl>
 39                  <controls:SettingsGroup x:Uid="PowerRename_ShellIntegration" IsEnabled="{x:Bind ViewModel.IsEnabled, Mode=OneWay}">
 40                      <tkcontrols:SettingsExpander
 41                          Name="PowerRenameToggleContextMenu"
 42                          x:Uid="PowerRename_Toggle_ContextMenu"
 43                          IsExpanded="False">
 44                          <ComboBox
 45                              MinWidth="{StaticResource SettingActionControlMinWidth}"
 46                              AutomationProperties.Name="{Binding ElementName=PowerRenameToggleContextMenu, Path=Header}"
 47                              SelectedIndex="{x:Bind ViewModel.EnabledOnContextExtendedMenu, Mode=TwoWay, Converter={StaticResource BoolToComboBoxIndexConverter}}">
 48                              <ComboBoxItem x:Uid="PowerRename_Toggle_StandardContextMenu" />
 49                              <ComboBoxItem x:Uid="PowerRename_Toggle_ExtendedContextMenu" />
 50                          </ComboBox>
 51                          <tkcontrols:SettingsExpander.Items>
 52                              <tkcontrols:SettingsCard ContentAlignment="Left">
 53                                  <CheckBox x:Uid="PowerRename_Toggle_HideIcon" IsChecked="{x:Bind ViewModel.EnabledOnContextMenu, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" />
 54                              </tkcontrols:SettingsCard>
 55                          </tkcontrols:SettingsExpander.Items>
 56                      </tkcontrols:SettingsExpander>
 57                      <InfoBar
 58                          x:Uid="ExtendedContextMenuInfo"
 59                          IsClosable="False"
 60                          IsOpen="True"
 61                          IsTabStop="True"
 62                          Severity="Informational" />
 63                  </controls:SettingsGroup>
 64  
 65                  <controls:SettingsGroup x:Uid="PowerRename_AutoCompleteHeader" IsEnabled="{x:Bind ViewModel.IsEnabled, Mode=OneWay}">
 66                      <tkcontrols:SettingsExpander
 67                          Name="PowerRenameToggleAutoComplete"
 68                          x:Uid="PowerRename_Toggle_AutoComplete"
 69                          IsExpanded="True">
 70                          <ToggleSwitch
 71                              x:Uid="ToggleSwitch"
 72                              AutomationProperties.Name="{Binding ElementName=PowerRenameToggleAutoComplete, Path=Header}"
 73                              IsOn="{x:Bind ViewModel.MRUEnabled, Mode=TwoWay}" />
 74                          <tkcontrols:SettingsExpander.Items>
 75                              <tkcontrols:SettingsCard
 76                                  Name="PowerRenameToggleMaxDispListNum"
 77                                  x:Uid="PowerRename_Toggle_MaxDispListNum"
 78                                  IsEnabled="{x:Bind ViewModel.GlobalAndMruEnabled, Mode=OneWay}">
 79                                  <NumberBox
 80                                      MinWidth="{StaticResource SettingActionControlMinWidth}"
 81                                      AutomationProperties.Name="{Binding ElementName=PowerRenameToggleMaxDispListNum, Path=Header}"
 82                                      Maximum="20"
 83                                      Minimum="0"
 84                                      SpinButtonPlacementMode="Compact"
 85                                      Value="{x:Bind ViewModel.MaxDispListNum, Mode=TwoWay}" />
 86                              </tkcontrols:SettingsCard>
 87                          </tkcontrols:SettingsExpander.Items>
 88                      </tkcontrols:SettingsExpander>
 89  
 90                      <tkcontrols:SettingsCard
 91                          Name="PowerRenameToggleRestoreFlagsOnLaunch"
 92                          x:Uid="PowerRename_Toggle_RestoreFlagsOnLaunch"
 93                          HeaderIcon="{ui:FontIcon Glyph=&#xe81c;}">
 94                          <ToggleSwitch
 95                              x:Uid="ToggleSwitch"
 96                              AutomationProperties.Name="{Binding ElementName=PowerRenameToggleRestoreFlagsOnLaunch, Path=Header}"
 97                              IsOn="{x:Bind ViewModel.RestoreFlagsOnLaunch, Mode=TwoWay}" />
 98                      </tkcontrols:SettingsCard>
 99                  </controls:SettingsGroup>
100                  <controls:SettingsGroup x:Uid="PowerRename_BehaviorHeader" IsEnabled="{x:Bind ViewModel.IsEnabled, Mode=OneWay}">
101                      <tkcontrols:SettingsCard Name="PowerRenameToggleUseBoostLib" x:Uid="PowerRename_Toggle_UseBoostLib">
102                          <ToggleSwitch
103                              x:Uid="ToggleSwitch"
104                              AutomationProperties.Name="{Binding ElementName=PowerRenameToggleUseBoostLib, Path=Header}"
105                              IsOn="{x:Bind ViewModel.UseBoostLib, Mode=TwoWay}" />
106                      </tkcontrols:SettingsCard>
107                  </controls:SettingsGroup>
108                  <controls:SettingsGroup x:Uid="PowerRename_ExtensionsHeader" IsEnabled="{x:Bind ViewModel.IsEnabled, Mode=OneWay}">
109                      <tkcontrols:SettingsCard
110                          Name="PowerRenameHeifExtension"
111                          x:Uid="PowerRename_HeifExtension"
112                          HeaderIcon="{ui:FontIcon Glyph=&#xEB9F;}">
113                          <StackPanel Orientation="Horizontal" Spacing="8">
114                              <FontIcon
115                                  VerticalAlignment="Center"
116                                  Foreground="{ThemeResource SystemFillColorSuccessBrush}"
117                                  Glyph="&#xEC61;"
118                                  Visibility="{x:Bind ViewModel.IsHeifExtensionInstalled, Mode=OneWay}" />
119                              <TextBlock
120                                  x:Uid="PowerRename_HeifExtension_Installed"
121                                  VerticalAlignment="Center"
122                                  Visibility="{x:Bind ViewModel.IsHeifExtensionInstalled, Mode=OneWay}" />
123                              <Button
124                                  x:Uid="PowerRename_HeifExtension_Install"
125                                  Command="{x:Bind ViewModel.InstallHeifExtensionCommand}"
126                                  Visibility="{x:Bind ViewModel.IsHeifExtensionInstalled, Mode=OneWay, Converter={StaticResource BoolToInvertedVisibilityConverter}}" />
127                          </StackPanel>
128                      </tkcontrols:SettingsCard>
129                      <tkcontrols:SettingsCard
130                          Name="PowerRenameAvifExtension"
131                          x:Uid="PowerRename_AvifExtension"
132                          HeaderIcon="{ui:FontIcon Glyph=&#xEB9F;}">
133                          <StackPanel Orientation="Horizontal" Spacing="8">
134                              <FontIcon
135                                  VerticalAlignment="Center"
136                                  Foreground="{ThemeResource SystemFillColorSuccessBrush}"
137                                  Glyph="&#xEC61;"
138                                  Visibility="{x:Bind ViewModel.IsAvifExtensionInstalled, Mode=OneWay}" />
139                              <TextBlock
140                                  x:Uid="PowerRename_AvifExtension_Installed"
141                                  VerticalAlignment="Center"
142                                  Visibility="{x:Bind ViewModel.IsAvifExtensionInstalled, Mode=OneWay}" />
143                              <Button
144                                  x:Uid="PowerRename_AvifExtension_Install"
145                                  Command="{x:Bind ViewModel.InstallAvifExtensionCommand}"
146                                  Visibility="{x:Bind ViewModel.IsAvifExtensionInstalled, Mode=OneWay, Converter={StaticResource BoolToInvertedVisibilityConverter}}" />
147                          </StackPanel>
148                      </tkcontrols:SettingsCard>
149                  </controls:SettingsGroup>
150              </StackPanel>
151          </controls:SettingsPageControl.ModuleContent>
152  
153          <controls:SettingsPageControl.PrimaryLinks>
154              <controls:PageLink x:Uid="LearnMore_PowerRename" Link="https://aka.ms/PowerToysOverview_PowerRename" />
155          </controls:SettingsPageControl.PrimaryLinks>
156          <controls:SettingsPageControl.SecondaryLinks>
157              <controls:PageLink Link="https://github.com/chrdavis/SmartRename" Text="Chris Davis's SmartRenamer" />
158          </controls:SettingsPageControl.SecondaryLinks>
159      </controls:SettingsPageControl>
160  </local:NavigablePage>