Add missing settings to the settings UI (#8774)
Adds the tab switcher mode setting and copy format setting to the SUI Closes #8755
This commit is contained in:
parent
9905bd5f09
commit
f7b5ff322a
|
@ -55,6 +55,13 @@ the MIT License. See LICENSE in the project root for license information. -->
|
|||
Style="{StaticResource CheckBoxSettingStyle}"/>
|
||||
</ContentPresenter>
|
||||
|
||||
<!--Always on Top-->
|
||||
<ContentPresenter Style="{StaticResource SettingContainerStyle}">
|
||||
<CheckBox x:Uid="Globals_AlwaysOnTop"
|
||||
IsChecked="{x:Bind State.Globals.AlwaysOnTop, Mode=TwoWay}"
|
||||
Style="{StaticResource CheckBoxSettingStyle}"/>
|
||||
</ContentPresenter>
|
||||
|
||||
<!--Tab Width Mode-->
|
||||
<ContentPresenter Style="{StaticResource SettingContainerStyle}">
|
||||
<muxc:RadioButtons x:Uid="Globals_TabWidthMode"
|
||||
|
|
|
@ -5,14 +5,19 @@
|
|||
#include "Interaction.h"
|
||||
#include "Interaction.g.cpp"
|
||||
#include "InteractionPageNavigationState.g.cpp"
|
||||
#include "EnumEntry.h"
|
||||
|
||||
using namespace winrt::Windows::UI::Xaml::Navigation;
|
||||
using namespace winrt::Microsoft::Terminal::Settings::Model;
|
||||
|
||||
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
{
|
||||
Interaction::Interaction()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
INITIALIZE_BINDABLE_ENUM_SETTING(TabSwitcherMode, TabSwitcherMode, TabSwitcherMode, L"Globals_TabSwitcherMode", L"Content");
|
||||
INITIALIZE_BINDABLE_ENUM_SETTING(CopyFormat, CopyFormat, winrt::Microsoft::Terminal::TerminalControl::CopyFormat, L"Globals_CopyFormat", L"Content");
|
||||
}
|
||||
|
||||
void Interaction::OnNavigatedTo(const NavigationEventArgs& e)
|
||||
|
|
|
@ -25,6 +25,9 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
|||
void OnNavigatedTo(const winrt::Windows::UI::Xaml::Navigation::NavigationEventArgs& e);
|
||||
|
||||
GETSET_PROPERTY(Editor::InteractionPageNavigationState, State, nullptr);
|
||||
|
||||
GETSET_BINDABLE_ENUM_SETTING(TabSwitcherMode, Model::TabSwitcherMode, State().Globals, TabSwitcherMode);
|
||||
GETSET_BINDABLE_ENUM_SETTING(CopyFormat, winrt::Microsoft::Terminal::TerminalControl::CopyFormat, State().Globals, CopyFormatting);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass InteractionPageNavigationState
|
||||
|
@ -12,5 +14,11 @@ namespace Microsoft.Terminal.Settings.Editor
|
|||
{
|
||||
Interaction();
|
||||
InteractionPageNavigationState State { get; };
|
||||
|
||||
IInspectable CurrentTabSwitcherMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TabSwitcherModeList { get; };
|
||||
|
||||
IInspectable CurrentCopyFormat;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CopyFormatList { get; };
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,8 +4,10 @@ the MIT License. See LICENSE in the project root for license information. -->
|
|||
x:Class="Microsoft.Terminal.Settings.Editor.Interaction"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:Microsoft.Terminal.Settings.Editor"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Page.Resources>
|
||||
|
@ -13,6 +15,11 @@ the MIT License. See LICENSE in the project root for license information. -->
|
|||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="CommonResources.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<DataTemplate x:DataType="local:EnumEntry" x:Key="EnumRadioButtonTemplate">
|
||||
<RadioButton Content="{x:Bind EnumName, Mode=OneWay}"
|
||||
Style="{StaticResource RadioButtonSettingStyle}"/>
|
||||
</DataTemplate>
|
||||
</ResourceDictionary>
|
||||
</Page.Resources>
|
||||
|
||||
|
@ -25,6 +32,15 @@ the MIT License. See LICENSE in the project root for license information. -->
|
|||
Style="{StaticResource CheckBoxSettingStyle}"/>
|
||||
</ContentPresenter>
|
||||
|
||||
<!--Copy Format-->
|
||||
<ContentPresenter Style="{StaticResource SettingContainerStyle}">
|
||||
<muxc:RadioButtons x:Uid="Globals_CopyFormat"
|
||||
ItemsSource="{x:Bind CopyFormatList, Mode=OneWay}"
|
||||
SelectedItem="{x:Bind CurrentCopyFormat, Mode=TwoWay}"
|
||||
ItemTemplate="{StaticResource EnumRadioButtonTemplate}"
|
||||
Style="{StaticResource RadioButtonsSettingStyle}"/>
|
||||
</ContentPresenter>
|
||||
|
||||
<!--Word Delimiters-->
|
||||
<ContentPresenter Style="{StaticResource SettingContainerStyle}">
|
||||
<TextBox x:Uid="Globals_WordDelimiters"
|
||||
|
@ -38,6 +54,15 @@ the MIT License. See LICENSE in the project root for license information. -->
|
|||
IsChecked="{x:Bind State.Globals.SnapToGridOnResize, Mode=TwoWay}"
|
||||
Style="{StaticResource CheckBoxSettingStyle}"/>
|
||||
</ContentPresenter>
|
||||
|
||||
<!--Tab Switcher Mode-->
|
||||
<ContentPresenter Style="{StaticResource SettingContainerStyle}">
|
||||
<muxc:RadioButtons x:Uid="Globals_TabSwitcherMode"
|
||||
SelectedItem="{x:Bind CurrentTabSwitcherMode}"
|
||||
ItemsSource="{x:Bind TabSwitcherModeList}"
|
||||
ItemTemplate="{StaticResource EnumRadioButtonTemplate}"
|
||||
Style="{StaticResource RadioButtonsSettingStyle}"/>
|
||||
</ContentPresenter>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</Page>
|
||||
|
|
|
@ -269,6 +269,12 @@
|
|||
<data name="Globals_StartOnUserLogin.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||
<value>When checked, this enables the launch of Windows Terminal at machine startup.</value>
|
||||
</data>
|
||||
<data name="Globals_AlwaysOnTop.Content" xml:space="preserve">
|
||||
<value>Always on top</value>
|
||||
</data>
|
||||
<data name="Globals_AlwaysOnTop.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||
<value>Windows Terminal will always be the topmost window on the desktop.</value>
|
||||
</data>
|
||||
<data name="Globals_TabWidthMode.Header" xml:space="preserve">
|
||||
<value>Tab width mode</value>
|
||||
</data>
|
||||
|
@ -803,4 +809,37 @@
|
|||
<data name="Profile_DeleteConfirmationMessage.Text" xml:space="preserve">
|
||||
<value>Are you sure you want to delete this profile?</value>
|
||||
</data>
|
||||
<data name="Globals_TabSwitcherMode.Header" xml:space="preserve">
|
||||
<value>Tab switcher interface style</value>
|
||||
</data>
|
||||
<data name="Globals_TabSwitcherMode.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||
<value>Defines the terminal behavior when switching tabs with the keyboard.</value>
|
||||
</data>
|
||||
<data name="Globals_TabSwitcherModeMru.Content" xml:space="preserve">
|
||||
<value>Separate window, in most recently used order</value>
|
||||
</data>
|
||||
<data name="Globals_TabSwitcherModeInOrder.Content" xml:space="preserve">
|
||||
<value>Separate window, in tab strip order</value>
|
||||
</data>
|
||||
<data name="Globals_TabSwitcherModeDisabled.Content" xml:space="preserve">
|
||||
<value>Traditional navigation, no separate window</value>
|
||||
</data>
|
||||
<data name="Globals_CopyFormat.Header" xml:space="preserve">
|
||||
<value>Text format when copying</value>
|
||||
</data>
|
||||
<data name="Globals_CopyFormat.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||
<value>Defines the type of formatting in which selected text is copied to your clipboard.</value>
|
||||
</data>
|
||||
<data name="Globals_CopyFormatNone.Content" xml:space="preserve">
|
||||
<value>Plain text only</value>
|
||||
</data>
|
||||
<data name="Globals_CopyFormatHtml.Content" xml:space="preserve">
|
||||
<value>HTML</value>
|
||||
</data>
|
||||
<data name="Globals_CopyFormatRtf.Content" xml:space="preserve">
|
||||
<value>RTF</value>
|
||||
</data>
|
||||
<data name="Globals_CopyFormatAll.Content" xml:space="preserve">
|
||||
<value>Both HTML and RTF</value>
|
||||
</data>
|
||||
</root>
|
|
@ -33,6 +33,8 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
|
|||
DEFINE_ENUM_MAP(winrt::Windows::UI::Xaml::ElementTheme, ElementTheme);
|
||||
DEFINE_ENUM_MAP(winrt::Microsoft::UI::Xaml::Controls::TabViewWidthMode, TabViewWidthMode);
|
||||
DEFINE_ENUM_MAP(Model::LaunchMode, LaunchMode);
|
||||
DEFINE_ENUM_MAP(Model::TabSwitcherMode, TabSwitcherMode);
|
||||
DEFINE_ENUM_MAP(Microsoft::Terminal::TerminalControl::CopyFormat, CopyFormat);
|
||||
|
||||
// Profile Settings
|
||||
DEFINE_ENUM_MAP(Model::CloseOnExitMode, CloseOnExitMode);
|
||||
|
|
|
@ -29,6 +29,8 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
|
|||
static winrt::Windows::Foundation::Collections::IMap<winrt::hstring, winrt::Windows::UI::Xaml::ElementTheme> ElementTheme();
|
||||
static winrt::Windows::Foundation::Collections::IMap<winrt::hstring, winrt::Microsoft::UI::Xaml::Controls::TabViewWidthMode> TabViewWidthMode();
|
||||
static winrt::Windows::Foundation::Collections::IMap<winrt::hstring, LaunchMode> LaunchMode();
|
||||
static winrt::Windows::Foundation::Collections::IMap<winrt::hstring, TabSwitcherMode> TabSwitcherMode();
|
||||
static winrt::Windows::Foundation::Collections::IMap<winrt::hstring, winrt::Microsoft::Terminal::TerminalControl::CopyFormat> CopyFormat();
|
||||
|
||||
// Profile Settings
|
||||
static winrt::Windows::Foundation::Collections::IMap<winrt::hstring, CloseOnExitMode> CloseOnExitMode();
|
||||
|
|
|
@ -11,6 +11,8 @@ namespace Microsoft.Terminal.Settings.Model
|
|||
static Windows.Foundation.Collections.IMap<String, Windows.UI.Xaml.ElementTheme> ElementTheme { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.UI.Xaml.Controls.TabViewWidthMode> TabViewWidthMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.LaunchMode> LaunchMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.TabSwitcherMode> TabSwitcherMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.TerminalControl.CopyFormat> CopyFormat { get; };
|
||||
|
||||
// Profile Settings
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.CloseOnExitMode> CloseOnExitMode { get; };
|
||||
|
|
|
@ -236,7 +236,7 @@ JSON_ENUM_MAPPER(winrt::Microsoft::Terminal::Settings::Model::ExpandCommandType)
|
|||
|
||||
JSON_FLAG_MAPPER(::winrt::Microsoft::Terminal::TerminalControl::CopyFormat)
|
||||
{
|
||||
JSON_MAPPINGS(5) = {
|
||||
JSON_MAPPINGS(4) = {
|
||||
pair_type{ "none", AllClear },
|
||||
pair_type{ "html", ValueType::HTML },
|
||||
pair_type{ "rtf", ValueType::RTF },
|
||||
|
|
Loading…
Reference in a new issue