Index: ui/app_list/views/search_result_tile_item_view.cc |
diff --git a/ui/app_list/views/search_result_tile_item_view.cc b/ui/app_list/views/search_result_tile_item_view.cc |
index e23cd4fd6992ecff922a8a57a30143f4b1bc06c7..fcb8eff47ba16214d5761e7779eaadb27af4d6d4 100644 |
--- a/ui/app_list/views/search_result_tile_item_view.cc |
+++ b/ui/app_list/views/search_result_tile_item_view.cc |
@@ -9,7 +9,9 @@ |
#include "ui/app_list/app_list_features.h" |
#include "ui/app_list/app_list_view_delegate.h" |
#include "ui/app_list/search_result.h" |
+#include "ui/app_list/vector_icons/vector_icons.h" |
#include "ui/app_list/views/search_result_container_view.h" |
+#include "ui/gfx/paint_vector_icon.h" |
#include "ui/views/controls/image_view.h" |
#include "ui/views/controls/label.h" |
#include "ui/views/controls/menu/menu_runner.h" |
@@ -21,6 +23,9 @@ namespace { |
constexpr int kSearchTileWidth = 80; |
constexpr int kSearchTileTopPadding = 4; |
constexpr int kSearchTitleSpacing = 6; |
+constexpr int kSearchRatingStarSize = 12; |
+constexpr int kSearchRatingStarHorizontalSpacing = 1; |
+constexpr int kSearchRatingStarVerticalSpacing = 2; |
constexpr SkColor kSearchTitleColor = |
SkColorSetARGBMacro(0xDF, 0x00, 0x00, 0x00); |
@@ -28,6 +33,8 @@ constexpr SkColor kSearchAppRatingColor = |
SkColorSetARGBMacro(0x8F, 0x00, 0x00, 0x00); |
constexpr SkColor kSearchAppPriceColor = |
SkColorSetARGBMacro(0xFF, 0x0F, 0x9D, 0x58); |
+constexpr SkColor kSearchRatingStarColor = |
+ SkColorSetARGBMacro(0x8F, 0x00, 0x00, 0x00); |
} // namespace |
@@ -53,6 +60,14 @@ SearchResultTileItemView::SearchResultTileItemView( |
rating_->SetVisible(false); |
AddChildView(rating_); |
+ rating_star_ = new views::ImageView; |
+ rating_star_->set_can_process_events_within_subtree(false); |
+ rating_star_->SetVerticalAlignment(views::ImageView::LEADING); |
+ rating_star_->SetImage(gfx::CreateVectorIcon( |
+ kIcBadgeRatingIcon, kSearchRatingStarSize, kSearchRatingStarColor)); |
+ rating_star_->SetVisible(false); |
+ AddChildView(rating_star_); |
+ |
price_ = new views::Label; |
price_->SetEnabledColor(kSearchAppPriceColor); |
price_->SetFontList(base_font); |
@@ -124,11 +139,13 @@ void SearchResultTileItemView::SetRating(float rating) { |
if (rating < 0) { |
rating_->SetVisible(false); |
+ rating_star_->SetVisible(false); |
return; |
} |
rating_->SetText(base::FormatDouble(rating, 1)); |
rating_->SetVisible(true); |
+ rating_star_->SetVisible(true); |
} |
void SearchResultTileItemView::SetPrice(const base::string16& price) { |
@@ -251,6 +268,18 @@ void SearchResultTileItemView::Layout() { |
rating_->SetBoundsRect(rating_rect); |
} |
+ if (rating_star_) { |
+ gfx::Rect rating_star_rect(rect); |
+ rating_star_rect.Inset(rating_->GetPreferredSize().width() + |
+ kSearchRatingStarHorizontalSpacing, |
+ title()->GetPreferredSize().height() + |
+ kSearchRatingStarVerticalSpacing, |
+ 0, 0); |
+ rating_star_rect.set_height(rating_star_->GetPreferredSize().height()); |
+ rating_star_rect.set_width(rating_star_->GetPreferredSize().width()); |
+ rating_star_->SetBoundsRect(rating_star_rect); |
+ } |
+ |
if (price_) { |
gfx::Rect price_rect(rect); |
price_rect.Inset(0, title()->GetPreferredSize().height(), 0, 0); |