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

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

Issue 521823004: Remove the apps grid page switcher from the experimental app list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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/apps_grid_view.h" 5 #include "ui/app_list/views/apps_grid_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 // Distance a drag needs to be from the app grid to be considered 'outside', at 56 // Distance a drag needs to be from the app grid to be considered 'outside', at
57 // which point we rearrange the apps to their pre-drag configuration, as a drop 57 // which point we rearrange the apps to their pre-drag configuration, as a drop
58 // then would be canceled. We have a buffer to make it easier to drag apps to 58 // then would be canceled. We have a buffer to make it easier to drag apps to
59 // other pages. 59 // other pages.
60 const int kDragBufferPx = 20; 60 const int kDragBufferPx = 20;
61 61
62 // Padding space in pixels for fixed layout. 62 // Padding space in pixels for fixed layout.
63 const int kLeftRightPadding = 20; 63 const int kLeftRightPadding = 20;
64 const int kTopPadding = 1; 64 const int kTopPadding = 1;
65 const int kBottomPadding = 24;
65 66
66 // Padding space in pixels between pages. 67 // Padding space in pixels between pages.
67 const int kPagePadding = 40; 68 const int kPagePadding = 40;
68 69
69 // Preferred tile size when showing in fixed layout. 70 // Preferred tile size when showing in fixed layout.
70 const int kPreferredTileWidth = 88; 71 const int kPreferredTileWidth = 88;
71 const int kPreferredTileHeight = 98; 72 const int kPreferredTileHeight = 98;
72 73
73 // Width in pixels of the area on the sides that triggers a page flip. 74 // Width in pixels of the area on the sides that triggers a page flip.
74 const int kPageFlipZoneSize = 40; 75 const int kPageFlipZoneSize = 40;
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 kOverscrollPageTransitionDurationMs); 366 kOverscrollPageTransitionDurationMs);
366 367
367 pagination_model_.AddObserver(this); 368 pagination_model_.AddObserver(this);
368 // The experimental app list transitions vertically. 369 // The experimental app list transitions vertically.
369 PaginationController::ScrollAxis scroll_axis = 370 PaginationController::ScrollAxis scroll_axis =
370 app_list::switches::IsExperimentalAppListEnabled() 371 app_list::switches::IsExperimentalAppListEnabled()
371 ? PaginationController::SCROLL_AXIS_VERTICAL 372 ? PaginationController::SCROLL_AXIS_VERTICAL
372 : PaginationController::SCROLL_AXIS_HORIZONTAL; 373 : PaginationController::SCROLL_AXIS_HORIZONTAL;
373 pagination_controller_.reset( 374 pagination_controller_.reset(
374 new PaginationController(&pagination_model_, scroll_axis)); 375 new PaginationController(&pagination_model_, scroll_axis));
375 page_switcher_view_ = new PageSwitcher(&pagination_model_); 376 if (!switches::IsExperimentalAppListEnabled()) {
376 AddChildView(page_switcher_view_); 377 page_switcher_view_ = new PageSwitcher(&pagination_model_);
378 AddChildView(page_switcher_view_);
379 }
377 } 380 }
378 381
379 AppsGridView::~AppsGridView() { 382 AppsGridView::~AppsGridView() {
380 // Coming here |drag_view_| should already be canceled since otherwise the 383 // Coming here |drag_view_| should already be canceled since otherwise the
381 // drag would disappear after the app list got animated away and closed, 384 // drag would disappear after the app list got animated away and closed,
382 // which would look odd. 385 // which would look odd.
383 DCHECK(!drag_view_); 386 DCHECK(!drag_view_);
384 if (drag_view_) 387 if (drag_view_)
385 EndDrag(true); 388 EndDrag(true);
386 389
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 last_drag_point_ = point; 618 last_drag_point_ = point;
616 const Index last_drop_target = drop_target_; 619 const Index last_drop_target = drop_target_;
617 DropAttempt last_drop_attempt = drop_attempt_; 620 DropAttempt last_drop_attempt = drop_attempt_;
618 CalculateDropTarget(last_drag_point_, false); 621 CalculateDropTarget(last_drag_point_, false);
619 622
620 if (IsPointWithinDragBuffer(last_drag_point_)) 623 if (IsPointWithinDragBuffer(last_drag_point_))
621 MaybeStartPageFlipTimer(last_drag_point_); 624 MaybeStartPageFlipTimer(last_drag_point_);
622 else 625 else
623 StopPageFlipTimer(); 626 StopPageFlipTimer();
624 627
625 gfx::Point page_switcher_point(last_drag_point_); 628 if (page_switcher_view_) {
626 views::View::ConvertPointToTarget(this, page_switcher_view_, 629 gfx::Point page_switcher_point(last_drag_point_);
627 &page_switcher_point); 630 views::View::ConvertPointToTarget(
628 page_switcher_view_->UpdateUIForDragPoint(page_switcher_point); 631 this, page_switcher_view_, &page_switcher_point);
632 page_switcher_view_->UpdateUIForDragPoint(page_switcher_point);
633 }
629 634
630 if (!EnableFolderDragDropUI()) { 635 if (!EnableFolderDragDropUI()) {
631 if (last_drop_target != drop_target_) 636 if (last_drop_target != drop_target_)
632 AnimateToIdealBounds(); 637 AnimateToIdealBounds();
633 drag_view_->SetPosition(drag_view_start_ + drag_vector); 638 drag_view_->SetPosition(drag_view_start_ + drag_vector);
634 return; 639 return;
635 } 640 }
636 641
637 // Update drag with folder UI enabled. 642 // Update drag with folder UI enabled.
638 if (last_drop_target != drop_target_ || 643 if (last_drop_target != drop_target_ ||
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 } 873 }
869 874
870 bool AppsGridView::IsAnimatingView(views::View* view) { 875 bool AppsGridView::IsAnimatingView(views::View* view) {
871 return bounds_animator_.IsAnimating(view); 876 return bounds_animator_.IsAnimating(view);
872 } 877 }
873 878
874 gfx::Size AppsGridView::GetPreferredSize() const { 879 gfx::Size AppsGridView::GetPreferredSize() const {
875 const gfx::Insets insets(GetInsets()); 880 const gfx::Insets insets(GetInsets());
876 const gfx::Size tile_size = gfx::Size(kPreferredTileWidth, 881 const gfx::Size tile_size = gfx::Size(kPreferredTileWidth,
877 kPreferredTileHeight); 882 kPreferredTileHeight);
878 const int page_switcher_height = 883 int page_switcher_height = kBottomPadding;
879 page_switcher_view_->GetPreferredSize().height(); 884 if (page_switcher_view_)
885 page_switcher_height = page_switcher_view_->GetPreferredSize().height();
880 return gfx::Size( 886 return gfx::Size(
881 tile_size.width() * cols_ + insets.width(), 887 tile_size.width() * cols_ + insets.width(),
882 tile_size.height() * rows_per_page_ + 888 tile_size.height() * rows_per_page_ +
883 page_switcher_height + insets.height()); 889 page_switcher_height + insets.height());
884 } 890 }
885 891
886 bool AppsGridView::GetDropFormats( 892 bool AppsGridView::GetDropFormats(
887 int* formats, 893 int* formats,
888 std::set<OSExchangeData::CustomFormat>* custom_formats) { 894 std::set<OSExchangeData::CustomFormat>* custom_formats) {
889 // TODO(koz): Only accept a specific drag type for app shortcuts. 895 // TODO(koz): Only accept a specific drag type for app shortcuts.
(...skipping 14 matching lines...) Expand all
904 bounds_animator_.Cancel(); 910 bounds_animator_.Cancel();
905 911
906 CalculateIdealBounds(); 912 CalculateIdealBounds();
907 for (int i = 0; i < view_model_.view_size(); ++i) { 913 for (int i = 0; i < view_model_.view_size(); ++i) {
908 views::View* view = view_model_.view_at(i); 914 views::View* view = view_model_.view_at(i);
909 if (view != drag_view_) 915 if (view != drag_view_)
910 view->SetBoundsRect(view_model_.ideal_bounds(i)); 916 view->SetBoundsRect(view_model_.ideal_bounds(i));
911 } 917 }
912 views::ViewModelUtils::SetViewBoundsToIdealBounds(pulsing_blocks_model_); 918 views::ViewModelUtils::SetViewBoundsToIdealBounds(pulsing_blocks_model_);
913 919
914 const int page_switcher_height = 920 if (page_switcher_view_) {
915 page_switcher_view_->GetPreferredSize().height(); 921 const int page_switcher_height =
916 gfx::Rect rect(GetContentsBounds()); 922 page_switcher_view_->GetPreferredSize().height();
917 rect.set_y(rect.bottom() - page_switcher_height); 923 gfx::Rect rect(GetContentsBounds());
918 rect.set_height(page_switcher_height); 924 rect.set_y(rect.bottom() - page_switcher_height);
919 page_switcher_view_->SetBoundsRect(rect); 925 rect.set_height(page_switcher_height);
926 page_switcher_view_->SetBoundsRect(rect);
927 }
920 } 928 }
921 929
922 bool AppsGridView::OnKeyPressed(const ui::KeyEvent& event) { 930 bool AppsGridView::OnKeyPressed(const ui::KeyEvent& event) {
923 bool handled = false; 931 bool handled = false;
924 if (selected_view_) 932 if (selected_view_)
925 handled = selected_view_->OnKeyPressed(event); 933 handled = selected_view_->OnKeyPressed(event);
926 934
927 if (!handled) { 935 if (!handled) {
928 const int forward_dir = base::i18n::IsRTL() ? -1 : 1; 936 const int forward_dir = base::i18n::IsRTL() ? -1 : 1;
929 switch (event.key_code()) { 937 switch (event.key_code()) {
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
1357 return; 1365 return;
1358 } 1366 }
1359 1367
1360 int current_page = pagination_model_.selected_page(); 1368 int current_page = pagination_model_.selected_page();
1361 gfx::Point point(drag_point); 1369 gfx::Point point(drag_point);
1362 if (!IsPointWithinDragBuffer(drag_point)) { 1370 if (!IsPointWithinDragBuffer(drag_point)) {
1363 point = drag_start_grid_view_; 1371 point = drag_start_grid_view_;
1364 current_page = drag_start_page_; 1372 current_page = drag_start_page_;
1365 } 1373 }
1366 1374
1367 if (use_page_button_hovering && 1375 if (use_page_button_hovering && page_switcher_view_ &&
1368 page_switcher_view_->bounds().Contains(point)) { 1376 page_switcher_view_->bounds().Contains(point)) {
1369 gfx::Point page_switcher_point(point); 1377 gfx::Point page_switcher_point(point);
1370 views::View::ConvertPointToTarget(this, page_switcher_view_, 1378 views::View::ConvertPointToTarget(this, page_switcher_view_,
1371 &page_switcher_point); 1379 &page_switcher_point);
1372 int page = page_switcher_view_->GetPageForPoint(page_switcher_point); 1380 int page = page_switcher_view_->GetPageForPoint(page_switcher_point);
1373 if (pagination_model_.is_valid_page(page)) { 1381 if (pagination_model_.is_valid_page(page)) {
1374 drop_target_.page = page; 1382 drop_target_.page = page;
1375 drop_target_.slot = tiles_per_page() - 1; 1383 drop_target_.slot = tiles_per_page() - 1;
1376 } 1384 }
1377 } else { 1385 } else {
(...skipping 18 matching lines...) Expand all
1396 1404
1397 1405
1398 void AppsGridView::CalculateDropTargetWithFolderEnabled( 1406 void AppsGridView::CalculateDropTargetWithFolderEnabled(
1399 const gfx::Point& drag_point, 1407 const gfx::Point& drag_point,
1400 bool use_page_button_hovering) { 1408 bool use_page_button_hovering) {
1401 gfx::Point point(drag_point); 1409 gfx::Point point(drag_point);
1402 if (!IsPointWithinDragBuffer(drag_point)) { 1410 if (!IsPointWithinDragBuffer(drag_point)) {
1403 point = drag_start_grid_view_; 1411 point = drag_start_grid_view_;
1404 } 1412 }
1405 1413
1406 if (use_page_button_hovering && 1414 if (use_page_button_hovering && page_switcher_view_ &&
1407 page_switcher_view_->bounds().Contains(point)) { 1415 page_switcher_view_->bounds().Contains(point)) {
1408 gfx::Point page_switcher_point(point); 1416 gfx::Point page_switcher_point(point);
1409 views::View::ConvertPointToTarget(this, page_switcher_view_, 1417 views::View::ConvertPointToTarget(this, page_switcher_view_,
1410 &page_switcher_point); 1418 &page_switcher_point);
1411 int page = page_switcher_view_->GetPageForPoint(page_switcher_point); 1419 int page = page_switcher_view_->GetPageForPoint(page_switcher_point);
1412 if (pagination_model_.is_valid_page(page)) 1420 if (pagination_model_.is_valid_page(page))
1413 drop_attempt_ = DROP_FOR_NONE; 1421 drop_attempt_ = DROP_FOR_NONE;
1414 } else { 1422 } else {
1415 DCHECK(drag_view_); 1423 DCHECK(drag_view_);
1416 // Try to find the nearest target for folder dropping or re-ordering. 1424 // Try to find the nearest target for folder dropping or re-ordering.
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1637 } 1645 }
1638 } 1646 }
1639 } 1647 }
1640 } 1648 }
1641 1649
1642 void AppsGridView::MaybeStartPageFlipTimer(const gfx::Point& drag_point) { 1650 void AppsGridView::MaybeStartPageFlipTimer(const gfx::Point& drag_point) {
1643 if (!IsPointWithinDragBuffer(drag_point)) 1651 if (!IsPointWithinDragBuffer(drag_point))
1644 StopPageFlipTimer(); 1652 StopPageFlipTimer();
1645 int new_page_flip_target = -1; 1653 int new_page_flip_target = -1;
1646 1654
1647 if (page_switcher_view_->bounds().Contains(drag_point)) { 1655 if (page_switcher_view_ &&
1656 page_switcher_view_->bounds().Contains(drag_point)) {
1648 gfx::Point page_switcher_point(drag_point); 1657 gfx::Point page_switcher_point(drag_point);
1649 views::View::ConvertPointToTarget(this, page_switcher_view_, 1658 views::View::ConvertPointToTarget(this, page_switcher_view_,
1650 &page_switcher_point); 1659 &page_switcher_point);
1651 new_page_flip_target = 1660 new_page_flip_target =
1652 page_switcher_view_->GetPageForPoint(page_switcher_point); 1661 page_switcher_view_->GetPageForPoint(page_switcher_point);
1653 } 1662 }
1654 1663
1655 // TODO(xiyuan): Fix this for RTL. 1664 // TODO(xiyuan): Fix this for RTL.
1656 if (new_page_flip_target == -1 && drag_point.x() < kPageFlipZoneSize) 1665 if (new_page_flip_target == -1 && drag_point.x() < kPageFlipZoneSize)
1657 new_page_flip_target = pagination_model_.selected_page() - 1; 1666 new_page_flip_target = pagination_model_.selected_page() - 1;
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
2218 void AppsGridView::SetAsFolderDroppingTarget(const Index& target_index, 2227 void AppsGridView::SetAsFolderDroppingTarget(const Index& target_index,
2219 bool is_target_folder) { 2228 bool is_target_folder) {
2220 AppListItemView* target_view = 2229 AppListItemView* target_view =
2221 static_cast<AppListItemView*>( 2230 static_cast<AppListItemView*>(
2222 GetViewAtSlotOnCurrentPage(target_index.slot)); 2231 GetViewAtSlotOnCurrentPage(target_index.slot));
2223 if (target_view) 2232 if (target_view)
2224 target_view->SetAsAttemptedFolderTarget(is_target_folder); 2233 target_view->SetAsAttemptedFolderTarget(is_target_folder);
2225 } 2234 }
2226 2235
2227 } // namespace app_list 2236 } // 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