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

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

Issue 331413003: Slight refactor of search result handling in ContentsView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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/contents_view.h ('k') | no next file » | 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/views/contents_view.h" 5 #include "ui/app_list/views/contents_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "ui/app_list/app_list_constants.h" 10 #include "ui/app_list/app_list_constants.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 void ContentsView::SetDragAndDropHostOfCurrentAppList( 76 void ContentsView::SetDragAndDropHostOfCurrentAppList(
77 ApplicationDragAndDropHost* drag_and_drop_host) { 77 ApplicationDragAndDropHost* drag_and_drop_host) {
78 apps_container_view_->SetDragAndDropHostOfCurrentAppList(drag_and_drop_host); 78 apps_container_view_->SetDragAndDropHostOfCurrentAppList(drag_and_drop_host);
79 } 79 }
80 80
81 void ContentsView::SetActivePage(int page_index) { 81 void ContentsView::SetActivePage(int page_index) {
82 if (active_page_ == page_index) 82 if (active_page_ == page_index)
83 return; 83 return;
84 84
85 active_page_ = page_index; 85 SetActivePageInternal(page_index, false);
86 ActivePageChanged();
87 } 86 }
88 87
89 bool ContentsView::IsNamedPageActive(NamedPage named_page) const { 88 bool ContentsView::IsNamedPageActive(NamedPage named_page) const {
90 std::map<NamedPage, int>::const_iterator it = 89 std::map<NamedPage, int>::const_iterator it =
91 named_page_to_view_.find(named_page); 90 named_page_to_view_.find(named_page);
92 if (it == named_page_to_view_.end()) 91 if (it == named_page_to_view_.end())
93 return false; 92 return false;
94 return it->second == active_page_; 93 return it->second == active_page_;
95 } 94 }
96 95
97 int ContentsView::GetPageIndexForNamedPage(NamedPage named_page) const { 96 int ContentsView::GetPageIndexForNamedPage(NamedPage named_page) const {
98 // Find the index of the view corresponding to the given named_page. 97 // Find the index of the view corresponding to the given named_page.
99 std::map<NamedPage, int>::const_iterator it = 98 std::map<NamedPage, int>::const_iterator it =
100 named_page_to_view_.find(named_page); 99 named_page_to_view_.find(named_page);
101 // GetPageIndexForNamedPage should never be called on a named_page that does 100 // GetPageIndexForNamedPage should never be called on a named_page that does
102 // not have a corresponding view. 101 // not have a corresponding view.
103 DCHECK(it != named_page_to_view_.end()); 102 DCHECK(it != named_page_to_view_.end());
104 return it->second; 103 return it->second;
105 } 104 }
106 105
107 void ContentsView::ActivePageChanged() { 106 void ContentsView::SetActivePageInternal(int page_index,
107 bool show_search_results) {
108 active_page_ = page_index;
109 ActivePageChanged(show_search_results);
110 }
111
112 void ContentsView::ActivePageChanged(bool show_search_results) {
108 // TODO(xiyuan): Highlight default match instead of the first. 113 // TODO(xiyuan): Highlight default match instead of the first.
109 if (IsNamedPageActive(NAMED_PAGE_SEARCH_RESULTS) && 114 if (IsNamedPageActive(NAMED_PAGE_SEARCH_RESULTS) &&
110 search_results_view_->visible()) { 115 search_results_view_->visible()) {
111 search_results_view_->SetSelectedIndex(0); 116 search_results_view_->SetSelectedIndex(0);
112 } 117 }
113 if (search_results_view_) 118 if (search_results_view_)
114 search_results_view_->UpdateAutoLaunchState(); 119 search_results_view_->UpdateAutoLaunchState();
115 120
116 if (IsNamedPageActive(NAMED_PAGE_START)) 121 if (IsNamedPageActive(NAMED_PAGE_START)) {
117 start_page_view_->Reset(); 122 if (show_search_results)
123 start_page_view_->ShowSearchResults();
124 else
125 start_page_view_->Reset();
126 }
118 127
119 // Notify parent AppListMainView of the page change. 128 // Notify parent AppListMainView of the page change.
120 app_list_main_view_->UpdateSearchBoxVisibility(); 129 app_list_main_view_->UpdateSearchBoxVisibility();
121 130
122 AnimateToIdealBounds(); 131 AnimateToIdealBounds();
123 } 132 }
124 133
125 void ContentsView::ShowSearchResults(bool show) { 134 void ContentsView::ShowSearchResults(bool show) {
126 NamedPage new_named_page = show ? NAMED_PAGE_SEARCH_RESULTS : NAMED_PAGE_APPS; 135 NamedPage new_named_page = show ? NAMED_PAGE_SEARCH_RESULTS : NAMED_PAGE_APPS;
127 if (app_list::switches::IsExperimentalAppListEnabled()) 136 if (app_list::switches::IsExperimentalAppListEnabled())
128 new_named_page = NAMED_PAGE_START; 137 new_named_page = NAMED_PAGE_START;
129 138
130 SetActivePage(GetPageIndexForNamedPage(new_named_page)); 139 SetActivePageInternal(GetPageIndexForNamedPage(new_named_page), show);
131
132 if (app_list::switches::IsExperimentalAppListEnabled()) {
133 if (show)
134 start_page_view_->ShowSearchResults();
135 else
136 start_page_view_->Reset();
137 app_list_main_view_->UpdateSearchBoxVisibility();
138 }
139 } 140 }
140 141
141 bool ContentsView::IsShowingSearchResults() const { 142 bool ContentsView::IsShowingSearchResults() const {
142 return app_list::switches::IsExperimentalAppListEnabled() 143 return app_list::switches::IsExperimentalAppListEnabled()
143 ? IsNamedPageActive(NAMED_PAGE_START) && 144 ? IsNamedPageActive(NAMED_PAGE_START) &&
144 start_page_view_->IsShowingSearchResults() 145 start_page_view_->IsShowingSearchResults()
145 : IsNamedPageActive(NAMED_PAGE_SEARCH_RESULTS); 146 : IsNamedPageActive(NAMED_PAGE_SEARCH_RESULTS);
146 } 147 }
147 148
148 void ContentsView::CalculateIdealBounds() { 149 void ContentsView::CalculateIdealBounds() {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 if (std::abs(offset) > kMinScrollToSwitchPage) { 310 if (std::abs(offset) > kMinScrollToSwitchPage) {
310 if (!GetAppsPaginationModel()->has_transition()) { 311 if (!GetAppsPaginationModel()->has_transition()) {
311 GetAppsPaginationModel()->SelectPageRelative(offset > 0 ? -1 : 1, true); 312 GetAppsPaginationModel()->SelectPageRelative(offset > 0 ? -1 : 1, true);
312 } 313 }
313 event->SetHandled(); 314 event->SetHandled();
314 event->StopPropagation(); 315 event->StopPropagation();
315 } 316 }
316 } 317 }
317 318
318 } // namespace app_list 319 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/views/contents_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698