| OLD | NEW |
| 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 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 parent()->SchedulePaint(); | 244 parent()->SchedulePaint(); |
| 245 } | 245 } |
| 246 | 246 |
| 247 bool AppListMainView::ShouldShowCustomLauncherPage() const { | 247 bool AppListMainView::ShouldShowCustomLauncherPage() const { |
| 248 return contents_view_->custom_page_view() && | 248 return contents_view_->custom_page_view() && |
| 249 model_->custom_launcher_page_enabled() && | 249 model_->custom_launcher_page_enabled() && |
| 250 model_->search_engine_is_google(); | 250 model_->search_engine_is_google(); |
| 251 } | 251 } |
| 252 | 252 |
| 253 void AppListMainView::UpdateCustomLauncherPageVisibility() { | 253 void AppListMainView::UpdateCustomLauncherPageVisibility() { |
| 254 if (ShouldShowCustomLauncherPage()) { | |
| 255 // Make the custom page view visible again. | |
| 256 contents_view_->custom_page_view()->SetVisible(true); | |
| 257 } else if (contents_view_->IsStateActive( | |
| 258 AppListModel::STATE_CUSTOM_LAUNCHER_PAGE)) { | |
| 259 // Animate to the start page if currently on the custom page view. The view | |
| 260 // will hide on animation completion. | |
| 261 contents_view_->SetActivePage( | |
| 262 contents_view_->GetPageIndexForState(AppListModel::STATE_START)); | |
| 263 } else { | |
| 264 // Hide the view immediately otherwise. | |
| 265 contents_view_->custom_page_view()->SetVisible(false); | |
| 266 } | |
| 267 } | |
| 268 | |
| 269 void AppListMainView::OnCustomLauncherPageEnabledStateChanged(bool enabled) { | |
| 270 views::View* custom_page = contents_view_->custom_page_view(); | 254 views::View* custom_page = contents_view_->custom_page_view(); |
| 271 if (!custom_page) | 255 if (!custom_page) |
| 272 return; | 256 return; |
| 273 | 257 |
| 274 if (ShouldShowCustomLauncherPage()) { | 258 if (ShouldShowCustomLauncherPage()) { |
| 275 // Make the custom page view visible again. | 259 // Make the custom page view visible again. |
| 276 custom_page->SetVisible(true); | 260 custom_page->SetVisible(true); |
| 277 } else if (contents_view_->IsStateActive( | 261 } else if (contents_view_->IsStateActive( |
| 278 AppListModel::STATE_CUSTOM_LAUNCHER_PAGE)) { | 262 AppListModel::STATE_CUSTOM_LAUNCHER_PAGE)) { |
| 279 // Animate to the start page if currently on the custom page view. The view | 263 // Animate to the start page if currently on the custom page view. The view |
| 280 // will hide on animation completion. | 264 // will hide on animation completion. |
| 281 contents_view_->SetActivePage( | 265 contents_view_->SetActivePage( |
| 282 contents_view_->GetPageIndexForState(AppListModel::STATE_START)); | 266 contents_view_->GetPageIndexForState(AppListModel::STATE_START)); |
| 283 } else { | 267 } else { |
| 284 // Hide the view immediately otherwise. | 268 // Hide the view immediately otherwise. |
| 285 custom_page->SetVisible(false); | 269 custom_page->SetVisible(false); |
| 286 } | 270 } |
| 287 } | 271 } |
| 288 | 272 |
| 273 void AppListMainView::OnCustomLauncherPageEnabledStateChanged(bool enabled) { |
| 274 UpdateCustomLauncherPageVisibility(); |
| 275 } |
| 276 |
| 289 void AppListMainView::OnSearchEngineIsGoogleChanged(bool is_google) { | 277 void AppListMainView::OnSearchEngineIsGoogleChanged(bool is_google) { |
| 290 if (contents_view_->custom_page_view()) | 278 if (contents_view_->custom_page_view()) |
| 291 OnCustomLauncherPageEnabledStateChanged(is_google); | 279 UpdateCustomLauncherPageVisibility(); |
| 292 | 280 |
| 293 if (contents_view_->start_page_view()) { | 281 if (contents_view_->start_page_view()) { |
| 294 contents_view_->start_page_view()->instant_container()->SetVisible( | 282 contents_view_->start_page_view()->instant_container()->SetVisible( |
| 295 is_google); | 283 is_google); |
| 296 } | 284 } |
| 297 } | 285 } |
| 298 | 286 |
| 299 void AppListMainView::ActivateApp(AppListItem* item, int event_flags) { | 287 void AppListMainView::ActivateApp(AppListItem* item, int event_flags) { |
| 300 // TODO(jennyz): Activate the folder via AppListModel notification. | 288 // TODO(jennyz): Activate the folder via AppListModel notification. |
| 301 if (item->GetItemType() == AppListFolderItem::kItemType) | 289 if (item->GetItemType() == AppListFolderItem::kItemType) |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 contents_view_->search_results_page_view()->SetSelection(select); | 323 contents_view_->search_results_page_view()->SetSelection(select); |
| 336 } | 324 } |
| 337 | 325 |
| 338 void AppListMainView::OnResultInstalled(SearchResult* result) { | 326 void AppListMainView::OnResultInstalled(SearchResult* result) { |
| 339 // Clears the search to show the apps grid. The last installed app | 327 // Clears the search to show the apps grid. The last installed app |
| 340 // should be highlighted and made visible already. | 328 // should be highlighted and made visible already. |
| 341 search_box_view_->ClearSearch(); | 329 search_box_view_->ClearSearch(); |
| 342 } | 330 } |
| 343 | 331 |
| 344 } // namespace app_list | 332 } // namespace app_list |
| OLD | NEW |