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

Side by Side Diff: ui/app_list/views/app_list_main_view.cc

Issue 307333002: Add search results to experimental app list start page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments, fix for breaking a test Created 6 years, 6 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/views/app_list_main_view.h ('k') | ui/app_list/views/app_list_view_unittest.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/views/app_list_main_view.h" 5 #include "ui/app_list/views/app_list_main_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 void AppListMainView::ModelChanged() { 161 void AppListMainView::ModelChanged() {
162 pending_icon_loaders_.clear(); 162 pending_icon_loaders_.clear();
163 model_ = delegate_->GetModel(); 163 model_ = delegate_->GetModel();
164 search_box_view_->ModelChanged(); 164 search_box_view_->ModelChanged();
165 delete contents_view_; 165 delete contents_view_;
166 contents_view_ = NULL; 166 contents_view_ = NULL;
167 AddContentsView(); 167 AddContentsView();
168 Layout(); 168 Layout();
169 } 169 }
170 170
171 void AppListMainView::OnContentsViewActivePageChanged() { 171 void AppListMainView::UpdateSearchBoxVisibility() {
172 search_box_view_->SetVisible( 172 search_box_view_->SetVisible(
173 !contents_view_->IsNamedPageActive(ContentsView::NAMED_PAGE_START)); 173 !contents_view_->IsNamedPageActive(ContentsView::NAMED_PAGE_START) ||
174 contents_view_->IsShowingSearchResults());
174 } 175 }
175 176
176 void AppListMainView::OnStartPageSearchButtonPressed() { 177 void AppListMainView::OnStartPageSearchButtonPressed() {
177 search_box_view_->SetVisible(true); 178 search_box_view_->SetVisible(true);
178 search_box_view_->search_box()->SetText(base::string16()); 179 search_box_view_->search_box()->SetText(base::string16());
179 search_box_view_->RequestFocus(); 180 search_box_view_->RequestFocus();
180 } 181 }
181 182
182 void AppListMainView::SetDragAndDropHostOfCurrentAppList( 183 void AppListMainView::SetDragAndDropHostOfCurrentAppList(
183 ApplicationDragAndDropHost* drag_and_drop_host) { 184 ApplicationDragAndDropHost* drag_and_drop_host) {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 const std::string& app_id, 260 const std::string& app_id,
260 const base::Callback<void(const base::FilePath&)>& callback) { 261 const base::Callback<void(const base::FilePath&)>& callback) {
261 delegate_->GetShortcutPathForApp(app_id, callback); 262 delegate_->GetShortcutPathForApp(app_id, callback);
262 } 263 }
263 264
264 void AppListMainView::QueryChanged(SearchBoxView* sender) { 265 void AppListMainView::QueryChanged(SearchBoxView* sender) {
265 base::string16 query; 266 base::string16 query;
266 base::TrimWhitespace(model_->search_box()->text(), base::TRIM_ALL, &query); 267 base::TrimWhitespace(model_->search_box()->text(), base::TRIM_ALL, &query);
267 bool should_show_search = !query.empty(); 268 bool should_show_search = !query.empty();
268 contents_view_->ShowSearchResults(should_show_search); 269 contents_view_->ShowSearchResults(should_show_search);
270 UpdateSearchBoxVisibility();
269 271
270 if (should_show_search) 272 if (should_show_search)
271 delegate_->StartSearch(); 273 delegate_->StartSearch();
272 else 274 else
273 delegate_->StopSearch(); 275 delegate_->StopSearch();
274 } 276 }
275 277
276 void AppListMainView::OnResultInstalled(SearchResult* result) { 278 void AppListMainView::OnResultInstalled(SearchResult* result) {
277 // Clears the search to show the apps grid. The last installed app 279 // Clears the search to show the apps grid. The last installed app
278 // should be highlighted and made visible already. 280 // should be highlighted and made visible already.
279 search_box_view_->ClearSearch(); 281 search_box_view_->ClearSearch();
280 } 282 }
281 283
282 void AppListMainView::OnResultUninstalled(SearchResult* result) { 284 void AppListMainView::OnResultUninstalled(SearchResult* result) {
283 // Resubmit the query via a posted task so that all observers for the 285 // Resubmit the query via a posted task so that all observers for the
284 // uninstall notification are notified. 286 // uninstall notification are notified.
285 base::MessageLoop::current()->PostTask( 287 base::MessageLoop::current()->PostTask(
286 FROM_HERE, 288 FROM_HERE,
287 base::Bind(&AppListMainView::QueryChanged, 289 base::Bind(&AppListMainView::QueryChanged,
288 weak_ptr_factory_.GetWeakPtr(), 290 weak_ptr_factory_.GetWeakPtr(),
289 search_box_view_)); 291 search_box_view_));
290 } 292 }
291 293
292 } // namespace app_list 294 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/views/app_list_main_view.h ('k') | ui/app_list/views/app_list_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698