| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/chooser_content_view.h" | 5 #include "chrome/browser/ui/views/chooser_content_view.h" | 
| 6 | 6 | 
| 7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" | 
| 8 #include "base/numerics/safe_conversions.h" | 8 #include "base/numerics/safe_conversions.h" | 
| 9 #include "chrome/grit/generated_resources.h" | 9 #include "chrome/grit/generated_resources.h" | 
| 10 #include "ui/base/l10n/l10n_util.h" | 10 #include "ui/base/l10n/l10n_util.h" | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 57   help_text_range_ = gfx::Range(offsets[0], offsets[0] + help_text_.size()); | 57   help_text_range_ = gfx::Range(offsets[0], offsets[0] + help_text_.size()); | 
| 58   re_scan_text_range_ = | 58   re_scan_text_range_ = | 
| 59       gfx::Range(offsets[1], offsets[1] + re_scan_text.size()); | 59       gfx::Range(offsets[1], offsets[1] + re_scan_text.size()); | 
| 60   chooser_controller_->set_view(this); | 60   chooser_controller_->set_view(this); | 
| 61   std::vector<ui::TableColumn> table_columns; | 61   std::vector<ui::TableColumn> table_columns; | 
| 62   table_columns.push_back(ui::TableColumn()); | 62   table_columns.push_back(ui::TableColumn()); | 
| 63   table_view_ = new views::TableView( | 63   table_view_ = new views::TableView( | 
| 64       this, table_columns, | 64       this, table_columns, | 
| 65       chooser_controller_->ShouldShowIconBeforeText() ? views::ICON_AND_TEXT | 65       chooser_controller_->ShouldShowIconBeforeText() ? views::ICON_AND_TEXT | 
| 66                                                       : views::TEXT_ONLY, | 66                                                       : views::TEXT_ONLY, | 
| 67       true /* single_selection */); | 67       !chooser_controller_->AllowMultipleSelection() /* single_selection */); | 
| 68   table_view_->set_select_on_remove(false); | 68   table_view_->set_select_on_remove(false); | 
| 69   table_view_->SetObserver(table_view_observer); | 69   table_view_->SetObserver(table_view_observer); | 
| 70   table_view_->SetEnabled(chooser_controller_->NumOptions() > 0); | 70   table_view_->SetEnabled(chooser_controller_->NumOptions() > 0); | 
| 71 | 71 | 
| 72   table_parent_ = table_view_->CreateParentIfNecessary(); | 72   table_parent_ = table_view_->CreateParentIfNecessary(); | 
| 73   AddChildView(table_parent_); | 73   AddChildView(table_parent_); | 
| 74 | 74 | 
| 75   throbber_ = new views::Throbber(); | 75   throbber_ = new views::Throbber(); | 
| 76   throbber_->SetVisible(false); | 76   throbber_->SetVisible(false); | 
| 77   AddChildView(throbber_); | 77   AddChildView(throbber_); | 
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 278              ? chooser_controller_->GetOkButtonLabel() | 278              ? chooser_controller_->GetOkButtonLabel() | 
| 279              : l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_CANCEL_BUTTON_TEXT); | 279              : l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_CANCEL_BUTTON_TEXT); | 
| 280 } | 280 } | 
| 281 | 281 | 
| 282 bool ChooserContentView::IsDialogButtonEnabled(ui::DialogButton button) const { | 282 bool ChooserContentView::IsDialogButtonEnabled(ui::DialogButton button) const { | 
| 283   return button != ui::DIALOG_BUTTON_OK || | 283   return button != ui::DIALOG_BUTTON_OK || | 
| 284          !table_view_->selection_model().empty(); | 284          !table_view_->selection_model().empty(); | 
| 285 } | 285 } | 
| 286 | 286 | 
| 287 void ChooserContentView::Accept() { | 287 void ChooserContentView::Accept() { | 
| 288   chooser_controller_->Select(table_view_->selection_model().active()); | 288   std::vector<size_t> indices( | 
|  | 289       table_view_->selection_model().selected_indices().begin(), | 
|  | 290       table_view_->selection_model().selected_indices().end()); | 
|  | 291   chooser_controller_->Select(indices); | 
| 289 } | 292 } | 
| 290 | 293 | 
| 291 void ChooserContentView::Cancel() { | 294 void ChooserContentView::Cancel() { | 
| 292   chooser_controller_->Cancel(); | 295   chooser_controller_->Cancel(); | 
| 293 } | 296 } | 
| 294 | 297 | 
| 295 void ChooserContentView::Close() { | 298 void ChooserContentView::Close() { | 
| 296   chooser_controller_->Close(); | 299   chooser_controller_->Close(); | 
| 297 } | 300 } | 
| 298 | 301 | 
| 299 void ChooserContentView::UpdateTableView() { | 302 void ChooserContentView::UpdateTableView() { | 
| 300   if (chooser_controller_->NumOptions() == 0) { | 303   if (chooser_controller_->NumOptions() == 0) { | 
| 301     table_view_->OnModelChanged(); | 304     table_view_->OnModelChanged(); | 
| 302     table_view_->SetEnabled(false); | 305     table_view_->SetEnabled(false); | 
| 303   } else { | 306   } else { | 
| 304     table_view_->SetEnabled(true); | 307     table_view_->SetEnabled(true); | 
| 305   } | 308   } | 
| 306 } | 309 } | 
| 307 | 310 | 
| 308 void ChooserContentView::SetGetHelpAndReScanLink() { | 311 void ChooserContentView::SetGetHelpAndReScanLink() { | 
| 309   footnote_link_->SetText(help_and_re_scan_text_); | 312   footnote_link_->SetText(help_and_re_scan_text_); | 
| 310   footnote_link_->AddStyleRange( | 313   footnote_link_->AddStyleRange( | 
| 311       help_text_range_, views::StyledLabel::RangeStyleInfo::CreateForLink()); | 314       help_text_range_, views::StyledLabel::RangeStyleInfo::CreateForLink()); | 
| 312   footnote_link_->AddStyleRange( | 315   footnote_link_->AddStyleRange( | 
| 313       re_scan_text_range_, views::StyledLabel::RangeStyleInfo::CreateForLink()); | 316       re_scan_text_range_, views::StyledLabel::RangeStyleInfo::CreateForLink()); | 
| 314 } | 317 } | 
| OLD | NEW | 
|---|