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

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: fix initialization order Created 6 years, 7 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/contents_view.h ('k') | ui/app_list/views/start_page_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 60968c39aa9f287f250cd14271494df446cadbd9..c07c867abb683828f0816b24cf25b4211f4b8a88 100644
--- a/ui/app_list/views/contents_view.cc
+++ b/ui/app_list/views/contents_view.cc
@@ -16,6 +16,7 @@
#include "ui/app_list/views/apps_container_view.h"
#include "ui/app_list/views/apps_grid_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"
@@ -28,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;
@@ -44,6 +46,10 @@ SearchResultListView* GetSearchResultListView(views::ViewModel* model) {
model->view_at(kIndexSearchResults));
}
+StartPageView* GetStartPageView(views::ViewModel* model) {
+ return static_cast<StartPageView*>(model->view_at(kIndexStartPage));
+}
+
} // namespace
ContentsView::ContentsView(AppListMainView* app_list_main_view,
@@ -52,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);
@@ -69,6 +76,15 @@ ContentsView::ContentsView(AppListMainView* app_list_main_view,
AddChildView(search_results_view);
view_model_->Add(search_results_view, kIndexSearchResults);
+ if (app_list::switches::IsExperimentalAppListEnabled()) {
+ content::WebContents* start_page_contents =
+ view_delegate->GetStartPageContents();
+ 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());
}
@@ -107,6 +123,12 @@ void ContentsView::ShowStateChanged() {
results_view->SetSelectedIndex(0);
results_view->UpdateAutoLaunchState();
+ // Notify parent AppListMainView of show state change.
+ app_list_main_view_->OnContentsViewShowStateChanged();
+
+ if (show_state_ == SHOW_START_PAGE)
+ GetStartPageView(view_model_.get())->Reset();
+
AnimateToIdealBounds();
}
@@ -124,6 +146,9 @@ void ContentsView::CalculateIdealBounds() {
case SHOW_SEARCH_RESULTS:
incoming_view_index = kIndexSearchResults;
break;
+ case SHOW_START_PAGE:
+ incoming_view_index = kIndexStartPage;
+ break;
default:
NOTREACHED();
}
@@ -206,6 +231,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_;
}
« no previous file with comments | « ui/app_list/views/contents_view.h ('k') | ui/app_list/views/start_page_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698