Update MUX to 2.8.4 (#15313)
Reverts #15164, because that's fixed upstream now. Closes #15139. Reverts #15178, but also closes #15121, because that's fixed upstream. see also: * https://github.com/microsoft/microsoft-ui-xaml/pull/8430 * https://github.com/microsoft/microsoft-ui-xaml/pull/8420
This commit is contained in:
parent
6ad8cd0a63
commit
48eee4d75a
|
@ -7,7 +7,7 @@
|
|||
<package id="Microsoft.Windows.CppWinRT" version="2.0.230207.1" targetFramework="native" />
|
||||
<package id="Microsoft.Internal.Windows.Terminal.ThemeHelpers" version="0.6.220404001" targetFramework="native" />
|
||||
<package id="Microsoft.VisualStudio.Setup.Configuration.Native" version="2.3.2262" targetFramework="native" developmentDependency="true" />
|
||||
<package id="Microsoft.UI.Xaml" version="2.8.3" targetFramework="native" />
|
||||
<package id="Microsoft.UI.Xaml" version="2.8.4" targetFramework="native" />
|
||||
<package id="Microsoft.Web.WebView2" version="1.0.1661.34" targetFramework="native" />
|
||||
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220201.1" targetFramework="native" developmentDependency="true" />
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@
|
|||
-->
|
||||
<x:Double x:Key="CaptionButtonHeightWindowed">40.0</x:Double>
|
||||
<!-- 32 + (1 to compensate for GH#10746) + (-1 for GH#15164) -->
|
||||
<x:Double x:Key="CaptionButtonHeightMaximized">32.0</x:Double>
|
||||
<x:Double x:Key="CaptionButtonHeightMaximized">33.0</x:Double>
|
||||
|
||||
<Style x:Key="CaptionButton"
|
||||
TargetType="Button">
|
||||
|
|
|
@ -888,6 +888,34 @@ namespace winrt::TerminalApp::implementation
|
|||
co_await _HandleCloseTabRequested(tab);
|
||||
}
|
||||
}
|
||||
// Method Description:
|
||||
// - Responds to changes in the TabView's item list by changing the
|
||||
// tabview's visibility.
|
||||
// - This method is also invoked when tabs are dragged / dropped as part of
|
||||
// tab reordering and this method hands that case as well in concert with
|
||||
// TabDragStarting and TabDragCompleted handlers that are set up in
|
||||
// TerminalPage::Create()
|
||||
// Arguments:
|
||||
// - sender: the control that originated this event
|
||||
// - eventArgs: the event's constituent arguments
|
||||
void TerminalPage::_OnTabItemsChanged(const IInspectable& /*sender*/, const Windows::Foundation::Collections::IVectorChangedEventArgs& eventArgs)
|
||||
{
|
||||
if (_rearranging)
|
||||
{
|
||||
if (eventArgs.CollectionChange() == Windows::Foundation::Collections::CollectionChange::ItemRemoved)
|
||||
{
|
||||
_rearrangeFrom = eventArgs.Index();
|
||||
}
|
||||
|
||||
if (eventArgs.CollectionChange() == Windows::Foundation::Collections::CollectionChange::ItemInserted)
|
||||
{
|
||||
_rearrangeTo = eventArgs.Index();
|
||||
}
|
||||
}
|
||||
|
||||
CommandPalette().Visibility(Visibility::Collapsed);
|
||||
_UpdateTabView();
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
// - Additional responses to clicking on a TabView's item. Currently, just remove tab with middle click
|
||||
|
@ -1051,37 +1079,16 @@ namespace winrt::TerminalApp::implementation
|
|||
}
|
||||
|
||||
void TerminalPage::_TabDragStarted(const IInspectable& /*sender*/,
|
||||
const winrt::MUX::Controls::TabViewTabDragStartingEventArgs& eventArgs)
|
||||
const IInspectable& /*eventArgs*/)
|
||||
{
|
||||
_rearranging = true;
|
||||
_rearrangeFrom = std::nullopt;
|
||||
_rearrangeTo = std::nullopt;
|
||||
|
||||
// Start tracking the index of the tab that is being dragged. In
|
||||
// `_TabDragCompleted`, we'll use this to determine how to reorder our
|
||||
// internal tabs list.
|
||||
const auto& draggedTabViewItem{ eventArgs.Tab() };
|
||||
uint32_t tabIndexFromControl{};
|
||||
const auto tabItems{ _tabView.TabItems() };
|
||||
if (tabItems.IndexOf(draggedTabViewItem, tabIndexFromControl))
|
||||
{
|
||||
// If IndexOf returns true, we've actually got an index
|
||||
_rearrangeFrom = tabIndexFromControl;
|
||||
}
|
||||
}
|
||||
|
||||
void TerminalPage::_TabDragCompleted(const IInspectable& /*sender*/,
|
||||
const winrt::MUX::Controls::TabViewTabDragCompletedEventArgs& eventArgs)
|
||||
const IInspectable& /*eventArgs*/)
|
||||
{
|
||||
const auto& draggedTabViewItem{ eventArgs.Tab() };
|
||||
|
||||
uint32_t tabIndexFromControl{};
|
||||
const auto tabItems{ _tabView.TabItems() };
|
||||
if (tabItems.IndexOf(draggedTabViewItem, tabIndexFromControl))
|
||||
{
|
||||
_rearrangeTo = tabIndexFromControl;
|
||||
}
|
||||
|
||||
auto& from{ _rearrangeFrom };
|
||||
auto& to{ _rearrangeTo };
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
-->
|
||||
|
||||
<mux:TabView x:Name="TabView"
|
||||
Padding="0,1,0,-1"
|
||||
VerticalAlignment="Bottom"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
AllowDropTabs="True"
|
||||
|
|
|
@ -246,6 +246,7 @@ namespace winrt::TerminalApp::implementation
|
|||
});
|
||||
_tabView.SelectionChanged({ this, &TerminalPage::_OnTabSelectionChanged });
|
||||
_tabView.TabCloseRequested({ this, &TerminalPage::_OnTabCloseRequested });
|
||||
_tabView.TabItemsChanged({ this, &TerminalPage::_OnTabItemsChanged });
|
||||
|
||||
_tabView.TabDragStarting({ this, &TerminalPage::_onTabDragStarting });
|
||||
_tabView.TabStripDragOver({ this, &TerminalPage::_onTabStripDragOver });
|
||||
|
@ -4736,8 +4737,6 @@ namespace winrt::TerminalApp::implementation
|
|||
co_await wil::resume_foreground(Dispatcher());
|
||||
if (const auto& page{ weakThis.get() })
|
||||
{
|
||||
// `this` is safe to use
|
||||
//
|
||||
// First we need to get the position in the List to drop to
|
||||
auto index = -1;
|
||||
|
||||
|
@ -4757,8 +4756,8 @@ namespace winrt::TerminalApp::implementation
|
|||
}
|
||||
}
|
||||
|
||||
const auto myId{ _WindowProperties.WindowId() };
|
||||
const auto request = winrt::make_self<RequestReceiveContentArgs>(src, myId, index);
|
||||
// `this` is safe to use
|
||||
const auto request = winrt::make_self<RequestReceiveContentArgs>(src, _WindowProperties.WindowId(), index);
|
||||
|
||||
// This will go up to the monarch, who will then dispatch the request
|
||||
// back down to the source TerminalPage, who will then perform a
|
||||
|
|
|
@ -415,11 +415,12 @@ namespace winrt::TerminalApp::implementation
|
|||
|
||||
fire_and_forget _LaunchSettings(const Microsoft::Terminal::Settings::Model::SettingsTarget target);
|
||||
|
||||
void _TabDragStarted(const IInspectable& sender, const winrt::Microsoft::UI::Xaml::Controls::TabViewTabDragStartingEventArgs& eventArgs);
|
||||
void _TabDragCompleted(const IInspectable& sender, const winrt::Microsoft::UI::Xaml::Controls::TabViewTabDragCompletedEventArgs& eventArgs);
|
||||
void _TabDragStarted(const IInspectable& sender, const IInspectable& eventArgs);
|
||||
void _TabDragCompleted(const IInspectable& sender, const IInspectable& eventArgs);
|
||||
|
||||
void _OnTabClick(const IInspectable& sender, const Windows::UI::Xaml::Input::PointerRoutedEventArgs& eventArgs);
|
||||
void _OnTabSelectionChanged(const IInspectable& sender, const Windows::UI::Xaml::Controls::SelectionChangedEventArgs& eventArgs);
|
||||
void _OnTabItemsChanged(const IInspectable& sender, const Windows::Foundation::Collections::IVectorChangedEventArgs& eventArgs);
|
||||
void _OnTabCloseRequested(const IInspectable& sender, const Microsoft::UI::Xaml::Controls::TabViewTabCloseRequestedEventArgs& eventArgs);
|
||||
void _OnFirstLayout(const IInspectable& sender, const IInspectable& eventArgs);
|
||||
void _UpdatedSelectedTab(const winrt::TerminalApp::TabBase& tab);
|
||||
|
|
|
@ -37,6 +37,6 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.3\build\native\Microsoft.UI.Xaml.props" Condition="'$(TerminalMUX)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.3\build\native\Microsoft.UI.Xaml.props')" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.4\build\native\Microsoft.UI.Xaml.props" Condition="'$(TerminalMUX)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.4\build\native\Microsoft.UI.Xaml.props')" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets" Condition="'$(TerminalVisualStudioSetup)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" />
|
||||
|
||||
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.3\build\native\Microsoft.UI.Xaml.targets" Condition="'$(TerminalMUX)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.3\build\native\Microsoft.UI.Xaml.targets')" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.4\build\native\Microsoft.UI.Xaml.targets" Condition="'$(TerminalMUX)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.4\build\native\Microsoft.UI.Xaml.targets')" />
|
||||
<!--
|
||||
Instead of adding our dependency on WebView2, fake it with another set of rules for XAML.
|
||||
See Microsoft.UI.Xaml.Additional.targets for more info.
|
||||
|
@ -88,7 +88,7 @@
|
|||
<Error Condition="'$(TerminalVisualStudioSetup)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets'))" />
|
||||
|
||||
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
||||
<Error Condition="'$(TerminalMUX)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.3\build\native\Microsoft.UI.Xaml.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.3\build\native\Microsoft.UI.Xaml.targets'))" />
|
||||
<Error Condition="'$(TerminalMUX)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.4\build\native\Microsoft.UI.Xaml.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.8.4\build\native\Microsoft.UI.Xaml.targets'))" />
|
||||
<Error Condition="'$(TerminalMUX)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.Web.WebView2.1.0.1661.34\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.Web.WebView2.1.0.1661.34\build\native\Microsoft.Web.WebView2.targets'))" />
|
||||
|
||||
<!-- WIL (so widely used that this one does not have a TerminalWIL opt-in property; it is automatic) -->
|
||||
|
|
Loading…
Reference in New Issue