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

Side by Side 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: added chooser UI comments 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h" 5 #include "chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 12 matching lines...) Expand all
23 #include "ui/accessibility/ax_view_state.h" 23 #include "ui/accessibility/ax_view_state.h"
24 #include "ui/base/l10n/l10n_util.h" 24 #include "ui/base/l10n/l10n_util.h"
25 #include "ui/base/resource/resource_bundle.h" 25 #include "ui/base/resource/resource_bundle.h"
26 #include "ui/gfx/paint_vector_icon.h" 26 #include "ui/gfx/paint_vector_icon.h"
27 #include "ui/gfx/text_constants.h" 27 #include "ui/gfx/text_constants.h"
28 #include "ui/gfx/vector_icons_public.h" 28 #include "ui/gfx/vector_icons_public.h"
29 #include "ui/views/bubble/bubble_delegate.h" 29 #include "ui/views/bubble/bubble_delegate.h"
30 #include "ui/views/bubble/bubble_frame_view.h" 30 #include "ui/views/bubble/bubble_frame_view.h"
31 #include "ui/views/controls/button/label_button.h" 31 #include "ui/views/controls/button/label_button.h"
32 #include "ui/views/controls/button/label_button_border.h" 32 #include "ui/views/controls/button/label_button_border.h"
33 #include "ui/views/controls/label.h"
34 #include "ui/views/controls/separator.h"
33 #include "ui/views/controls/table/table_view.h" 35 #include "ui/views/controls/table/table_view.h"
34 #include "ui/views/controls/table/table_view_observer.h" 36 #include "ui/views/controls/table/table_view_observer.h"
35 #include "ui/views/layout/box_layout.h" 37 #include "ui/views/layout/box_layout.h"
36 #include "ui/views/layout/grid_layout.h" 38 #include "ui/views/layout/grid_layout.h"
37 39
38 namespace { 40 namespace {
39 41
40 // Chooser permission bubble width 42 // Chooser permission bubble width
41 const int kChooserPermissionBubbleWidth = 300; 43 const int kChooserPermissionBubbleWidth = 300;
42 44
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 141
140 ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate( 142 ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate(
141 views::View* anchor_view, 143 views::View* anchor_view,
142 views::BubbleBorder::Arrow anchor_arrow, 144 views::BubbleBorder::Arrow anchor_arrow,
143 ChooserBubbleUiView* owner, 145 ChooserBubbleUiView* owner,
144 ChooserBubbleDelegate* chooser_bubble_delegate) 146 ChooserBubbleDelegate* chooser_bubble_delegate)
145 : views::BubbleDelegateView(anchor_view, anchor_arrow), 147 : views::BubbleDelegateView(anchor_view, anchor_arrow),
146 owner_(owner), 148 owner_(owner),
147 chooser_bubble_delegate_(chooser_bubble_delegate), 149 chooser_bubble_delegate_(chooser_bubble_delegate),
148 button_pressed_(false) { 150 button_pressed_(false) {
151 // ------------------------------------
152 // | Chooser bubble title |
153 // | -------------------------------- |
154 // | | option 0 | |
155 // | | option 1 | |
156 // | | option 2 | |
157 // | | | |
158 // | | | |
159 // | | | |
160 // | -------------------------------- |
161 // | [ Connect] [ Cancel ] |
162 // | -------------------------------- |
163 // | Privacy message |
164 // ------------------------------------
165
149 views::GridLayout* layout = new views::GridLayout(this); 166 views::GridLayout* layout = new views::GridLayout(this);
150 SetLayoutManager(layout); 167 SetLayoutManager(layout);
151 168
152 views::ColumnSet* column_set = layout->AddColumnSet(0); 169 views::ColumnSet* column_set = layout->AddColumnSet(0);
153 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1, 170 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
154 views::GridLayout::USE_PREF, 0, 0); 171 views::GridLayout::USE_PREF, 0, 0);
155 172
156 layout->StartRow(1, 0); 173 layout->StartRow(1, 0);
157 174
158 // Create a table view 175 // Create a table view
159 std::vector<ui::TableColumn> table_columns; 176 std::vector<ui::TableColumn> table_columns;
160 table_columns.push_back(ChooserTableColumn( 177 table_columns.push_back(ChooserTableColumn(
161 0, "" /* Empty string makes the column title invisible */)); 178 0, "" /* Empty string makes the column title invisible */));
162 chooser_table_model_ = new ChooserTableModel(chooser_bubble_delegate_); 179 chooser_table_model_ = new ChooserTableModel(chooser_bubble_delegate_);
163 table_view_ = new views::TableView(chooser_table_model_, table_columns, 180 table_view_ = new views::TableView(chooser_table_model_, table_columns,
164 views::TEXT_ONLY, true); 181 views::TEXT_ONLY, true);
165 table_view_->set_select_on_remove(false); 182 table_view_->set_select_on_remove(false);
166 chooser_table_model_->SetObserver(table_view_); 183 chooser_table_model_->SetObserver(table_view_);
167 table_view_->SetObserver(this); 184 table_view_->SetObserver(this);
168 layout->AddView(table_view_->CreateParentIfNecessary(), 1, 1, 185 layout->AddView(table_view_->CreateParentIfNecessary(), 1, 1,
169 views::GridLayout::FILL, views::GridLayout::FILL, 186 views::GridLayout::FILL, views::GridLayout::FILL,
170 kChooserPermissionBubbleWidth, 187 kChooserPermissionBubbleWidth,
171 kChooserPermissionBubbleHeight); 188 kChooserPermissionBubbleHeight);
172 if (chooser_bubble_delegate_->NumOptions() == 0) { 189 if (chooser_bubble_delegate_->NumOptions() == 0)
173 table_view_->SetEnabled(false); 190 table_view_->SetEnabled(false);
174 }
175 191
176 layout->AddPaddingRow(0, kItemMajorSpacing); 192 layout->AddPaddingRow(0, kItemMajorSpacing);
177 193
178 views::View* button_row = new views::View(); 194 views::View* button_row = new views::View();
179 views::GridLayout* button_layout = new views::GridLayout(button_row); 195 views::GridLayout* button_layout = new views::GridLayout(button_row);
180 views::ColumnSet* button_columns = button_layout->AddColumnSet(0); 196 views::ColumnSet* button_columns = button_layout->AddColumnSet(0);
181 button_row->SetLayoutManager(button_layout); 197 button_row->SetLayoutManager(button_layout);
182 layout->StartRow(1, 0); 198 layout->StartRow(1, 0);
183 layout->AddView(button_row); 199 layout->AddView(button_row);
184 200
(...skipping 17 matching lines...) Expand all
202 button_layout->AddView(connect_button_); 218 button_layout->AddView(connect_button_);
203 chooser_table_model_->SetConnectButton(connect_button_); 219 chooser_table_model_->SetConnectButton(connect_button_);
204 220
205 base::string16 cancel_text = 221 base::string16 cancel_text =
206 l10n_util::GetStringUTF16(IDS_CHOOSER_BUBBLE_CANCEL_BUTTON_TEXT); 222 l10n_util::GetStringUTF16(IDS_CHOOSER_BUBBLE_CANCEL_BUTTON_TEXT);
207 cancel_button_ = new views::LabelButton(this, cancel_text); 223 cancel_button_ = new views::LabelButton(this, cancel_text);
208 cancel_button_->SetStyle(views::Button::STYLE_BUTTON); 224 cancel_button_->SetStyle(views::Button::STYLE_BUTTON);
209 button_layout->AddView(cancel_button_); 225 button_layout->AddView(cancel_button_);
210 226
211 button_layout->AddPaddingRow(0, kBubbleOuterMargin); 227 button_layout->AddPaddingRow(0, kBubbleOuterMargin);
228
229 layout->AddPaddingRow(0, kItemMajorSpacing);
230
231 // Lay out the separator.
232 layout->StartRow(1, 0);
233 views::Separator* separator =
234 new views::Separator(views::Separator::HORIZONTAL);
235 layout->AddView(separator);
236
237 layout->AddPaddingRow(0, kItemMajorSpacing);
238
239 // Lay out the privacy message label.
240 layout->StartRow(1, 0);
241 views::Label* label = new views::Label(
242 l10n_util::GetStringUTF16(IDS_CHOOSER_BUBBLE_PRIVACY_MESSAGE_TEXT));
243 label->SetMultiLine(true);
244 label->SizeToFit(kChooserPermissionBubbleWidth);
245 label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
246 layout->AddView(label);
212 } 247 }
213 248
214 ChooserBubbleUiViewDelegate::~ChooserBubbleUiViewDelegate() { 249 ChooserBubbleUiViewDelegate::~ChooserBubbleUiViewDelegate() {
215 RemoveAllChildViews(true); 250 RemoveAllChildViews(true);
216 if (owner_) 251 if (owner_)
217 owner_->Close(); 252 owner_->Close();
218 chooser_table_model_->SetObserver(nullptr); 253 chooser_table_model_->SetObserver(nullptr);
219 } 254 }
220 255
221 void ChooserBubbleUiViewDelegate::Close() { 256 void ChooserBubbleUiViewDelegate::Close() {
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 return browser_view->exclusive_access_bubble()->GetView(); 435 return browser_view->exclusive_access_bubble()->GetView();
401 436
402 return browser_view->top_container(); 437 return browser_view->top_container();
403 } 438 }
404 439
405 views::BubbleBorder::Arrow ChooserBubbleUiView::GetAnchorArrow() { 440 views::BubbleBorder::Arrow ChooserBubbleUiView::GetAnchorArrow() {
406 if (browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR)) 441 if (browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR))
407 return views::BubbleBorder::TOP_LEFT; 442 return views::BubbleBorder::TOP_LEFT;
408 return views::BubbleBorder::NONE; 443 return views::BubbleBorder::NONE;
409 } 444 }
OLDNEW
« chrome/app/generated_resources.grd ('K') | « chrome/app/generated_resources.grd ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698