fix: tooltips in WCO caption buttons (#44757)

fix: tooltips in WCO capton buttons

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot] 2024-11-20 07:33:46 -06:00 committed by GitHub
parent 0c42bf5743
commit 0010d976c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 17 deletions

View file

@ -19,6 +19,7 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/compositor/layer.h"
#include "ui/strings/grit/ui_strings.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/view_class_properties.h"
@ -83,6 +84,7 @@ WinCaptionButtonContainer::WinCaptionButtonContainer(WinFrameView* frame_view)
views::MaximumFlexSizeRule::kPreferred,
/* adjust_width_for_height */ false,
views::MinimumFlexSizeRule::kScaleToZero));
UpdateButtonToolTipsForWindowControlsOverlay();
}
WinCaptionButtonContainer::~WinCaptionButtonContainer() {}
@ -105,18 +107,6 @@ int WinCaptionButtonContainer::NonClientHitTest(const gfx::Point& point) const {
return HTCAPTION;
}
gfx::Size WinCaptionButtonContainer::GetButtonSize() const {
// Close button size is set the same as all the buttons
return close_button_->GetSize();
}
void WinCaptionButtonContainer::SetButtonSize(gfx::Size size) {
minimize_button_->SetSize(size);
maximize_button_->SetSize(size);
restore_button_->SetSize(size);
close_button_->SetSize(size);
}
void WinCaptionButtonContainer::ResetWindowControls() {
minimize_button_->SetState(views::Button::STATE_NORMAL);
maximize_button_->SetState(views::Button::STATE_NORMAL);
@ -132,10 +122,7 @@ void WinCaptionButtonContainer::AddedToWidget() {
widget_observation_.Observe(widget);
UpdateButtons();
if (frame_view_->window()->IsWindowControlsOverlayEnabled()) {
UpdateBackground();
}
UpdateBackground();
}
void WinCaptionButtonContainer::RemovedFromWidget() {
@ -183,6 +170,24 @@ void WinCaptionButtonContainer::UpdateButtons() {
InvalidateLayout();
}
void WinCaptionButtonContainer::UpdateButtonToolTipsForWindowControlsOverlay() {
minimize_button_->SetTooltipText(
minimize_button_->GetViewAccessibility().GetCachedName());
maximize_button_->SetTooltipText(
maximize_button_->GetViewAccessibility().GetCachedName());
restore_button_->SetTooltipText(
restore_button_->GetViewAccessibility().GetCachedName());
close_button_->SetTooltipText(
close_button_->GetViewAccessibility().GetCachedName());
}
void WinCaptionButtonContainer::SetButtonSize(gfx::Size size) {
minimize_button_->SetSize(size);
maximize_button_->SetSize(size);
restore_button_->SetSize(size);
close_button_->SetSize(size);
}
BEGIN_METADATA(WinCaptionButtonContainer)
END_METADATA

View file

@ -42,9 +42,11 @@ class WinCaptionButtonContainer : public views::View,
// See also ClientView::NonClientHitTest.
int NonClientHitTest(const gfx::Point& point) const;
gfx::Size GetButtonSize() const;
void SetButtonSize(gfx::Size size);
// Add tooltip text to caption buttons.
void UpdateButtonToolTipsForWindowControlsOverlay();
// Sets caption button container background color.
void UpdateBackground();