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 b5705e4856b720630acbc62b088890f6114d0283..6c98dbeecb5382e967cb692168e31133ceaddec9 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.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" |
@@ -22,6 +24,9 @@ constexpr int kSearchTileWidth = 80; |
constexpr int kSearchTileHeight = 92; |
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); |
@@ -29,6 +34,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 |
@@ -54,6 +61,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); |
@@ -120,11 +135,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) { |
@@ -245,6 +262,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); |
xiyuan
2017/06/27 14:46:02
Please run with a rtl lang (e.g. --lang=ar or --la
weidongg
2017/06/27 17:06:06
The star is in the left side of number for both ar
|
+ } |
+ |
if (price_) { |
gfx::Rect price_rect(rect); |
price_rect.Inset(0, title()->GetPreferredSize().height(), 0, 0); |