Index: ui/app_list/views/search_result_list_view.cc |
diff --git a/ui/app_list/views/search_result_list_view.cc b/ui/app_list/views/search_result_list_view.cc |
index 6f2b17622c04f417f91d36ee88e221c531fa0b6e..4fb2daaa6f541f514648c9ed1ace03ed6a55f0af 100644 |
--- a/ui/app_list/views/search_result_list_view.cc |
+++ b/ui/app_list/views/search_result_list_view.cc |
@@ -12,6 +12,7 @@ |
#include "third_party/skia/include/core/SkColor.h" |
#include "ui/app_list/app_list_switches.h" |
#include "ui/app_list/app_list_view_delegate.h" |
+#include "ui/app_list/search_result.h" |
#include "ui/app_list/views/search_result_list_view_delegate.h" |
#include "ui/app_list/views/search_result_view.h" |
#include "ui/events/event.h" |
@@ -163,18 +164,22 @@ SearchResultView* SearchResultListView::GetResultViewAt(int index) { |
} |
void SearchResultListView::Update() { |
- last_visible_index_ = 0; |
+ std::vector<SearchResult*> display_results = |
+ AppListModel::GetSearchResultsForDisplayType( |
+ results_, |
+ SearchResult::DISPLAY_LIST, |
+ results_container_->child_count()); |
+ last_visible_index_ = display_results.size() - 1; |
+ |
for (size_t i = 0; i < static_cast<size_t>(results_container_->child_count()); |
++i) { |
SearchResultView* result_view = GetResultViewAt(i); |
- if (i < results_->item_count()) { |
- result_view->SetResult(results_->GetItemAt(i)); |
- result_view->SetVisible(true); |
- last_visible_index_ = i; |
- } else { |
- result_view->SetResult(NULL); |
- result_view->SetVisible(false); |
- } |
+ SearchResult* item = NULL; |
+ if (i < display_results.size()) |
Matt Giuca
2014/08/06 08:54:53
I think I prefer the old formulation of:
if (i <
calamity
2014/08/12 05:03:37
Done.
|
+ item = display_results[i]; |
+ |
+ result_view->SetResult(item); |
+ result_view->SetVisible(item != NULL); |
} |
if (selected_index_ > last_visible_index_) |
SetSelectedIndex(last_visible_index_); |