fix: tooltips in WCO caption buttons (#44721)

fix: tooltips in WCO capton buttons
This commit is contained in:
Shelley Vohr 2024-11-20 12:45:08 +01:00 committed by GitHub
parent 8ed48e2295
commit 54d53bfa51
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();