Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Unified Diff: ui/app_list/views/start_page_view.cc

Issue 2952303002: cros: add SUGGESTED APPS indicator to start page (Closed)
Patch Set: include Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/app_list/views/start_page_view.h ('k') | ui/strings/ui_strings.grd » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/app_list/views/start_page_view.cc
diff --git a/ui/app_list/views/start_page_view.cc b/ui/app_list/views/start_page_view.cc
index e1319360d2637d9ff9220499a7ebf1bc9a57801f..ed255d7cba6817300533abfc49604fd5e2d5bf5c 100644
--- a/ui/app_list/views/start_page_view.cc
+++ b/ui/app_list/views/start_page_view.cc
@@ -23,12 +23,15 @@
#include "ui/app_list/views/app_list_main_view.h"
#include "ui/app_list/views/contents_view.h"
#include "ui/app_list/views/custom_launcher_page_view.h"
+#include "ui/app_list/views/indicator_chip_view.h"
#include "ui/app_list/views/search_box_view.h"
#include "ui/app_list/views/search_result_container_view.h"
#include "ui/app_list/views/search_result_tile_item_view.h"
#include "ui/app_list/views/tile_item_view.h"
+#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/geometry/insets.h"
+#include "ui/strings/grit/ui_strings.h"
#include "ui/views/background.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
@@ -42,9 +45,12 @@ namespace app_list {
namespace {
// Layout constants.
+constexpr int kSearchBoxTopPadding = 24;
constexpr int kInstantContainerSpacing = 24;
constexpr int kSearchBoxAndTilesSpacing = 35;
+constexpr int kSearchBoxAndIndicatorSpacing = 21;
constexpr int kStartPageSearchBoxWidth = 480;
+constexpr int kStartPageSearchBoxWidthFullscreen = 544;
// WebView constants.
constexpr int kWebViewWidth = 700;
@@ -285,15 +291,23 @@ StartPageView::StartPageView(AppListMainView* app_list_main_view,
app_list_main_view->contents_view(),
new AllAppsTileItemView(app_list_main_view_->contents_view(),
app_list_view),
- view_delegate)) {
+ view_delegate)),
+ is_fullscreen_app_list_enabled_(features::IsFullscreenAppListEnabled()) {
search_box_spacer_view_->SetPreferredSize(gfx::Size(
- kStartPageSearchBoxWidth,
+ is_fullscreen_app_list_enabled_ ? kStartPageSearchBoxWidthFullscreen
+ : kStartPageSearchBoxWidth,
app_list_main_view->search_box_view()->GetPreferredSize().height()));
// The view containing the start page WebContents and SearchBoxSpacerView.
InitInstantContainer();
AddChildView(instant_container_);
+ if (is_fullscreen_app_list_enabled_) {
+ indicator_ = new IndicatorChipView(
+ l10n_util::GetStringUTF16(IDS_SUGGESTED_APPS_INDICATOR));
+ AddChildView(indicator_);
+ }
+
// The view containing the start page tiles.
AddChildView(tiles_container_);
AddChildView(custom_launcher_page_background_);
@@ -301,14 +315,18 @@ StartPageView::StartPageView(AppListMainView* app_list_main_view,
tiles_container_->SetResults(view_delegate_->GetModel()->results());
}
-StartPageView::~StartPageView() {
-}
+StartPageView::~StartPageView() = default;
void StartPageView::InitInstantContainer() {
views::BoxLayout* instant_layout_manager = new views::BoxLayout(
views::BoxLayout::kVertical, gfx::Insets(), kInstantContainerSpacing);
- instant_layout_manager->set_inside_border_insets(
- gfx::Insets(0, 0, kSearchBoxAndTilesSpacing, 0));
+ if (is_fullscreen_app_list_enabled_) {
+ instant_layout_manager->set_inside_border_insets(
+ gfx::Insets(kSearchBoxTopPadding, 0, kSearchBoxAndIndicatorSpacing, 0));
+ } else {
+ instant_layout_manager->set_inside_border_insets(
+ gfx::Insets(0, 0, kSearchBoxAndTilesSpacing, 0));
+ }
instant_layout_manager->set_main_axis_alignment(
views::BoxLayout::MAIN_AXIS_ALIGNMENT_END);
instant_layout_manager->set_cross_axis_alignment(
@@ -317,7 +335,7 @@ void StartPageView::InitInstantContainer() {
// Create the view for the Google Doodle if the fullscreen launcher is not
// enabled.
- if (!features::IsFullscreenAppListEnabled()) {
+ if (!is_fullscreen_app_list_enabled_) {
views::View* web_view = view_delegate_->CreateStartPageWebView(
gfx::Size(kWebViewWidth, kWebViewHeight));
@@ -393,8 +411,17 @@ void StartPageView::Layout() {
bounds.set_height(instant_container_->GetHeightForWidth(bounds.width()));
instant_container_->SetBoundsRect(bounds);
- // Tiles begin where the instant container ends.
+ // For old launcher, tiles begin where the instant container ends; for
+ // fullscreen app list launcher, tiles begin where the |indicator_| ends.
bounds.set_y(bounds.bottom());
+ if (indicator_) {
+ gfx::Rect indicator_rect(bounds);
+ indicator_rect.Offset(
+ (indicator_rect.width() - indicator_->GetPreferredSize().width()) / 2,
+ 0);
+ indicator_->SetBoundsRect(indicator_rect);
+ bounds.Inset(0, indicator_->GetPreferredSize().height(), 0, 0);
+ }
bounds.set_height(tiles_container_->GetHeightForWidth(bounds.width()));
tiles_container_->SetBoundsRect(bounds);
« no previous file with comments | « ui/app_list/views/start_page_view.h ('k') | ui/strings/ui_strings.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698