From 35504f4e2aacb75d6ccd8f56dfebe5d05b0ec294 Mon Sep 17 00:00:00 2001 From: PankajBhojwani Date: Thu, 27 Jan 2022 16:40:01 -0800 Subject: [PATCH] Update our SUI to follow win 11 guidelines (#11720) ## Summary of the Pull Request Updates our SUI to follow the windows 11 style guidelines. Includes updating our setting containers to follow the 'expander' style. ## PR Checklist * [x] Closes #10631 * [x] Closes #9978 * [x] Closes #9595 * [x] Closes #11231 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here --- .../TerminalSettingsEditor/Actions.xaml | 1 + .../TerminalSettingsEditor/Appearances.xaml | 22 +- .../CommonResources.xaml | 671 +++++++++++++++++- .../GlobalAppearance.xaml | 31 +- .../TerminalSettingsEditor/Interaction.xaml | 31 +- .../TerminalSettingsEditor/Launch.xaml | 67 +- .../TerminalSettingsEditor/MainPage.xaml | 5 +- .../TerminalSettingsEditor/Profiles.xaml | 34 +- .../TerminalSettingsEditor/Rendering.xaml | 6 +- .../Resources/en-US/Resources.resw | 18 +- .../SettingContainer.cpp | 21 + .../TerminalSettingsEditor/SettingContainer.h | 1 + .../SettingContainer.idl | 3 + .../SettingContainerStyle.xaml | 149 +++- 14 files changed, 933 insertions(+), 127 deletions(-) diff --git a/src/cascadia/TerminalSettingsEditor/Actions.xaml b/src/cascadia/TerminalSettingsEditor/Actions.xaml index 35a59cc8f28..83523c27b57 100644 --- a/src/cascadia/TerminalSettingsEditor/Actions.xaml +++ b/src/cascadia/TerminalSettingsEditor/Actions.xaml @@ -376,6 +376,7 @@ diff --git a/src/cascadia/TerminalSettingsEditor/Appearances.xaml b/src/cascadia/TerminalSettingsEditor/Appearances.xaml index 4fe168237d7..5713443db16 100644 --- a/src/cascadia/TerminalSettingsEditor/Appearances.xaml +++ b/src/cascadia/TerminalSettingsEditor/Appearances.xaml @@ -45,7 +45,6 @@ @@ -151,7 +150,8 @@ ClearSettingValue="{x:Bind Appearance.ClearRetroTerminalEffect}" HasSettingValue="{x:Bind Appearance.HasRetroTerminalEffect, Mode=OneWay}" SettingOverrideSource="{x:Bind Appearance.RetroTerminalEffectOverrideSource, Mode=OneWay}"> - + @@ -160,7 +160,8 @@ HasSettingValue="{x:Bind Appearance.HasAdjustIndistinguishableColors, Mode=OneWay}" SettingOverrideSource="{x:Bind Appearance.AdjustIndistinguishableColorsOverrideSource, Mode=OneWay}" Visibility="{x:Bind ShowIndistinguishableColorsItem}"> - + @@ -171,10 +172,10 @@ + SettingOverrideSource="{x:Bind Appearance.CursorShapeOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> + SettingOverrideSource="{x:Bind Appearance.BackgroundImagePathOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> @@ -460,10 +464,10 @@ + SettingOverrideSource="{x:Bind Appearance.IntenseTextStyleOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> - - - - - - - - - @@ -168,4 +146,649 @@ + + diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml index 11df06c5482..2a0bdbcb98a 100644 --- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml +++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml @@ -28,7 +28,6 @@ @@ -41,7 +40,8 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/src/cascadia/TerminalSettingsEditor/Interaction.xaml b/src/cascadia/TerminalSettingsEditor/Interaction.xaml index 8bdf829f65b..8c0e7a08060 100644 --- a/src/cascadia/TerminalSettingsEditor/Interaction.xaml +++ b/src/cascadia/TerminalSettingsEditor/Interaction.xaml @@ -27,13 +27,14 @@ - - + + - + - + - + - + @@ -59,11 +64,13 @@ - + - + - + - + diff --git a/src/cascadia/TerminalSettingsEditor/Launch.xaml b/src/cascadia/TerminalSettingsEditor/Launch.xaml index 8d694f47063..f52668f8b49 100644 --- a/src/cascadia/TerminalSettingsEditor/Launch.xaml +++ b/src/cascadia/TerminalSettingsEditor/Launch.xaml @@ -37,8 +37,7 @@ - + - + + x:Uid="Globals_LaunchMode" + Style="{StaticResource ExpanderSettingContainerStyle}"> - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.xaml b/src/cascadia/TerminalSettingsEditor/MainPage.xaml index e243f34e6f9..a22a8178713 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.xaml +++ b/src/cascadia/TerminalSettingsEditor/MainPage.xaml @@ -130,9 +130,8 @@ diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.xaml b/src/cascadia/TerminalSettingsEditor/Profiles.xaml index 8f3df23f96e..5301a1b1044 100644 --- a/src/cascadia/TerminalSettingsEditor/Profiles.xaml +++ b/src/cascadia/TerminalSettingsEditor/Profiles.xaml @@ -66,7 +66,8 @@ so the name will always be overridden. --> @@ -75,10 +76,11 @@ + SettingOverrideSource="{x:Bind Profile.StartingDirectoryOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> + SettingOverrideSource="{x:Bind Profile.IconOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> + SettingOverrideSource="{x:Bind Profile.TabTitleOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> @@ -279,7 +286,6 @@ @@ -296,7 +302,6 @@ @@ -318,7 +323,8 @@ + SettingOverrideSource="{x:Bind Profile.ScrollStateOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> @@ -424,7 +429,8 @@ + SettingOverrideSource="{x:Bind Profile.AntialiasingModeOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> + SettingOverrideSource="{x:Bind Profile.CloseOnExitOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> + SettingOverrideSource="{x:Bind Profile.BellStyleOverrideSource, Mode=OneWay}" + Style="{StaticResource ExpanderSettingContainerStyle}"> diff --git a/src/cascadia/TerminalSettingsEditor/Rendering.xaml b/src/cascadia/TerminalSettingsEditor/Rendering.xaml index 3746a444c5e..72f39027bca 100644 --- a/src/cascadia/TerminalSettingsEditor/Rendering.xaml +++ b/src/cascadia/TerminalSettingsEditor/Rendering.xaml @@ -25,12 +25,14 @@ - + - + diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw index 45a2f6e0ab8..999bc22e09d 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw @@ -279,22 +279,14 @@ When disabled, the terminal will render only the updates to the screen between frames. A description for what the "force full repaint" setting does. Presented near "Globals_ForceFullRepaint.Header". - + Columns Header for a control to choose the number of columns in the terminal's text grid. - - The number of columns displayed in the window upon first load. Measured in characters. - A description for what the "columns" setting does. Presented near "Globals_InitialCols.Header". - - + Rows Header for a control to choose the number of rows in the terminal's text grid. - - The number of rows displayed in the window upon first load. Measured in characters. - A description for what the "rows" setting does. Presented near "Globals_InitialRows.Header". - Initial Columns Name for a control to choose the number of columns in the terminal's text grid. @@ -1011,10 +1003,14 @@ Thin This is the formal name for a font weight. - + Launch size Header for a group of settings that control the size of the app. Presented near "Globals_InitialCols" and "Globals_InitialRows". + + The number of rows and columns displayed in the window upon first load. Measured in characters. + A description for what the "rows" and "columns" settings do. Presented near "Globals_LaunchSize.Header". + All An option to choose from for the "bell style" setting. When selected, a combination of the other bell styles is used to notify the user. diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp b/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp index 4403827834c..3d1e55c1e83 100644 --- a/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp +++ b/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp @@ -12,6 +12,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation { DependencyProperty SettingContainer::_HeaderProperty{ nullptr }; DependencyProperty SettingContainer::_HelpTextProperty{ nullptr }; + DependencyProperty SettingContainer::_CurrentValueProperty{ nullptr }; DependencyProperty SettingContainer::_HasSettingValueProperty{ nullptr }; DependencyProperty SettingContainer::_SettingOverrideSourceProperty{ nullptr }; @@ -43,6 +44,15 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation xaml_typename(), PropertyMetadata{ box_value(L"") }); } + if (!_CurrentValueProperty) + { + _CurrentValueProperty = + DependencyProperty::Register( + L"CurrentValue", + xaml_typename(), + xaml_typename(), + PropertyMetadata{ box_value(L"") }); + } if (!_HasSettingValueProperty) { _HasSettingValueProperty = @@ -135,6 +145,17 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation } } } + + if (HelpText().empty()) + { + if (const auto& child{ GetTemplateChild(L"HelpTextBlock") }) + { + if (const auto& textBlock{ child.try_as() }) + { + textBlock.Visibility(Visibility::Collapsed); + } + } + } } // Method Description: diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainer.h b/src/cascadia/TerminalSettingsEditor/SettingContainer.h index de9570e7f11..7accd8735b9 100644 --- a/src/cascadia/TerminalSettingsEditor/SettingContainer.h +++ b/src/cascadia/TerminalSettingsEditor/SettingContainer.h @@ -31,6 +31,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation DEPENDENCY_PROPERTY(Windows::Foundation::IInspectable, Header); DEPENDENCY_PROPERTY(hstring, HelpText); + DEPENDENCY_PROPERTY(hstring, CurrentValue); DEPENDENCY_PROPERTY(bool, HasSettingValue); DEPENDENCY_PROPERTY(IInspectable, SettingOverrideSource); TYPED_EVENT(ClearSettingValue, Editor::SettingContainer, Windows::Foundation::IInspectable); diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainer.idl b/src/cascadia/TerminalSettingsEditor/SettingContainer.idl index 3c75cd2dc33..39638ca4fe8 100644 --- a/src/cascadia/TerminalSettingsEditor/SettingContainer.idl +++ b/src/cascadia/TerminalSettingsEditor/SettingContainer.idl @@ -13,6 +13,9 @@ namespace Microsoft.Terminal.Settings.Editor String HelpText; static Windows.UI.Xaml.DependencyProperty HelpTextProperty { get; }; + String CurrentValue; + static Windows.UI.Xaml.DependencyProperty CurrentValueProperty { get; }; + Boolean HasSettingValue; static Windows.UI.Xaml.DependencyProperty HasSettingValueProperty { get; }; diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml b/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml index 717e6e80855..252eaa30a63 100644 --- a/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml +++ b/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml @@ -7,12 +7,39 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="using:Microsoft.Terminal.Settings.Editor" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:muxc="using:Microsoft.UI.Xaml.Controls" mc:Ignorable="d"> - + + + + + + + + + + + + + + + - - - +