This commit adds a [progress ring] to the tab header when we receive an OSC 9 sequence. Adds an event handler in `Tab.cpp` for the event we raise when we get a request to set the taskbar state/progress. This event handler updates the tab header with the active control's state/progress. When we want to show the progress ring, we hide the tab icon and place the progress ring over it. [progress ring]: https://docs.microsoft.com/en-us/uwp/api/Microsoft.UI.Xaml.Controls.ProgressRing?view=winui-2.4 References #6700
47 lines
2.2 KiB
XML
47 lines
2.2 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">
|
|
|
|
<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"
|
|
Margin="0,-8,0,-8"
|
|
MaxLength="1024"
|
|
LostFocus="RenameBoxLostFocusHandler"/>
|
|
</StackPanel>
|
|
</UserControl>
|