Chromium Code Reviews| Index: chrome/browser/ui/views/chooser_content_view.cc |
| diff --git a/chrome/browser/ui/views/chooser_content_view.cc b/chrome/browser/ui/views/chooser_content_view.cc |
| index c4b1ab03922943b32c8225ff36334fe5e45e1a0e..b7edbbdb639876308bbdabf0dae265dd3e416a1d 100644 |
| --- a/chrome/browser/ui/views/chooser_content_view.cc |
| +++ b/chrome/browser/ui/views/chooser_content_view.cc |
| @@ -9,6 +9,7 @@ |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/gfx/color_palette.h" |
| +#include "ui/gfx/geometry/point.h" |
| #include "ui/gfx/image/image_skia.h" |
| #include "ui/gfx/paint_vector_icon.h" |
| #include "ui/gfx/vector_icons_public.h" |
| @@ -27,6 +28,8 @@ const int kChooserHeight = 220; |
| const int kThrobberDiameter = 24; |
| +const int kAdapterOffHelpLinkPadding = 5; |
| + |
| // The lookup table for signal strength level image. |
| const int kSignalStrengthLevelImageIds[5] = {IDR_SIGNAL_0_BAR, IDR_SIGNAL_1_BAR, |
| IDR_SIGNAL_2_BAR, IDR_SIGNAL_3_BAR, |
| @@ -61,12 +64,26 @@ ChooserContentView::ChooserContentView( |
| kThrobberDiameter, kThrobberDiameter); |
| throbber_->SetVisible(false); |
| AddChildView(throbber_); |
| + |
| + adapter_off_help_ = new views::Link( |
| + l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF)); |
|
sky
2016/09/18 16:06:27
TURN_ADAPTER_OFF/
juncai
2016/09/19 19:55:24
Done.
|
| + adapter_off_help_->SetHandlesTooltips(false); |
| + adapter_off_help_->SetUnderline(false); |
| + adapter_off_help_->SetMultiLine(true); |
| + adapter_off_help_->SizeToFit(kChooserWidth); |
| + adapter_off_help_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| + adapter_off_help_->set_listener(this); |
| + adapter_off_help_->SetPosition( |
|
sky
2016/09/18 16:06:27
Why are you setting the position here? You have a
juncai
2016/09/19 19:55:24
Done.
|
| + gfx::Point(kAdapterOffHelpLinkPadding, kAdapterOffHelpLinkPadding)); |
| + adapter_off_help_->SetVisible(false); |
| + AddChildView(adapter_off_help_); |
| } |
| ChooserContentView::~ChooserContentView() { |
| chooser_controller_->set_view(nullptr); |
| table_view_->SetObserver(nullptr); |
| table_view_->SetModel(nullptr); |
| + adapter_off_help_->set_listener(nullptr); |
| if (discovery_state_) |
| discovery_state_->set_listener(nullptr); |
| } |
| @@ -159,7 +176,8 @@ void ChooserContentView::OnAdapterEnabledChanged(bool enabled) { |
| // of a previously selected row. |
| table_view_->Select(-1); |
| UpdateTableView(); |
| - table_view_->SetVisible(true); |
| + table_view_->SetVisible(enabled); |
| + adapter_off_help_->SetVisible(!enabled); |
| throbber_->Stop(); |
| throbber_->SetVisible(false); |
| @@ -195,7 +213,12 @@ void ChooserContentView::OnRefreshStateChanged(bool refreshing) { |
| } |
| void ChooserContentView::LinkClicked(views::Link* source, int event_flags) { |
| - chooser_controller_->RefreshOptions(); |
| + if (source == discovery_state_) |
| + chooser_controller_->RefreshOptions(); |
| + else if (source == adapter_off_help_) |
| + chooser_controller_->OpenAdapterOffHelpUrl(); |
| + else |
| + NOTREACHED(); |
| } |
| void ChooserContentView::StyledLabelLinkClicked(views::StyledLabel* label, |