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

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

Issue 945343002: Fix experimental app list search box disappearing on profile switch. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « no previous file | 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 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 gfx::Rect search_box_bounds = GetDefaultSearchBoxBounds(); 459 gfx::Rect search_box_bounds = GetDefaultSearchBoxBounds();
460 gfx::Rect default_contents_bounds = GetDefaultContentsBounds(); 460 gfx::Rect default_contents_bounds = GetDefaultContentsBounds();
461 gfx::Vector2d bottom_right = 461 gfx::Vector2d bottom_right =
462 search_box_bounds.bottom_right().OffsetFromOrigin(); 462 search_box_bounds.bottom_right().OffsetFromOrigin();
463 bottom_right.SetToMax( 463 bottom_right.SetToMax(
464 default_contents_bounds.bottom_right().OffsetFromOrigin()); 464 default_contents_bounds.bottom_right().OffsetFromOrigin());
465 return gfx::Size(bottom_right.x(), bottom_right.y()); 465 return gfx::Size(bottom_right.x(), bottom_right.y());
466 } 466 }
467 467
468 void ContentsView::Layout() { 468 void ContentsView::Layout() {
469 // The search box is contained in a widget so set the bounds of the widget
470 // rather than the SearchBoxView. In athena, the search box widget will be the
471 // same as the app list widget so don't move it.
472 views::Widget* search_box_widget = GetSearchBoxView()->GetWidget();
473 if (search_box_widget && search_box_widget != GetWidget()) {
474 gfx::Rect search_box_bounds = GetSearchBoxBoundsForState(GetActiveState());
475 search_box_widget->SetBounds(ConvertRectToWidget(
476 GetSearchBoxView()->GetViewBoundsForSearchBoxContentsBounds(
477 search_box_bounds)));
478 }
479
480 // Immediately finish all current animations. 469 // Immediately finish all current animations.
481 pagination_model_.FinishAnimation(); 470 pagination_model_.FinishAnimation();
482 471
483 // Move the current view onto the screen, and all other views off screen to 472 // Move the current view onto the screen, and all other views off screen to
484 // the left. (Since we are not animating, we don't need to be careful about 473 // the left. (Since we are not animating, we don't need to be careful about
485 // which side we place the off-screen views onto.) 474 // which side we place the off-screen views onto.)
486 gfx::Rect rect = GetOnscreenPageBounds(GetActivePageIndex()); 475 gfx::Rect rect = GetOnscreenPageBounds(GetActivePageIndex());
487 double progress = 476 double progress =
488 IsStateActive(AppListModel::STATE_CUSTOM_LAUNCHER_PAGE) ? 1 : 0; 477 IsStateActive(AppListModel::STATE_CUSTOM_LAUNCHER_PAGE) ? 1 : 0;
489 478
(...skipping 14 matching lines...) Expand all
504 ->SetBoundsRect(i == current_page ? rect : offscreen_target); 493 ->SetBoundsRect(i == current_page ? rect : offscreen_target);
505 } 494 }
506 495
507 // Custom locations of pages in certain states. 496 // Custom locations of pages in certain states.
508 // Within the start page, the custom page is given its collapsed bounds. 497 // Within the start page, the custom page is given its collapsed bounds.
509 int start_page_index = GetPageIndexForState(AppListModel::STATE_START); 498 int start_page_index = GetPageIndexForState(AppListModel::STATE_START);
510 if (current_page == start_page_index) { 499 if (current_page == start_page_index) {
511 if (custom_page_view_) 500 if (custom_page_view_)
512 custom_page_view_->SetBoundsRect(GetCustomPageCollapsedBounds()); 501 custom_page_view_->SetBoundsRect(GetCustomPageCollapsedBounds());
513 } 502 }
503
504 // The search box is contained in a widget so set the bounds of the widget
505 // rather than the SearchBoxView. In athena, the search box widget will be the
506 // same as the app list widget so don't move it.
507 views::Widget* search_box_widget = GetSearchBoxView()->GetWidget();
508 if (search_box_widget && search_box_widget != GetWidget()) {
509 gfx::Rect search_box_bounds = GetSearchBoxBoundsForState(GetActiveState());
510 search_box_widget->SetBounds(ConvertRectToWidget(
511 GetSearchBoxView()->GetViewBoundsForSearchBoxContentsBounds(
512 search_box_bounds)));
513 }
514 } 514 }
515 515
516 bool ContentsView::OnKeyPressed(const ui::KeyEvent& event) { 516 bool ContentsView::OnKeyPressed(const ui::KeyEvent& event) {
517 bool handled = 517 bool handled =
518 view_model_->view_at(GetActivePageIndex())->OnKeyPressed(event); 518 view_model_->view_at(GetActivePageIndex())->OnKeyPressed(event);
519 519
520 if (!handled) { 520 if (!handled) {
521 if (event.key_code() == ui::VKEY_TAB && event.IsShiftDown()) { 521 if (event.key_code() == ui::VKEY_TAB && event.IsShiftDown()) {
522 GetSearchBoxView()->MoveTabFocus(true); 522 GetSearchBoxView()->MoveTabFocus(true);
523 handled = true; 523 handled = true;
(...skipping 23 matching lines...) Expand all
547 } 547 }
548 548
549 void ContentsView::TransitionStarted() { 549 void ContentsView::TransitionStarted() {
550 } 550 }
551 551
552 void ContentsView::TransitionChanged() { 552 void ContentsView::TransitionChanged() {
553 UpdatePageBounds(); 553 UpdatePageBounds();
554 } 554 }
555 555
556 } // namespace app_list 556 } // namespace app_list
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698