Commit 854c03bc authored by Robert Liao's avatar Robert Liao Committed by Commit Bot

Simplify the No Search Result View Construction

This helps prepare for removing set_owned_by_client().

Change-Id: I3ab63431717d6df8bd826c1ce404df9be751b127
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2222912
Auto-Submit: Robert Liao <robliao@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#773884}
parent 237dd4a4
...@@ -64,16 +64,13 @@ KeyboardShortcutView* g_ksv_view = nullptr; ...@@ -64,16 +64,13 @@ KeyboardShortcutView* g_ksv_view = nullptr;
constexpr base::nullopt_t kAllCategories = base::nullopt; constexpr base::nullopt_t kAllCategories = base::nullopt;
// Setups the illustration views for search states, including an icon and a // Creates the no search result view.
// descriptive text. std::unique_ptr<views::View> CreateNoSearchResultView() {
void SetupSearchIllustrationView(views::View* illustration_view,
const gfx::VectorIcon& icon,
int message_id) {
constexpr int kSearchIllustrationIconSize = 150; constexpr int kSearchIllustrationIconSize = 150;
constexpr SkColor kSearchIllustrationIconColor = constexpr SkColor kSearchIllustrationIconColor =
SkColorSetARGB(0xFF, 0xDA, 0xDC, 0xE0); SkColorSetARGB(0xFF, 0xDA, 0xDC, 0xE0);
illustration_view->set_owned_by_client(); auto illustration_view = std::make_unique<views::View>();
constexpr int kTopPadding = 98; constexpr int kTopPadding = 98;
views::BoxLayout* layout = views::BoxLayout* layout =
illustration_view->SetLayoutManager(std::make_unique<views::BoxLayout>( illustration_view->SetLayoutManager(std::make_unique<views::BoxLayout>(
...@@ -81,22 +78,23 @@ void SetupSearchIllustrationView(views::View* illustration_view, ...@@ -81,22 +78,23 @@ void SetupSearchIllustrationView(views::View* illustration_view,
gfx::Insets(kTopPadding, 0, 0, 0))); gfx::Insets(kTopPadding, 0, 0, 0)));
layout->set_main_axis_alignment(views::BoxLayout::MainAxisAlignment::kStart); layout->set_main_axis_alignment(views::BoxLayout::MainAxisAlignment::kStart);
auto image_view = std::make_unique<views::ImageView>(); auto image_view = std::make_unique<views::ImageView>();
image_view->SetImage( image_view->SetImage(gfx::CreateVectorIcon(kKsvSearchNoResultIcon,
gfx::CreateVectorIcon(icon, kSearchIllustrationIconColor)); kSearchIllustrationIconColor));
image_view->SetImageSize( image_view->SetImageSize(
gfx::Size(kSearchIllustrationIconSize, kSearchIllustrationIconSize)); gfx::Size(kSearchIllustrationIconSize, kSearchIllustrationIconSize));
illustration_view->AddChildView(std::move(image_view)); illustration_view->AddChildView(std::move(image_view));
constexpr SkColor kSearchIllustrationTextColor = constexpr SkColor kSearchIllustrationTextColor =
SkColorSetARGB(0xFF, 0x20, 0x21, 0x24); SkColorSetARGB(0xFF, 0x20, 0x21, 0x24);
auto text = auto text = std::make_unique<views::Label>(
std::make_unique<views::Label>(l10n_util::GetStringUTF16(message_id)); l10n_util::GetStringUTF16(IDS_KSV_SEARCH_NO_RESULT));
text->SetEnabledColor(kSearchIllustrationTextColor); text->SetEnabledColor(kSearchIllustrationTextColor);
constexpr int kLabelFontSizeDelta = 1; constexpr int kLabelFontSizeDelta = 1;
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
text->SetFontList(rb.GetFontListWithDelta( text->SetFontList(rb.GetFontListWithDelta(
kLabelFontSizeDelta, gfx::Font::NORMAL, gfx::Font::Weight::NORMAL)); kLabelFontSizeDelta, gfx::Font::NORMAL, gfx::Font::Weight::NORMAL));
illustration_view->AddChildView(std::move(text)); illustration_view->AddChildView(std::move(text));
return illustration_view;
} }
class ShortcutsListScrollView : public views::ScrollView { class ShortcutsListScrollView : public views::ScrollView {
...@@ -367,9 +365,8 @@ void KeyboardShortcutView::InitViews() { ...@@ -367,9 +365,8 @@ void KeyboardShortcutView::InitViews() {
AddChildView(search_box_view_.get()); AddChildView(search_box_view_.get());
// Init no search result illustration view. // Init no search result illustration view.
search_no_result_view_ = std::make_unique<views::View>(); search_no_result_view_ = CreateNoSearchResultView();
SetupSearchIllustrationView(search_no_result_view_.get(), search_no_result_view_->set_owned_by_client();
kKsvSearchNoResultIcon, IDS_KSV_SEARCH_NO_RESULT);
// Init search results container view. // Init search results container view.
search_results_container_ = AddChildView(std::make_unique<views::View>()); search_results_container_ = AddChildView(std::make_unique<views::View>());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment