Don't zoom when there's only one pane (#7273)

This is a minor fix from #6989. If there's only one pane in the
Terminal, then we'd still "zoom" it and give it a border, but all the
borders would be black. 

A single pane is already "zoomed", so it doesn't really make sense to
try and zoom if there's only one.
This commit is contained in:
Mike Griese 2020-08-13 14:17:58 -05:00 committed by GitHub
parent 93ae6b6dba
commit 01e3fda91b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 3 deletions

View file

@ -122,7 +122,9 @@ namespace winrt::TerminalApp::implementation
const TerminalApp::ActionEventArgs& args) const TerminalApp::ActionEventArgs& args)
{ {
auto activeTab = _GetFocusedTab(); auto activeTab = _GetFocusedTab();
if (activeTab)
// Don't do anything if there's only one pane. It's already zoomed.
if (activeTab && activeTab->GetLeafPaneCount() > 1)
{ {
// First thing's first, remove the current content from the UI // First thing's first, remove the current content from the UI
// tree. This is important, because we might be leaving zoom, and if // tree. This is important, because we might be leaving zoom, and if

View file

@ -960,7 +960,7 @@ namespace winrt::TerminalApp::implementation
// - <none> // - <none>
// Return Value: // Return Value:
// - The total number of leaf panes hosted by this tab. // - The total number of leaf panes hosted by this tab.
int Tab::_GetLeafPaneCount() const noexcept int Tab::GetLeafPaneCount() const noexcept
{ {
return _rootPane->GetLeafPaneCount(); return _rootPane->GetLeafPaneCount();
} }

View file

@ -66,6 +66,8 @@ namespace winrt::TerminalApp::implementation
void EnterZoom(); void EnterZoom();
void ExitZoom(); void ExitZoom();
int GetLeafPaneCount() const noexcept;
WINRT_CALLBACK(Closed, winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable>); WINRT_CALLBACK(Closed, winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable>);
WINRT_CALLBACK(PropertyChanged, Windows::UI::Xaml::Data::PropertyChangedEventHandler); WINRT_CALLBACK(PropertyChanged, Windows::UI::Xaml::Data::PropertyChangedEventHandler);
DECLARE_EVENT(ActivePaneChanged, _ActivePaneChangedHandlers, winrt::delegate<>); DECLARE_EVENT(ActivePaneChanged, _ActivePaneChangedHandlers, winrt::delegate<>);
@ -102,7 +104,6 @@ namespace winrt::TerminalApp::implementation
void _AttachEventHandlersToControl(const winrt::Microsoft::Terminal::TerminalControl::TermControl& control); void _AttachEventHandlersToControl(const winrt::Microsoft::Terminal::TerminalControl::TermControl& control);
void _AttachEventHandlersToPane(std::shared_ptr<Pane> pane); void _AttachEventHandlersToPane(std::shared_ptr<Pane> pane);
int _GetLeafPaneCount() const noexcept;
void _UpdateActivePane(std::shared_ptr<Pane> pane); void _UpdateActivePane(std::shared_ptr<Pane> pane);
void _UpdateTabHeader(); void _UpdateTabHeader();