mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 17:56:44 +02:00
* Added option to toggle the system tray icon At the moment, this hides the icon making the settings window inaccessible without first modifying the general `settings.json` file. * Use IPC messages to manage the tray icon settings * Fix launching second window binds to active settings process * Added context menu option to hide tray icon * Added Exit PT button to settings ui NavigationView.PaneFooter * Moved DllImports to NativeMethods.cs * Sentence case titles * Fix whitespace * Re-add exit icon to NavView * Re-added toggle switch to new UI * Fix build * Fix build after merge main * Fix the string to display * add shut down buttons * finish polish * fix string * Styling tweaks to titlebar and settingscards * fix comment * fix unit test * fix ut --------- Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: vanzue <vanzue@outlook.com> Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
314 lines
16 KiB
XML
314 lines
16 KiB
XML
<UserControl
|
|
x:Class="Microsoft.PowerToys.Settings.UI.Views.ShellPage"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:animatedvisuals="using:Microsoft.UI.Xaml.Controls.AnimatedVisuals"
|
|
xmlns:animations="using:CommunityToolkit.WinUI.Animations"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:helpers="using:Microsoft.PowerToys.Settings.UI.Helpers"
|
|
xmlns:i="using:Microsoft.Xaml.Interactivity"
|
|
xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:ui="using:CommunityToolkit.WinUI"
|
|
xmlns:views="using:Microsoft.PowerToys.Settings.UI.Views"
|
|
HighContrastAdjustment="None"
|
|
Loaded="ShellPage_Loaded"
|
|
mc:Ignorable="d">
|
|
|
|
<i:Interaction.Behaviors>
|
|
<ic:EventTriggerBehavior EventName="Loaded">
|
|
<ic:InvokeCommandAction Command="{x:Bind ViewModel.LoadedCommand}" />
|
|
</ic:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
|
|
<Grid x:Name="RootGrid">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="48" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Button
|
|
x:Name="PaneToggleBtn"
|
|
Width="48"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
Click="PaneToggleBtn_Click"
|
|
Style="{StaticResource PaneToggleButtonStyle}" />
|
|
<Grid
|
|
x:Name="AppTitleBar"
|
|
Height="{Binding ElementName=navigationView, Path=CompactPaneLength}"
|
|
Margin="48,0,0,0"
|
|
VerticalAlignment="Top"
|
|
IsHitTestVisible="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition x:Name="LeftTitleBarColumn" Width="*" />
|
|
<ColumnDefinition x:Name="RightTitleBarColumn" Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<animations:Implicit.Animations>
|
|
<animations:OffsetAnimation Duration="0:0:0.3" />
|
|
</animations:Implicit.Animations>
|
|
<StackPanel
|
|
Grid.Column="0"
|
|
HorizontalAlignment="Left"
|
|
Orientation="Horizontal">
|
|
<Image
|
|
Width="16"
|
|
Height="16"
|
|
HorizontalAlignment="Left"
|
|
Source="/Assets/Settings/icon.ico" />
|
|
<TextBlock
|
|
x:Name="AppTitleBarText"
|
|
Margin="12,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
TextWrapping="NoWrap" />
|
|
<TextBlock
|
|
x:Name="DebugMessage"
|
|
Margin="8,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
Text="Debug"
|
|
TextWrapping="NoWrap"
|
|
Visibility="Collapsed" />
|
|
</StackPanel>
|
|
<StackPanel
|
|
Grid.Column="1"
|
|
Margin="0,0,148,0"
|
|
HorizontalAlignment="Right"
|
|
Orientation="Horizontal">
|
|
<Button
|
|
x:Name="ShutDownBtn"
|
|
Height="48"
|
|
Click="ExitPTItem_Tapped"
|
|
Style="{StaticResource SubtleButtonStyle}">
|
|
<FontIcon FontSize="16" Glyph="" />
|
|
<ToolTipService.ToolTip>
|
|
<ToolTip>
|
|
<TextBlock x:Uid="AppTitleBarShutDown_Tooltip" />
|
|
</ToolTip>
|
|
</ToolTipService.ToolTip>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
<NavigationView
|
|
x:Name="navigationView"
|
|
Grid.Row="1"
|
|
Canvas.ZIndex="0"
|
|
CompactModeThresholdWidth="1007"
|
|
DisplayModeChanged="NavigationView_DisplayModeChanged"
|
|
ExpandedModeThresholdWidth="1007"
|
|
IsBackButtonVisible="Collapsed"
|
|
IsBackEnabled="{x:Bind ViewModel.IsBackEnabled, Mode=OneWay}"
|
|
IsPaneToggleButtonVisible="False"
|
|
IsSettingsVisible="False"
|
|
IsTitleBarAutoPaddingEnabled="False"
|
|
PaneClosed="NavigationView_PaneClosed"
|
|
PaneOpened="NavigationView_PaneOpened"
|
|
SelectedItem="{x:Bind ViewModel.Selected, Mode=OneWay}"
|
|
SelectionChanged="NavigationView_SelectionChanged">
|
|
<NavigationView.Resources>
|
|
<SolidColorBrush x:Key="NavigationViewContentBackground" Color="Transparent" />
|
|
<SolidColorBrush x:Key="NavigationViewContentGridBorderBrush" Color="Transparent" />
|
|
</NavigationView.Resources>
|
|
<NavigationView.MenuItems>
|
|
<NavigationViewItem
|
|
x:Uid="Shell_Dashboard"
|
|
helpers:NavHelper.NavigateTo="views:DashboardPage"
|
|
Icon="{ui:FontIcon Glyph=}" />
|
|
|
|
<NavigationViewItem x:Uid="Shell_General" helpers:NavHelper.NavigateTo="views:GeneralPage">
|
|
<NavigationViewItem.Icon>
|
|
<AnimatedIcon>
|
|
<AnimatedIcon.Source>
|
|
<animatedvisuals:AnimatedSettingsVisualSource />
|
|
</AnimatedIcon.Source>
|
|
<AnimatedIcon.FallbackIconSource>
|
|
<SymbolIconSource Symbol="Setting" />
|
|
</AnimatedIcon.FallbackIconSource>
|
|
</AnimatedIcon>
|
|
</NavigationViewItem.Icon>
|
|
</NavigationViewItem>
|
|
<NavigationViewItemSeparator />
|
|
|
|
<!-- System Tools -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_TopLevelSystemTools"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/SystemTools.png}"
|
|
SelectsOnInvoked="False">
|
|
<NavigationViewItem.MenuItems>
|
|
<NavigationViewItem
|
|
x:Uid="Shell_AdvancedPaste"
|
|
helpers:NavHelper.NavigateTo="views:AdvancedPastePage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/AdvancedPaste.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_Awake"
|
|
helpers:NavHelper.NavigateTo="views:AwakePage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/Awake.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_CmdPal"
|
|
helpers:NavHelper.NavigateTo="views:CmdPalPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/CmdPal.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_ColorPicker"
|
|
helpers:NavHelper.NavigateTo="views:ColorPickerPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/ColorPicker.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_PowerLauncher"
|
|
helpers:NavHelper.NavigateTo="views:PowerLauncherPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/PowerToysRun.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_MeasureTool"
|
|
helpers:NavHelper.NavigateTo="views:MeasureToolPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/ScreenRuler.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_ShortcutGuide"
|
|
helpers:NavHelper.NavigateTo="views:ShortcutGuidePage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/ShortcutGuide.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_TextExtractor"
|
|
helpers:NavHelper.NavigateTo="views:PowerOcrPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/TextExtractor.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_ZoomIt"
|
|
helpers:NavHelper.NavigateTo="views:ZoomItPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/ZoomIt.png}" />
|
|
</NavigationViewItem.MenuItems>
|
|
</NavigationViewItem>
|
|
|
|
<!-- Windowing & Layouts -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_TopLevelWindowsAndLayouts "
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/WindowingAndLayouts.png}"
|
|
SelectsOnInvoked="False">
|
|
<NavigationViewItem.MenuItems>
|
|
<NavigationViewItem
|
|
x:Uid="Shell_AlwaysOnTop"
|
|
helpers:NavHelper.NavigateTo="views:AlwaysOnTopPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/AlwaysOnTop.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_CropAndLock"
|
|
helpers:NavHelper.NavigateTo="views:CropAndLockPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/CropAndLock.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_FancyZones"
|
|
helpers:NavHelper.NavigateTo="views:FancyZonesPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/FancyZones.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_Workspaces"
|
|
helpers:NavHelper.NavigateTo="views:WorkspacesPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/Workspaces.png}" />
|
|
</NavigationViewItem.MenuItems>
|
|
</NavigationViewItem>
|
|
|
|
<!-- Input / Output -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_TopLevelInputOutput"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/InputOutput.png}"
|
|
SelectsOnInvoked="False">
|
|
<NavigationViewItem.MenuItems>
|
|
<NavigationViewItem
|
|
x:Uid="Shell_KeyboardManager"
|
|
helpers:NavHelper.NavigateTo="views:KeyboardManagerPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/KeyboardManager.png}" />
|
|
<!-- Find my mouse -->
|
|
<!-- Mouse Highlighter -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_MouseUtilities"
|
|
helpers:NavHelper.NavigateTo="views:MouseUtilsPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/MouseUtils.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_MouseWithoutBorders"
|
|
helpers:NavHelper.NavigateTo="views:MouseWithoutBordersPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/MouseWithoutBorders.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_QuickAccent"
|
|
helpers:NavHelper.NavigateTo="views:PowerAccentPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/QuickAccent.png}" />
|
|
</NavigationViewItem.MenuItems>
|
|
</NavigationViewItem>
|
|
|
|
<!-- File Management -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_TopLevelFileManagement"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/FileManagement.png}"
|
|
SelectsOnInvoked="False">
|
|
<NavigationViewItem.MenuItems>
|
|
<NavigationViewItem
|
|
x:Uid="Shell_PowerPreview"
|
|
helpers:NavHelper.NavigateTo="views:PowerPreviewPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/FileExplorerPreview.png}" />
|
|
<!-- File Explorer Thumbnails -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_FileLocksmith"
|
|
helpers:NavHelper.NavigateTo="views:FileLocksmithPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/FileLocksmith.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_ImageResizer"
|
|
helpers:NavHelper.NavigateTo="views:ImageResizerPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/ImageResizer.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="NewPlus_Product_Name"
|
|
helpers:NavHelper.NavigateTo="views:NewPlusPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/NewPlus.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_Peek"
|
|
helpers:NavHelper.NavigateTo="views:PeekPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/Peek.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_PowerRename"
|
|
helpers:NavHelper.NavigateTo="views:PowerRenamePage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/PowerRename.png}" />
|
|
</NavigationViewItem.MenuItems>
|
|
</NavigationViewItem>
|
|
|
|
<!-- Advanced -->
|
|
<NavigationViewItem
|
|
x:Uid="Shell_TopLevelAdvanced"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/Advanced.png}"
|
|
SelectsOnInvoked="False">
|
|
<NavigationViewItem.MenuItems>
|
|
<NavigationViewItem
|
|
x:Uid="Shell_CmdNotFound"
|
|
helpers:NavHelper.NavigateTo="views:CmdNotFoundPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/CommandNotFound.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_EnvironmentVariables"
|
|
helpers:NavHelper.NavigateTo="views:EnvironmentVariablesPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/EnvironmentVariables.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_Hosts"
|
|
helpers:NavHelper.NavigateTo="views:HostsPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/Hosts.png}" />
|
|
<NavigationViewItem
|
|
x:Uid="Shell_RegistryPreview"
|
|
helpers:NavHelper.NavigateTo="views:RegistryPreviewPage"
|
|
Icon="{ui:BitmapIcon Source=/Assets/Settings/Icons/RegistryPreview.png}" />
|
|
</NavigationViewItem.MenuItems>
|
|
</NavigationViewItem>
|
|
</NavigationView.MenuItems>
|
|
<NavigationView.PaneFooter>
|
|
<StackPanel Orientation="Vertical">
|
|
<NavigationViewItem
|
|
x:Uid="OOBE_NavViewItem"
|
|
Icon="{ui:FontIcon Glyph=}"
|
|
Tapped="OOBEItem_Tapped" />
|
|
<NavigationViewItem
|
|
x:Uid="WhatIsNew_NavViewItem"
|
|
Icon="{ui:FontIcon Glyph=}"
|
|
Tapped="WhatIsNewItem_Tapped" />
|
|
<NavigationViewItem
|
|
x:Uid="Feedback_NavViewItem"
|
|
Icon="{ui:FontIcon Glyph=}"
|
|
Tapped="FeedbackItem_Tapped" />
|
|
</StackPanel>
|
|
</NavigationView.PaneFooter>
|
|
<i:Interaction.Behaviors>
|
|
<ic:EventTriggerBehavior EventName="ItemInvoked">
|
|
<ic:InvokeCommandAction Command="{x:Bind ViewModel.ItemInvokedCommand}" />
|
|
</ic:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
<Frame x:Name="shellFrame" />
|
|
</NavigationView>
|
|
</Grid>
|
|
</UserControl>
|