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 0bac15b7b2ab6f8edd0963a7683af447347acb52..fd5b60748d9719fc5997525c41b6f02fe93f6917 100644 |
--- a/ui/app_list/views/start_page_view.cc |
+++ b/ui/app_list/views/start_page_view.cc |
@@ -126,8 +126,6 @@ class StartPageView::StartPageTilesContainer |
AllAppsTileItemView* all_apps_button() { return all_apps_button_; } |
// Overridden from SearchResultContainerView: |
- int Update() override; |
- void UpdateSelectedIndex(int old_selected, int new_selected) override; |
void OnContainerSelected(bool from_bottom, |
bool directional_movement) override; |
void NotifyFirstResultYIndex(int y_index) override; |
@@ -136,6 +134,10 @@ class StartPageView::StartPageTilesContainer |
private: |
void CreateAppsGrid(int apps_num); |
+ // Overridden from SearchResultContainerView: |
+ int DoUpdate() override; |
+ void UpdateSelectedIndex(int old_selected, int new_selected) override; |
xiyuan
2017/01/04 00:12:09
nit: I don't have a strong preference of whether t
xdai1
2017/01/04 00:30:20
Just curious, why should we keep the overridden me
xiyuan
2017/01/04 00:36:27
Think that would make it easier to read. And style
xdai1
2017/01/04 23:18:41
Done. Thanks for the reference!
|
+ |
ContentsView* contents_view_; |
AppListViewDelegate* view_delegate_; |
@@ -171,53 +173,6 @@ TileItemView* StartPageView::StartPageTilesContainer::GetTileItemView( |
return search_result_tile_views_[index]; |
} |
-int StartPageView::StartPageTilesContainer::Update() { |
- // Ignore updates and disable buttons when transitioning to a different |
- // state. |
- if (contents_view_->GetActiveState() != AppListModel::STATE_START) { |
- for (auto* view : search_result_tile_views_) |
- view->SetEnabled(false); |
- |
- return num_results(); |
- } |
- |
- std::vector<SearchResult*> display_results = |
- AppListModel::FilterSearchResultsByDisplayType( |
- results(), SearchResult::DISPLAY_RECOMMENDATION, kNumStartPageTiles); |
- if (display_results.size() != search_result_tile_views_.size()) { |
- // We should recreate the grid layout in this case. |
- for (size_t i = 0; i < search_result_tile_views_.size(); ++i) |
- delete search_result_tile_views_[i]; |
- search_result_tile_views_.clear(); |
- RemoveChildView(all_apps_button_); |
- CreateAppsGrid(std::min(kNumStartPageTiles, display_results.size())); |
- } |
- |
- // Update the tile item results. |
- for (size_t i = 0; i < search_result_tile_views_.size(); ++i) { |
- SearchResult* item = nullptr; |
- if (i < display_results.size()) |
- item = display_results[i]; |
- search_result_tile_views_[i]->SetSearchResult(item); |
- search_result_tile_views_[i]->SetEnabled(true); |
- } |
- |
- Layout(); |
- parent()->Layout(); |
- // Add 1 to the results size to account for the all apps button. |
- return display_results.size() + 1; |
-} |
- |
-void StartPageView::StartPageTilesContainer::UpdateSelectedIndex( |
- int old_selected, |
- int new_selected) { |
- if (old_selected >= 0) |
- GetTileItemView(old_selected)->SetSelected(false); |
- |
- if (new_selected >= 0) |
- GetTileItemView(new_selected)->SetSelected(true); |
-} |
- |
void StartPageView::StartPageTilesContainer::OnContainerSelected( |
bool /*from_bottom*/, |
bool /*directional_movement*/) { |
@@ -269,6 +224,53 @@ void StartPageView::StartPageTilesContainer::CreateAppsGrid(int apps_num) { |
AddChildView(all_apps_button_); |
} |
+int StartPageView::StartPageTilesContainer::DoUpdate() { |
+ // Ignore updates and disable buttons when transitioning to a different |
+ // state. |
+ if (contents_view_->GetActiveState() != AppListModel::STATE_START) { |
+ for (auto* view : search_result_tile_views_) |
+ view->SetEnabled(false); |
+ |
+ return num_results(); |
+ } |
+ |
+ std::vector<SearchResult*> display_results = |
+ AppListModel::FilterSearchResultsByDisplayType( |
+ results(), SearchResult::DISPLAY_RECOMMENDATION, kNumStartPageTiles); |
+ if (display_results.size() != search_result_tile_views_.size()) { |
+ // We should recreate the grid layout in this case. |
+ for (size_t i = 0; i < search_result_tile_views_.size(); ++i) |
+ delete search_result_tile_views_[i]; |
+ search_result_tile_views_.clear(); |
+ RemoveChildView(all_apps_button_); |
+ CreateAppsGrid(std::min(kNumStartPageTiles, display_results.size())); |
+ } |
+ |
+ // Update the tile item results. |
+ for (size_t i = 0; i < search_result_tile_views_.size(); ++i) { |
+ SearchResult* item = nullptr; |
+ if (i < display_results.size()) |
+ item = display_results[i]; |
+ search_result_tile_views_[i]->SetSearchResult(item); |
+ search_result_tile_views_[i]->SetEnabled(true); |
+ } |
+ |
+ Layout(); |
+ parent()->Layout(); |
+ // Add 1 to the results size to account for the all apps button. |
+ return display_results.size() + 1; |
+} |
+ |
+void StartPageView::StartPageTilesContainer::UpdateSelectedIndex( |
+ int old_selected, |
+ int new_selected) { |
+ if (old_selected >= 0 && old_selected < num_results()) |
+ GetTileItemView(old_selected)->SetSelected(false); |
+ |
+ if (new_selected >= 0 && new_selected < num_results()) |
+ GetTileItemView(new_selected)->SetSelected(true); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// StartPageView implementation: |
StartPageView::StartPageView(AppListMainView* app_list_main_view, |
@@ -360,8 +362,8 @@ void StartPageView::OnShown() { |
custom_page_view->SetVisible( |
app_list_main_view_->ShouldShowCustomLauncherPage()); |
} |
- tiles_container_->Update(); |
tiles_container_->ClearSelectedIndex(); |
+ tiles_container_->Update(); |
custom_launcher_page_background_->SetSelected(false); |
} |