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

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

Issue 186483004: Add a skeleton Start Page to the experimental app list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ares_change_experimental_animation
Patch Set: Created 6 years, 9 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
Index: ui/app_list/views/contents_view.cc
diff --git a/ui/app_list/views/contents_view.cc b/ui/app_list/views/contents_view.cc
index 0121cf6d8da06d12f653693a06fd59dd3310a50a..55237e8f32190c312aa09a2aeb935c83886f9294 100644
--- a/ui/app_list/views/contents_view.cc
+++ b/ui/app_list/views/contents_view.cc
@@ -14,7 +14,9 @@
#include "ui/app_list/views/app_list_main_view.h"
#include "ui/app_list/views/apps_container_view.h"
#include "ui/app_list/views/apps_grid_view.h"
+#include "ui/app_list/views/search_box_view.h"
#include "ui/app_list/views/search_result_list_view.h"
+#include "ui/app_list/views/start_page_view.h"
#include "ui/events/event.h"
#include "ui/views/animation/bounds_animator.h"
#include "ui/views/view_model.h"
@@ -27,6 +29,7 @@ namespace {
// Indexes of interesting views in ViewModel of ContentsView.
const int kIndexAppsContainer = 0;
const int kIndexSearchResults = 1;
+const int kIndexStartPage = 2;
const int kMinMouseWheelToSwitchPage = 20;
const int kMinScrollToSwitchPage = 20;
@@ -43,6 +46,10 @@ SearchResultListView* GetSearchResultListView(views::ViewModel* model) {
model->view_at(kIndexSearchResults));
}
+SearchResultListView* GetStartPageView(views::ViewModel* model) {
+ return static_cast<SearchResultListView*>(model->view_at(kIndexStartPage));
+}
+
} // namespace
ContentsView::ContentsView(AppListMainView* app_list_main_view,
@@ -51,6 +58,7 @@ ContentsView::ContentsView(AppListMainView* app_list_main_view,
AppListViewDelegate* view_delegate)
: show_state_(SHOW_APPS),
pagination_model_(pagination_model),
+ app_list_main_view_(app_list_main_view),
view_model_(new views::ViewModel),
bounds_animator_(new views::BoundsAnimator(this)) {
DCHECK(model);
@@ -70,6 +78,13 @@ ContentsView::ContentsView(AppListMainView* app_list_main_view,
AddChildView(search_results_view);
view_model_->Add(search_results_view, kIndexSearchResults);
+ if (app_list::switches::IsExperimentalAppListEnabled()) {
+ StartPageView* start_page_view = new StartPageView(app_list_main_view,
+ start_page_contents);
+ AddChildView(start_page_view);
+ view_model_->Add(start_page_view, kIndexStartPage);
+ }
+
GetSearchResultListView(view_model_.get())->SetResults(model->results());
}
@@ -102,6 +117,10 @@ void ContentsView::ShowStateChanged() {
results_view->SetSelectedIndex(0);
results_view->UpdateAutoLaunchState();
+ // Don't show the search box for the start page.
+ app_list_main_view_->search_box_view()->SetVisible(
+ show_state_ != SHOW_START_PAGE);
+
AnimateToIdealBounds();
}
@@ -119,6 +138,9 @@ void ContentsView::CalculateIdealBounds() {
case SHOW_SEARCH_RESULTS:
incoming_view_index = kIndexSearchResults;
break;
+ case SHOW_START_PAGE:
+ incoming_view_index = kIndexStartPage;
+ break;
default:
NOTREACHED();
}
@@ -201,6 +223,8 @@ bool ContentsView::OnKeyPressed(const ui::KeyEvent& event) {
return GetAppsContainerView(view_model_.get())->OnKeyPressed(event);
case SHOW_SEARCH_RESULTS:
return GetSearchResultListView(view_model_.get())->OnKeyPressed(event);
+ case SHOW_START_PAGE:
+ return GetStartPageView(view_model_.get())->OnKeyPressed(event);
default:
NOTREACHED() << "Unknown show state " << show_state_;
}

Powered by Google App Engine
This is Rietveld 408576698