Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5821)

Unified Diff: chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc

Issue 1661063002: Add message and Help Center link to the chooser UI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed some typos Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
diff --git a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
index 4a412c6a53ccd7af07c70572614ddc340035e1bc..32247e8641d15e91bc72c9569beeb7f4e0f8dfda 100644
--- a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
+++ b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
@@ -30,6 +30,10 @@
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/button/label_button_border.h"
+#include "ui/views/controls/label.h"
+#include "ui/views/controls/link.h"
+#include "ui/views/controls/link_listener.h"
+#include "ui/views/controls/separator.h"
#include "ui/views/controls/table/table_view.h"
#include "ui/views/controls/table/table_view_observer.h"
#include "ui/views/layout/box_layout.h"
@@ -50,6 +54,9 @@ const int kBubbleOuterMargin = 5;
// Spacing between major items should be 9px.
const int kItemMajorSpacing = 9;
+// Spacing between two text labels.
+const int kTextLabelSpacing = 3;
+
// Button border size, draws inside the spacing distance.
const int kButtonBorderSize = 2;
@@ -65,6 +72,7 @@ class ChooserTableModel;
// View implementation for the chooser bubble.
class ChooserBubbleUiViewDelegate : public views::BubbleDelegateView,
public views::ButtonListener,
+ public views::LinkListener,
public views::TableViewObserver {
public:
ChooserBubbleUiViewDelegate(views::View* anchor_view,
@@ -75,14 +83,17 @@ class ChooserBubbleUiViewDelegate : public views::BubbleDelegateView,
void Close();
- // BubbleDelegateView:
+ // views::BubbleDelegateView:
bool ShouldShowWindowTitle() const override;
base::string16 GetWindowTitle() const override;
void OnWidgetDestroying(views::Widget* widget) override;
- // ButtonListener:
+ // views::ButtonListener:
void ButtonPressed(views::Button* button, const ui::Event& event) override;
+ // views::LinkListener:
+ void LinkClicked(views::Link* source, int event_flags) override;
+
// views::TableViewObserver:
void OnSelectionChanged() override;
@@ -99,6 +110,7 @@ class ChooserBubbleUiViewDelegate : public views::BubbleDelegateView,
views::LabelButton* connect_button_;
views::LabelButton* cancel_button_;
+ views::Link* get_help_link_;
views::TableView* table_view_;
ChooserTableModel* chooser_table_model_;
bool button_pressed_;
@@ -146,6 +158,21 @@ ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate(
owner_(owner),
chooser_bubble_delegate_(chooser_bubble_delegate),
button_pressed_(false) {
+ // ------------------------------------
msw 2016/02/17 01:31:35 Why is this bubble a darker gray than others?
juncai 2016/02/17 22:40:40 The chooser bubble color is the same color as othe
+ // | Chooser bubble title |
+ // | -------------------------------- |
+ // | | option 0 | |
+ // | | option 1 | |
+ // | | option 2 | |
+ // | | | |
+ // | | | |
+ // | | | |
+ // | -------------------------------- |
+ // | [ Connect] [ Cancel ] |
+ // |----------------------------------|
+ // | Not seeing your device? Get help |
+ // ------------------------------------
+
views::GridLayout* layout = new views::GridLayout(this);
SetLayoutManager(layout);
@@ -153,7 +180,7 @@ ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate(
column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
views::GridLayout::USE_PREF, 0, 0);
- layout->StartRow(1, 0);
+ layout->StartRow(0, 0);
// Create a table view
std::vector<ui::TableColumn> table_columns;
@@ -169,9 +196,8 @@ ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate(
views::GridLayout::FILL, views::GridLayout::FILL,
kChooserPermissionBubbleWidth,
kChooserPermissionBubbleHeight);
- if (chooser_bubble_delegate_->NumOptions() == 0) {
+ if (chooser_bubble_delegate_->NumOptions() == 0)
table_view_->SetEnabled(false);
- }
layout->AddPaddingRow(0, kItemMajorSpacing);
@@ -179,7 +205,7 @@ ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate(
views::GridLayout* button_layout = new views::GridLayout(button_row);
views::ColumnSet* button_columns = button_layout->AddColumnSet(0);
button_row->SetLayoutManager(button_layout);
- layout->StartRow(1, 0);
+ layout->StartRow(0, 0);
layout->AddView(button_row);
// Lay out the Connect/Cancel buttons.
@@ -209,6 +235,46 @@ ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate(
button_layout->AddView(cancel_button_);
button_layout->AddPaddingRow(0, kBubbleOuterMargin);
+
+ layout->AddPaddingRow(0, kItemMajorSpacing);
+
+ // Lay out the separator.
+ layout->StartRow(0, 0);
+ views::Separator* separator =
+ new views::Separator(views::Separator::HORIZONTAL);
+ layout->AddView(separator);
+
+ layout->AddPaddingRow(0, kItemMajorSpacing);
+
+ // Lay out the message label and link.
+ views::View* message_row = new views::View();
+ views::GridLayout* message_layout = new views::GridLayout(message_row);
+ views::ColumnSet* message_columns = message_layout->AddColumnSet(0);
+ message_row->SetLayoutManager(message_layout);
+ layout->StartRow(0, 0);
+ layout->AddView(message_row);
+
+ message_columns->AddColumn(views::GridLayout::TRAILING,
+ views::GridLayout::FILL, 0,
+ views::GridLayout::USE_PREF, 0, 0);
+ message_columns->AddPaddingColumn(0, kTextLabelSpacing);
+ message_columns->AddColumn(views::GridLayout::TRAILING,
+ views::GridLayout::FILL, 0,
+ views::GridLayout::USE_PREF, 0, 0);
+ message_layout->StartRow(0, 0);
+
+ views::Label* label = new views::Label(
+ l10n_util::GetStringUTF16(IDS_CHOOSER_BUBBLE_NO_DEVICE_TEXT));
+ label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+ message_layout->AddView(label);
+
+ get_help_link_ = new views::Link(
+ l10n_util::GetStringUTF16(IDS_CHOOSER_BUBBLE_GET_HELP_LINK_TEXT));
+ get_help_link_->SetEnabledColor(SkColorSetRGB(66, 133, 255));
msw 2016/02/17 01:31:35 Where did this color come from? Can you use someth
juncai 2016/02/17 22:40:40 Done.
+ get_help_link_->SetUnderline(false);
+ get_help_link_->set_listener(this);
+ get_help_link_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+ message_layout->AddView(get_help_link_);
}
ChooserBubbleUiViewDelegate::~ChooserBubbleUiViewDelegate() {
@@ -256,6 +322,14 @@ void ChooserBubbleUiViewDelegate::ButtonPressed(views::Button* button,
}
}
+void ChooserBubbleUiViewDelegate::LinkClicked(views::Link* source,
+ int event_flags) {
+ if (source == get_help_link_)
+ chooser_bubble_delegate_->OpenHelpCenterURL();
+ else
+ NOTREACHED();
+}
+
void ChooserBubbleUiViewDelegate::OnSelectionChanged() {
connect_button_->SetEnabled(!table_view_->selection_model().empty());
}

Powered by Google App Engine
This is Rietveld 408576698