Yea, this works the way we want

This commit is contained in:
Mike Griese 2021-11-04 08:49:57 -05:00
parent 01aa26c522
commit 1167e20b0f
2 changed files with 21 additions and 7 deletions

View file

@ -47,10 +47,22 @@ namespace winrt::TerminalApp::implementation
}
};
};
_displayMinimizeTooltip = std::make_shared<ThrottledFunc<false>>(
_displayMinimizeTooltip = std::make_shared<ThrottledFunc<false, Controls::Button>>(
dispatcher,
ToolTipInterval,
createOpenToolTipFn(MinimizeButton()));
[weakThis = get_weak()](Controls::Button button) {
if (button)
{
if (auto tt{ Controls::ToolTipService::GetToolTip(button) })
{
if (auto tooltip{ tt.try_as<Controls::ToolTip>() })
{
tooltip.IsOpen(true);
}
}
}
});
// TODO! I need to add a sentinel arg to this ThrottledFunc. With two
// values: Open, and Ignore. Open will open the tt, and Ignore will do
// nothing. WHere I'm dismissing below, instead, modifyPending(Ignore),
@ -140,7 +152,9 @@ namespace winrt::TerminalApp::implementation
VisualStateManager::GoToState(MaximizeButton(), L"Normal", false);
VisualStateManager::GoToState(CloseButton(), L"Normal", false);
// _openToolTipForButton(MinimizeButton(), true);
_displayMinimizeTooltip->Run();
// _displayMinimizeTooltip->ModifyPending(MinimizeButton());
_displayMinimizeTooltip->Run(MinimizeButton());
_openToolTipForButton(MaximizeButton(), false);
_openToolTipForButton(CloseButton(), false);
break;
@ -148,7 +162,7 @@ namespace winrt::TerminalApp::implementation
VisualStateManager::GoToState(MinimizeButton(), L"Normal", false);
VisualStateManager::GoToState(MaximizeButton(), L"PointerOver", false);
VisualStateManager::GoToState(CloseButton(), L"Normal", false);
_displayMinimizeTooltip->Dismiss();
_displayMinimizeTooltip->Run(nullptr);
_openToolTipForButton(MinimizeButton(), false);
_openToolTipForButton(MaximizeButton(), true);
_openToolTipForButton(CloseButton(), false);
@ -157,7 +171,7 @@ namespace winrt::TerminalApp::implementation
VisualStateManager::GoToState(MinimizeButton(), L"Normal", false);
VisualStateManager::GoToState(MaximizeButton(), L"Normal", false);
VisualStateManager::GoToState(CloseButton(), L"PointerOver", false);
_displayMinimizeTooltip->Dismiss();
_displayMinimizeTooltip->Run(nullptr);
_openToolTipForButton(MinimizeButton(), false);
_openToolTipForButton(MaximizeButton(), false);
_openToolTipForButton(CloseButton(), true);
@ -189,7 +203,7 @@ namespace winrt::TerminalApp::implementation
void MinMaxCloseControl::ReleaseButtons()
{
_displayMinimizeTooltip->Dismiss();
_displayMinimizeTooltip->Run(nullptr);
VisualStateManager::GoToState(MinimizeButton(), L"Normal", false);
VisualStateManager::GoToState(MaximizeButton(), L"Normal", false);
VisualStateManager::GoToState(CloseButton(), L"Normal", false);

View file

@ -33,7 +33,7 @@ namespace winrt::TerminalApp::implementation
TYPED_EVENT(MaximizeClick, TerminalApp::MinMaxCloseControl, winrt::Windows::UI::Xaml::RoutedEventArgs);
TYPED_EVENT(CloseClick, TerminalApp::MinMaxCloseControl, winrt::Windows::UI::Xaml::RoutedEventArgs);
std::shared_ptr<ThrottledFunc<false>> _displayMinimizeTooltip{ nullptr };
std::shared_ptr<ThrottledFunc<false, winrt::Windows::UI::Xaml::Controls::Button>> _displayMinimizeTooltip{ nullptr };
};
}