Commit ced81f04 authored by Tetsui Ohkubo's avatar Tetsui Ohkubo Committed by Commit Bot

Unified: Hide tooltip in user chooser view.

This CL hides tooltip in user chooser view when there is enough space to
show both the name and the email.

TEST=manual
BUG=889415

Change-Id: I0c02e4bb78c0dfbd81700afe24b8cc9ebe423ea2
Reviewed-on: https://chromium-review.googlesource.com/c/1304179Reviewed-by: default avatarYoshiki Iguchi <yoshiki@chromium.org>
Commit-Queue: Tetsui Ohkubo <tetsui@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603723}
parent ed289cec
...@@ -174,7 +174,9 @@ UserItemButton::UserItemButton(int user_index, ...@@ -174,7 +174,9 @@ UserItemButton::UserItemButton(int user_index,
: Button(this), : Button(this),
user_index_(user_index), user_index_(user_index),
controller_(controller), controller_(controller),
capture_icon_(new views::ImageView) { capture_icon_(new views::ImageView),
name_(new views::Label),
email_(new views::Label) {
auto* layout = SetLayoutManager(std::make_unique<views::BoxLayout>( auto* layout = SetLayoutManager(std::make_unique<views::BoxLayout>(
views::BoxLayout::kHorizontal, gfx::Insets(0, kUnifiedTopShortcutSpacing), views::BoxLayout::kHorizontal, gfx::Insets(0, kUnifiedTopShortcutSpacing),
kUnifiedTopShortcutSpacing)); kUnifiedTopShortcutSpacing));
...@@ -193,19 +195,17 @@ UserItemButton::UserItemButton(int user_index, ...@@ -193,19 +195,17 @@ UserItemButton::UserItemButton(int user_index,
const mojom::UserSession* const user_session = const mojom::UserSession* const user_session =
Shell::Get()->session_controller()->GetUserSession(user_index); Shell::Get()->session_controller()->GetUserSession(user_index);
auto* name = new views::Label( name_->SetText(base::UTF8ToUTF16(user_session->user_info->display_name));
base::UTF8ToUTF16(user_session->user_info->display_name)); name_->SetEnabledColor(kUnifiedMenuTextColor);
name->SetEnabledColor(kUnifiedMenuTextColor); name_->SetAutoColorReadabilityEnabled(false);
name->SetAutoColorReadabilityEnabled(false); name_->SetSubpixelRenderingEnabled(false);
name->SetSubpixelRenderingEnabled(false); vertical_labels->AddChildView(name_);
vertical_labels->AddChildView(name);
auto* email = new views::Label( email_->SetText(base::UTF8ToUTF16(user_session->user_info->display_email));
base::UTF8ToUTF16(user_session->user_info->display_email)); email_->SetEnabledColor(kUnifiedMenuSecondaryTextColor);
email->SetEnabledColor(kUnifiedMenuSecondaryTextColor); email_->SetAutoColorReadabilityEnabled(false);
email->SetAutoColorReadabilityEnabled(false); email_->SetSubpixelRenderingEnabled(false);
email->SetSubpixelRenderingEnabled(false); vertical_labels->AddChildView(email_);
vertical_labels->AddChildView(email);
AddChildView(vertical_labels); AddChildView(vertical_labels);
layout->SetFlexForView(vertical_labels, 1); layout->SetFlexForView(vertical_labels, 1);
...@@ -251,6 +251,16 @@ void UserItemButton::SetCaptureState(mojom::MediaCaptureState capture_state) { ...@@ -251,6 +251,16 @@ void UserItemButton::SetCaptureState(mojom::MediaCaptureState capture_state) {
capture_icon_->set_tooltip_text(l10n_util::GetStringUTF16(res_id)); capture_icon_->set_tooltip_text(l10n_util::GetStringUTF16(res_id));
} }
bool UserItemButton::GetTooltipText(const gfx::Point& p,
base::string16* tooltip) const {
// If both of them are full shown, hide the tooltip.
if (name_->GetPreferredSize().width() <= name_->width() &&
email_->GetPreferredSize().width() <= email_->width()) {
return false;
}
return views::Button::GetTooltipText(p, tooltip);
}
void UserItemButton::ButtonPressed(views::Button* sender, void UserItemButton::ButtonPressed(views::Button* sender,
const ui::Event& event) { const ui::Event& event) {
if (user_index_ > 0) if (user_index_ > 0)
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
namespace views { namespace views {
class ImageView; class ImageView;
class Label;
} // namespace views } // namespace views
namespace ash { namespace ash {
...@@ -33,6 +34,10 @@ class UserItemButton : public views::Button, public views::ButtonListener { ...@@ -33,6 +34,10 @@ class UserItemButton : public views::Button, public views::ButtonListener {
void SetCaptureState(mojom::MediaCaptureState capture_states); void SetCaptureState(mojom::MediaCaptureState capture_states);
// views::Button:
bool GetTooltipText(const gfx::Point& p,
base::string16* tooltip) const override;
// views::ButtonListener: // views::ButtonListener:
void ButtonPressed(views::Button* sender, const ui::Event& event) override; void ButtonPressed(views::Button* sender, const ui::Event& event) override;
...@@ -40,6 +45,8 @@ class UserItemButton : public views::Button, public views::ButtonListener { ...@@ -40,6 +45,8 @@ class UserItemButton : public views::Button, public views::ButtonListener {
const int user_index_; const int user_index_;
UnifiedSystemTrayController* const controller_; UnifiedSystemTrayController* const controller_;
views::ImageView* const capture_icon_; views::ImageView* const capture_icon_;
views::Label* const name_;
views::Label* const email_;
DISALLOW_COPY_AND_ASSIGN(UserItemButton); DISALLOW_COPY_AND_ASSIGN(UserItemButton);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment