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

Side by Side Diff: ui/app_list/app_list_model.cc

Issue 439703002: Allow app list tiles to show search results in the experimental app list. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix merge Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/app_list/app_list_model.h ('k') | ui/app_list/search_result.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/app_list/app_list_model.h" 5 #include "ui/app_list/app_list_model.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "ui/app_list/app_list_folder_item.h" 9 #include "ui/app_list/app_list_folder_item.h"
10 #include "ui/app_list/app_list_item.h" 10 #include "ui/app_list/app_list_item.h"
11 #include "ui/app_list/app_list_model_observer.h" 11 #include "ui/app_list/app_list_model_observer.h"
12 #include "ui/app_list/search_box_model.h" 12 #include "ui/app_list/search_box_model.h"
13 #include "ui/app_list/search_result.h"
14 13
15 namespace app_list { 14 namespace app_list {
16 15
17 AppListModel::AppListModel() 16 AppListModel::AppListModel()
18 : top_level_item_list_(new AppListItemList), 17 : top_level_item_list_(new AppListItemList),
19 search_box_(new SearchBoxModel), 18 search_box_(new SearchBoxModel),
20 results_(new SearchResults), 19 results_(new SearchResults),
21 status_(STATUS_NORMAL), 20 status_(STATUS_NORMAL),
22 folders_enabled_(false) { 21 folders_enabled_(false) {
23 top_level_item_list_->AddObserver(this); 22 top_level_item_list_->AddObserver(this);
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 child->set_folder_id(""); 277 child->set_folder_id("");
279 AddItemToItemListAndNotifyUpdate(child.Pass()); 278 AddItemToItemListAndNotifyUpdate(child.Pass());
280 } 279 }
281 folder_ids.push_back(folder->id()); 280 folder_ids.push_back(folder->id());
282 } 281 }
283 // Delete folders. 282 // Delete folders.
284 for (size_t i = 0; i < folder_ids.size(); ++i) 283 for (size_t i = 0; i < folder_ids.size(); ++i)
285 DeleteItem(folder_ids[i]); 284 DeleteItem(folder_ids[i]);
286 } 285 }
287 286
287 std::vector<SearchResult*> AppListModel::FilterSearchResultsByDisplayType(
288 SearchResults* results,
289 SearchResult::DisplayType display_type,
290 size_t max_results) {
291 std::vector<SearchResult*> matches;
292 for (size_t i = 0; i < results->item_count(); ++i) {
293 SearchResult* item = results->GetItemAt(i);
294 if (item->display_type() == display_type) {
295 matches.push_back(item);
296 if (matches.size() == max_results)
297 break;
298 }
299 }
300 return matches;
301 }
302
288 // Private methods 303 // Private methods
289 304
290 void AppListModel::OnListItemMoved(size_t from_index, 305 void AppListModel::OnListItemMoved(size_t from_index,
291 size_t to_index, 306 size_t to_index,
292 AppListItem* item) { 307 AppListItem* item) {
293 FOR_EACH_OBSERVER(AppListModelObserver, 308 FOR_EACH_OBSERVER(AppListModelObserver,
294 observers_, 309 observers_,
295 OnAppListItemUpdated(item)); 310 OnAppListItemUpdated(item));
296 } 311 }
297 312
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 scoped_ptr<AppListItem> result = folder->item_list()->RemoveItem(item->id()); 381 scoped_ptr<AppListItem> result = folder->item_list()->RemoveItem(item->id());
367 result->set_folder_id(""); 382 result->set_folder_id("");
368 if (folder->item_list()->item_count() == 0) { 383 if (folder->item_list()->item_count() == 0) {
369 DVLOG(2) << "Deleting empty folder: " << folder->ToDebugString(); 384 DVLOG(2) << "Deleting empty folder: " << folder->ToDebugString();
370 DeleteItem(folder_id); 385 DeleteItem(folder_id);
371 } 386 }
372 return result.Pass(); 387 return result.Pass();
373 } 388 }
374 389
375 } // namespace app_list 390 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/app_list_model.h ('k') | ui/app_list/search_result.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698