Basically, just impose a height on both the renamer box and the overall tab header control. However, to ensure that the text in the tab renamer box does not get clipped by its own border, we also need to set its font size, which is slightly smaller than it was before but it _is_ the same as the text block that it is trying to rename so I'd say its more consistent now. We also improve the tab renamer box so that it scrolls as more text is added instead of getting truncated (when the tabWidthMode is anything other than titleLength). When the tabWidthMode _is_ set to titleLength, the renamer box can increase in length much more (see GIFs below). Closes #8519
67 lines
3.1 KiB
XML
67 lines
3.1 KiB
XML
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under
|
|
the MIT License. See LICENSE in the project root for license information. -->
|
|
|
|
<UserControl
|
|
x:Class="TerminalApp.TabHeaderControl"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:local="using:TerminalApp"
|
|
xmlns:mux="using:Microsoft.UI.Xaml.Controls"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
mc:Ignorable="d"
|
|
MinHeight="16">
|
|
|
|
<UserControl.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.ThemeDictionaries>
|
|
<ResourceDictionary x:Key="Light">
|
|
<Thickness x:Key="TextControlBorderThemeThicknessFocused">0,0,0,1</Thickness>
|
|
</ResourceDictionary>
|
|
<ResourceDictionary x:Key="Dark">
|
|
<Thickness x:Key="TextControlBorderThemeThicknessFocused">0,0,0,1</Thickness>
|
|
</ResourceDictionary>
|
|
<ResourceDictionary x:Key="HighContrast">
|
|
<Thickness x:Key="TextControlBorderThemeThicknessFocused">0,0,0,1</Thickness>
|
|
</ResourceDictionary>
|
|
</ResourceDictionary.ThemeDictionaries>
|
|
</ResourceDictionary>
|
|
</UserControl.Resources>
|
|
|
|
<StackPanel x:Name="HeaderStackPanel"
|
|
Orientation="Horizontal">
|
|
<mux:ProgressRing x:Name="HeaderProgressRing"
|
|
IsActive="{x:Bind IsProgressRingActive, Mode=OneWay}"
|
|
Visibility="{x:Bind IsProgressRingActive, Mode=OneWay}"
|
|
IsIndeterminate="{x:Bind IsProgressRingIndeterminate, Mode=OneWay}"
|
|
Value="{x:Bind ProgressValue, Mode=OneWay}"
|
|
MinHeight="0"
|
|
MinWidth="0"
|
|
Height="15"
|
|
Width="15"
|
|
Margin="-7.5,0,8,0"/>
|
|
<!--We want the progress ring to 'replace' the tab icon, but we don't have control
|
|
over the tab icon here (the tab view item does) - so we hide the tab icon there
|
|
and use a negative margin for the progress ring here to put it where the icon would be-->
|
|
<FontIcon x:Name="HeaderZoomIcon"
|
|
FontFamily="Segoe MDL2 Assets"
|
|
Visibility="{x:Bind IsPaneZoomed, Mode=OneWay}"
|
|
Glyph=""
|
|
FontSize="12"
|
|
Margin="0,0,8,0"/>
|
|
<TextBlock x:Name="HeaderTextBlock"
|
|
Visibility="Visible"
|
|
Text="{x:Bind Title, Mode=OneWay}"/>
|
|
<TextBox x:Name="HeaderRenamerTextBox"
|
|
Visibility="Collapsed"
|
|
MinHeight="0"
|
|
Padding="4,0,4,0"
|
|
MaxLength="1024"
|
|
LostFocus="RenameBoxLostFocusHandler"
|
|
Height="16"
|
|
FontSize="12"
|
|
IsSpellCheckEnabled="False"
|
|
MaxWidth="{x:Bind RenamerMaxWidth, Mode=OneWay}"/>
|
|
</StackPanel>
|
|
</UserControl>
|