Commit 40974a9a authored by wutao's avatar wutao Committed by Commit Bot

assistant: Add tooltips for Assistant button.

Bug: 963852
Test: manual
Change-Id: Ib795a22b81286ab1a74fc668e11ee71c511758d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1614152Reviewed-by: default avatarAlex Newcomer <newcomer@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Commit-Queue: Tao Wu <wutao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#672590}
parent 63bbd84a
......@@ -327,7 +327,8 @@ void DialogPlate::InitKeyboardLayoutContainer() {
voice_input_toggle_ = ash::AssistantButton::Create(
this, ash::kMicIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_ACCNAME,
ash::AssistantButtonId::kVoiceInputToggle);
ash::AssistantButtonId::kVoiceInputToggle,
IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_TOOLTIP);
keyboard_layout_container_->AddChildView(voice_input_toggle_);
input_modality_layout_container_->AddChildView(keyboard_layout_container_);
......@@ -378,7 +379,8 @@ void DialogPlate::InitVoiceLayoutContainer() {
keyboard_input_toggle_ = ash::AssistantButton::Create(
this, ash::kKeyboardIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_ACCNAME,
ash::AssistantButtonId::kKeyboardInputToggle);
ash::AssistantButtonId::kKeyboardInputToggle,
IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_TOOLTIP);
voice_layout_container_->AddChildView(keyboard_input_toggle_);
input_modality_layout_container_->AddChildView(voice_layout_container_);
......
......@@ -1841,10 +1841,16 @@ This file contains the strings for ash.
<message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_ACCNAME" desc="Accessibility name for a keyboard image button when clicked shows an input textfield for user to type in queries.">
Start a text query
</message>
<message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_TOOLTIP" desc="Tooltip for a keyboard image button when clicked shows an input textfield for user to type in queries.">
Text input
</message>
<message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_ACCNAME" desc="Accessibility name for a microphone image button when clicked starts listening for user's voice queries.">
Start a voice query
</message>
<message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_SETTINGS_ACCNAME" desc="Accessibility name for a settings image button when clicked shows Assistant settings.">
<message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_TOOLTIP" desc="Tooltip for a microphone image button when clicked starts listening for user's voice queries.">
Voice input
</message>
<message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_SETTINGS_ACCNAME_TOOLTIP" desc="Accessibility name and tooltip for a settings image button when clicked shows Assistant settings.">
Assistant Settings
</message>
<message name="IDS_ASH_ASSISTANT_ERROR_GENERIC" desc="Generic message shown when Assistant is in an error state.">
......
......@@ -54,9 +54,14 @@ views::ImageButton* AssistantButton::Create(views::ButtonListener* listener,
int icon_size_in_dip,
int accessible_name_id,
AssistantButtonId button_id,
base::Optional<int> tooltip_id,
SkColor icon_color) {
auto* button = new AssistantButton(listener, button_id);
button->SetAccessibleName(l10n_util::GetStringUTF16(accessible_name_id));
if (tooltip_id)
button->SetTooltipText(l10n_util::GetStringUTF16(tooltip_id.value()));
button->SetImage(views::Button::STATE_NORMAL,
gfx::CreateVectorIcon(icon, icon_size_in_dip, icon_color));
button->SetPreferredSize(gfx::Size(size_in_dip, size_in_dip));
......
......@@ -9,6 +9,7 @@
#include "base/component_export.h"
#include "base/macros.h"
#include "base/optional.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/color_palette.h"
#include "ui/views/controls/button/image_button.h"
......@@ -34,13 +35,15 @@ class COMPONENT_EXPORT(ASSISTANT_UI) AssistantButton
~AssistantButton() override;
// Creates an ImageButton with the default Assistant styles.
static views::ImageButton* Create(views::ButtonListener* listener,
const gfx::VectorIcon& icon,
int size_in_dip,
int icon_size_in_dip,
int accessible_name_id,
AssistantButtonId button_id,
SkColor icon_color = gfx::kGoogleGrey700);
static views::ImageButton* Create(
views::ButtonListener* listener,
const gfx::VectorIcon& icon,
int size_in_dip,
int icon_size_in_dip,
int accessible_name_id,
AssistantButtonId button_id,
base::Optional<int> tooltip_id = base::nullopt,
SkColor icon_color = gfx::kGoogleGrey700);
// views::Button:
const char* GetClassName() const override;
......
......@@ -35,7 +35,7 @@ views::ImageButton* CreateCaptionButton(const gfx::VectorIcon& icon,
views::ButtonListener* listener) {
return AssistantButton::Create(listener, icon, kCaptionButtonSizeDip,
kVectorIconSizeDip, accessible_name_id,
button_id, gfx::kGoogleGrey700);
button_id);
}
} // namespace
......
......@@ -277,10 +277,11 @@ void DialogPlate::InitLayout() {
InitVoiceLayoutContainer();
// Settings.
settings_button_ =
AssistantButton::Create(this, kSettingsIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_SETTINGS_ACCNAME,
AssistantButtonId::kSettings);
settings_button_ = AssistantButton::Create(
this, kSettingsIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_SETTINGS_ACCNAME_TOOLTIP,
AssistantButtonId::kSettings,
IDS_ASH_ASSISTANT_DIALOG_PLATE_SETTINGS_ACCNAME_TOOLTIP);
AddChildView(settings_button_);
// Artificially trigger event to set initial state.
......@@ -329,7 +330,8 @@ void DialogPlate::InitKeyboardLayoutContainer() {
voice_input_toggle_ =
AssistantButton::Create(this, kMicIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_ACCNAME,
AssistantButtonId::kVoiceInputToggle);
AssistantButtonId::kVoiceInputToggle,
IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_TOOLTIP);
keyboard_layout_container_->AddChildView(voice_input_toggle_);
input_modality_layout_container_->AddChildView(keyboard_layout_container_);
......@@ -354,7 +356,8 @@ void DialogPlate::InitVoiceLayoutContainer() {
keyboard_input_toggle_ =
AssistantButton::Create(this, kKeyboardIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_ACCNAME,
AssistantButtonId::kKeyboardInputToggle);
AssistantButtonId::kKeyboardInputToggle,
IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_TOOLTIP);
voice_layout_container_->AddChildView(keyboard_input_toggle_);
// Spacer.
......
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