| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extensions/media_galleries_dialog_views.h" | 5 #include "chrome/browser/ui/views/extensions/media_galleries_dialog_views.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| 11 #include "chrome/browser/ui/views/extensions/media_gallery_checkbox_view.h" | 11 #include "chrome/browser/ui/views/extensions/media_gallery_checkbox_view.h" |
| 12 #include "chrome/browser/ui/views/harmony/layout_delegate.h" | 12 #include "chrome/browser/ui/views/harmony/chrome_layout_provider.h" |
| 13 #include "chrome/grit/generated_resources.h" | 13 #include "chrome/grit/generated_resources.h" |
| 14 #include "chrome/grit/locale_settings.h" | 14 #include "chrome/grit/locale_settings.h" |
| 15 #include "components/constrained_window/constrained_window_views.h" | 15 #include "components/constrained_window/constrained_window_views.h" |
| 16 #include "components/web_modal/web_contents_modal_dialog_manager.h" | 16 #include "components/web_modal/web_contents_modal_dialog_manager.h" |
| 17 #include "content/public/browser/web_contents.h" | 17 #include "content/public/browser/web_contents.h" |
| 18 #include "ui/base/l10n/l10n_util.h" | 18 #include "ui/base/l10n/l10n_util.h" |
| 19 #include "ui/native_theme/native_theme.h" | 19 #include "ui/native_theme/native_theme.h" |
| 20 #include "ui/views/border.h" | 20 #include "ui/views/border.h" |
| 21 #include "ui/views/controls/button/checkbox.h" | 21 #include "ui/views/controls/button/checkbox.h" |
| 22 #include "ui/views/controls/button/image_button.h" | 22 #include "ui/views/controls/button/image_button.h" |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 int column_set_id = 0; | 103 int column_set_id = 0; |
| 104 views::ColumnSet* columns = layout->AddColumnSet(column_set_id); | 104 views::ColumnSet* columns = layout->AddColumnSet(column_set_id); |
| 105 columns->AddColumn(views::GridLayout::LEADING, | 105 columns->AddColumn(views::GridLayout::LEADING, |
| 106 views::GridLayout::LEADING, | 106 views::GridLayout::LEADING, |
| 107 1, | 107 1, |
| 108 views::GridLayout::FIXED, | 108 views::GridLayout::FIXED, |
| 109 dialog_content_width, | 109 dialog_content_width, |
| 110 0); | 110 0); |
| 111 | 111 |
| 112 // Message text. | 112 // Message text. |
| 113 LayoutDelegate* layout_delegate = LayoutDelegate::Get(); | 113 ChromeLayoutProvider* provider = ChromeLayoutProvider::Get(); |
| 114 const int vertical_padding = layout_delegate->GetMetric( | 114 const int vertical_padding = |
| 115 LayoutDelegate::Metric::RELATED_CONTROL_VERTICAL_SPACING); | 115 provider->GetDistanceMetric(views::DISTANCE_RELATED_CONTROL_VERTICAL); |
| 116 views::Label* subtext = new views::Label(controller_->GetSubtext()); | 116 views::Label* subtext = new views::Label(controller_->GetSubtext()); |
| 117 subtext->SetMultiLine(true); | 117 subtext->SetMultiLine(true); |
| 118 subtext->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 118 subtext->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 119 layout->StartRow(0, column_set_id); | 119 layout->StartRow(0, column_set_id); |
| 120 layout->AddView( | 120 layout->AddView( |
| 121 subtext, 1, 1, | 121 subtext, 1, 1, |
| 122 views::GridLayout::FILL, views::GridLayout::LEADING, | 122 views::GridLayout::FILL, views::GridLayout::LEADING, |
| 123 dialog_content_width, subtext->GetHeightForWidth(dialog_content_width)); | 123 dialog_content_width, subtext->GetHeightForWidth(dialog_content_width)); |
| 124 layout->AddPaddingRow(0, vertical_padding); | 124 layout->AddPaddingRow(0, vertical_padding); |
| 125 | 125 |
| 126 // Scrollable area for checkboxes. | 126 // Scrollable area for checkboxes. |
| 127 const int small_vertical_padding = LayoutDelegate::Get()->GetMetric( | 127 const int small_vertical_padding = |
| 128 LayoutDelegate::Metric::RELATED_CONTROL_VERTICAL_SPACING_SMALL); | 128 provider->GetDistanceMetric(DISTANCE_RELATED_CONTROL_VERTICAL_SMALL); |
| 129 ScrollableView* scroll_container = new ScrollableView(); | 129 ScrollableView* scroll_container = new ScrollableView(); |
| 130 scroll_container->SetLayoutManager(new views::BoxLayout( | 130 scroll_container->SetLayoutManager(new views::BoxLayout( |
| 131 views::BoxLayout::kVertical, 0, 0, small_vertical_padding)); | 131 views::BoxLayout::kVertical, 0, 0, small_vertical_padding)); |
| 132 scroll_container->SetBorder( | 132 scroll_container->SetBorder( |
| 133 views::CreateEmptyBorder(vertical_padding, 0, vertical_padding, 0)); | 133 views::CreateEmptyBorder(vertical_padding, 0, vertical_padding, 0)); |
| 134 | 134 |
| 135 std::vector<base::string16> section_headers = | 135 std::vector<base::string16> section_headers = |
| 136 controller_->GetSectionHeaders(); | 136 controller_->GetSectionHeaders(); |
| 137 for (size_t i = 0; i < section_headers.size(); i++) { | 137 for (size_t i = 0; i < section_headers.size(); i++) { |
| 138 MediaGalleriesDialogController::Entries entries = | 138 MediaGalleriesDialogController::Entries entries = |
| 139 controller_->GetSectionEntries(i); | 139 controller_->GetSectionEntries(i); |
| 140 | 140 |
| 141 // Header and separator line. | 141 // Header and separator line. |
| 142 if (!section_headers[i].empty() && !entries.empty()) { | 142 if (!section_headers[i].empty() && !entries.empty()) { |
| 143 views::Separator* separator = new views::Separator(); | 143 views::Separator* separator = new views::Separator(); |
| 144 scroll_container->AddChildView(separator); | 144 scroll_container->AddChildView(separator); |
| 145 | 145 |
| 146 views::Label* header = new views::Label(section_headers[i]); | 146 views::Label* header = new views::Label(section_headers[i]); |
| 147 header->SetMultiLine(true); | 147 header->SetMultiLine(true); |
| 148 header->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 148 header->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 149 header->SetBorder(views::CreateEmptyBorder( | 149 header->SetBorder(views::CreateEmptyBorder( |
| 150 vertical_padding, | 150 vertical_padding, |
| 151 layout_delegate->GetMetric( | 151 provider->GetDistanceMetric(DISTANCE_PANEL_CONTENT_MARGIN), |
| 152 LayoutDelegate::Metric::PANEL_CONTENT_MARGIN), | |
| 153 vertical_padding, 0)); | 152 vertical_padding, 0)); |
| 154 scroll_container->AddChildView(header); | 153 scroll_container->AddChildView(header); |
| 155 } | 154 } |
| 156 | 155 |
| 157 // Checkboxes. | 156 // Checkboxes. |
| 158 MediaGalleriesDialogController::Entries::const_iterator iter; | 157 MediaGalleriesDialogController::Entries::const_iterator iter; |
| 159 for (iter = entries.begin(); iter != entries.end(); ++iter) { | 158 for (iter = entries.begin(); iter != entries.end(); ++iter) { |
| 160 int spacing = iter + 1 == entries.end() ? small_vertical_padding : 0; | 159 int spacing = iter + 1 == entries.end() ? small_vertical_padding : 0; |
| 161 AddOrUpdateGallery(*iter, scroll_container, spacing); | 160 AddOrUpdateGallery(*iter, scroll_container, spacing); |
| 162 } | 161 } |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 context_menu_runner_.reset(); | 320 context_menu_runner_.reset(); |
| 322 } | 321 } |
| 323 | 322 |
| 324 // MediaGalleriesDialogViewsController ----------------------------------------- | 323 // MediaGalleriesDialogViewsController ----------------------------------------- |
| 325 | 324 |
| 326 // static | 325 // static |
| 327 MediaGalleriesDialog* MediaGalleriesDialog::Create( | 326 MediaGalleriesDialog* MediaGalleriesDialog::Create( |
| 328 MediaGalleriesDialogController* controller) { | 327 MediaGalleriesDialogController* controller) { |
| 329 return new MediaGalleriesDialogViews(controller); | 328 return new MediaGalleriesDialogViews(controller); |
| 330 } | 329 } |
| OLD | NEW |