Chromium Code Reviews| 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 688d8d677981d408e7dab0adbff71b10c883bd54..372a6f0587b6ee4c3c51803f6623fd88b71ea1b0 100644 |
| --- a/ui/app_list/views/contents_view.cc |
| +++ b/ui/app_list/views/contents_view.cc |
| @@ -28,8 +28,10 @@ namespace { |
| // Indexes of interesting views in ViewModel of ContentsView. |
| const int kIndexAppsContainer = 0; |
| +// Only one of these views is created depending on whether the experimental app |
| +// list is enabled. |
| const int kIndexSearchResults = 1; |
| -const int kIndexStartPage = 2; |
| +const int kIndexStartPage = 1; |
| const int kMinMouseWheelToSwitchPage = 20; |
| const int kMinScrollToSwitchPage = 20; |
| @@ -42,11 +44,13 @@ AppsContainerView* GetAppsContainerView(views::ViewModel* model) { |
| } |
| SearchResultListView* GetSearchResultListView(views::ViewModel* model) { |
| + DCHECK(!app_list::switches::IsExperimentalAppListEnabled()); |
| return static_cast<SearchResultListView*>( |
| model->view_at(kIndexSearchResults)); |
| } |
| StartPageView* GetStartPageView(views::ViewModel* model) { |
| + DCHECK(app_list::switches::IsExperimentalAppListEnabled()); |
| return static_cast<StartPageView*>(model->view_at(kIndexStartPage)); |
| } |
| @@ -72,18 +76,18 @@ ContentsView::ContentsView(AppListMainView* app_list_main_view, |
| AddChildView(apps_container_view_); |
| view_model_->Add(apps_container_view_, kIndexAppsContainer); |
| - SearchResultListView* search_results_view = new SearchResultListView( |
| - app_list_main_view, view_delegate); |
| - AddChildView(search_results_view); |
| - view_model_->Add(search_results_view, kIndexSearchResults); |
| - |
| if (app_list::switches::IsExperimentalAppListEnabled()) { |
| start_page_view_ = new StartPageView(app_list_main_view, view_delegate); |
| AddChildView(start_page_view_); |
| view_model_->Add(start_page_view_, kIndexStartPage); |
| + } else { |
| + SearchResultListView* search_results_view = |
| + new SearchResultListView(app_list_main_view, view_delegate); |
| + AddChildView(search_results_view); |
| + view_model_->Add(search_results_view, kIndexSearchResults); |
| + GetSearchResultListView(view_model_.get())->SetResults(model->results()); |
| } |
| - GetSearchResultListView(view_model_.get())->SetResults(model->results()); |
| } |
| ContentsView::~ContentsView() { |
| @@ -114,19 +118,22 @@ void ContentsView::SetShowState(ShowState show_state) { |
| } |
| void ContentsView::ShowStateChanged() { |
| - SearchResultListView* results_view = |
| - GetSearchResultListView(view_model_.get()); |
| - // TODO(xiyuan): Highlight default match instead of the first. |
| - if (show_state_ == SHOW_SEARCH_RESULTS && results_view->visible()) |
| - results_view->SetSelectedIndex(0); |
| - results_view->UpdateAutoLaunchState(); |
| - |
| + if (app_list::switches::IsExperimentalAppListEnabled()) { |
| + if (show_state_ == SHOW_START_PAGE) |
| + GetStartPageView(view_model_.get())->Reset(); |
| + else if (show_state_ == SHOW_SEARCH_RESULTS) |
|
tapted
2014/06/04 06:12:43
Do you need to trigger a start_page-view->results_
calamity
2014/06/12 05:16:56
Done.
|
| + GetStartPageView(view_model_.get())->ShowSearchResults(); |
| + } else { |
| + SearchResultListView* results_view = |
| + GetSearchResultListView(view_model_.get()); |
| + // TODO(xiyuan): Highlight default match instead of the first. |
| + if (show_state_ == SHOW_SEARCH_RESULTS && results_view->visible()) |
| + 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(); |
| } |
| @@ -141,9 +148,7 @@ void ContentsView::CalculateIdealBounds() { |
| case SHOW_APPS: |
| incoming_view_index = kIndexAppsContainer; |
| break; |
| - case SHOW_SEARCH_RESULTS: |
| - incoming_view_index = kIndexSearchResults; |
| - break; |
| + case SHOW_SEARCH_RESULTS: // Falls through. |
|
tapted
2014/06/04 06:12:43
nit: might be slightly less weird to leave this th
calamity
2014/06/12 05:16:56
This is gone.
|
| case SHOW_START_PAGE: |
| incoming_view_index = kIndexStartPage; |
| break; |
| @@ -194,10 +199,6 @@ void ContentsView::AnimateToIdealBounds() { |
| } |
| } |
| -void ContentsView::ShowSearchResults(bool show) { |
| - SetShowState(show ? SHOW_SEARCH_RESULTS : SHOW_APPS); |
| -} |
| - |
| void ContentsView::ShowFolderContent(AppListFolderItem* item) { |
| apps_container_view_->ShowActiveFolder(item); |
| } |
| @@ -210,6 +211,8 @@ void ContentsView::Prerender() { |
| gfx::Size ContentsView::GetPreferredSize() const { |
| const gfx::Size container_size = GetAppsContainerView(view_model_.get())-> |
| apps_grid_view()->GetPreferredSize(); |
| + if (app_list::switches::IsExperimentalAppListEnabled()) |
| + return container_size; |
| const gfx::Size results_size = |
| GetSearchResultListView(view_model_.get())->GetPreferredSize(); |
|
tapted
2014/06/04 06:12:43
nit: move this blank line up after the return
calamity
2014/06/12 05:16:56
Also gone.
|
| @@ -228,7 +231,10 @@ bool ContentsView::OnKeyPressed(const ui::KeyEvent& event) { |
| case SHOW_APPS: |
| return GetAppsContainerView(view_model_.get())->OnKeyPressed(event); |
| case SHOW_SEARCH_RESULTS: |
| - return GetSearchResultListView(view_model_.get())->OnKeyPressed(event); |
| + if (app_list::switches::IsExperimentalAppListEnabled()) |
| + return GetStartPageView(view_model_.get())->OnKeyPressed(event); |
| + else |
|
tapted
2014/06/04 06:12:43
nit: no else after a return statement
calamity
2014/06/12 05:16:56
Gone.
|
| + return GetSearchResultListView(view_model_.get())->OnKeyPressed(event); |
| case SHOW_START_PAGE: |
| return GetStartPageView(view_model_.get())->OnKeyPressed(event); |
| default: |