OLD | NEW |
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 "ash/common/shelf/shelf_view.h" | 5 #include "ash/common/shelf/shelf_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "ash/common/ash_constants.h" | 10 #include "ash/common/ash_constants.h" |
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 WmShell::Get()->RecordUserMetricsAction(UMA_LAUNCHER_CLICK_ON_APP); | 590 WmShell::Get()->RecordUserMetricsAction(UMA_LAUNCHER_CLICK_ON_APP); |
591 break; | 591 break; |
592 | 592 |
593 case TYPE_APP_LIST: | 593 case TYPE_APP_LIST: |
594 WmShell::Get()->RecordUserMetricsAction( | 594 WmShell::Get()->RecordUserMetricsAction( |
595 UMA_LAUNCHER_CLICK_ON_APPLIST_BUTTON); | 595 UMA_LAUNCHER_CLICK_ON_APPLIST_BUTTON); |
596 break; | 596 break; |
597 | 597 |
598 case TYPE_APP_PANEL: | 598 case TYPE_APP_PANEL: |
599 case TYPE_DIALOG: | 599 case TYPE_DIALOG: |
600 case TYPE_IME_MENU: | |
601 break; | 600 break; |
602 | 601 |
603 case TYPE_UNDEFINED: | 602 case TYPE_UNDEFINED: |
604 NOTREACHED() << "ShelfItemType must be set."; | 603 NOTREACHED() << "ShelfItemType must be set."; |
605 break; | 604 break; |
606 } | 605 } |
607 | 606 |
608 ShelfItemDelegate::PerformedAction performed_action = | 607 ShelfItemDelegate::PerformedAction performed_action = |
609 model_->GetShelfItemDelegate(model_->items()[last_pressed_index_].id) | 608 model_->GetShelfItemDelegate(model_->items()[last_pressed_index_].id) |
610 ->ItemSelected(event); | 609 ->ItemSelected(event); |
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1068 overflow_button_->SetBoundsRect(ideal_bounds.overflow_bounds); | 1067 overflow_button_->SetBoundsRect(ideal_bounds.overflow_bounds); |
1069 } | 1068 } |
1070 | 1069 |
1071 views::View* ShelfView::CreateViewForItem(const ShelfItem& item) { | 1070 views::View* ShelfView::CreateViewForItem(const ShelfItem& item) { |
1072 views::View* view = nullptr; | 1071 views::View* view = nullptr; |
1073 switch (item.type) { | 1072 switch (item.type) { |
1074 case TYPE_APP_PANEL: | 1073 case TYPE_APP_PANEL: |
1075 case TYPE_APP_SHORTCUT: | 1074 case TYPE_APP_SHORTCUT: |
1076 case TYPE_BROWSER_SHORTCUT: | 1075 case TYPE_BROWSER_SHORTCUT: |
1077 case TYPE_APP: | 1076 case TYPE_APP: |
1078 case TYPE_DIALOG: | 1077 case TYPE_DIALOG: { |
1079 case TYPE_IME_MENU: { | |
1080 ShelfButton* button = new ShelfButton(this, this); | 1078 ShelfButton* button = new ShelfButton(this, this); |
1081 button->SetImage(item.image); | 1079 button->SetImage(item.image); |
1082 ReflectItemStatus(item, button); | 1080 ReflectItemStatus(item, button); |
1083 view = button; | 1081 view = button; |
1084 break; | 1082 break; |
1085 } | 1083 } |
1086 | 1084 |
1087 case TYPE_APP_LIST: { | 1085 case TYPE_APP_LIST: { |
1088 view = new AppListButton(this, this, wm_shelf_); | 1086 view = new AppListButton(this, this, wm_shelf_); |
1089 break; | 1087 break; |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1396 | 1394 |
1397 bool ShelfView::SameDragType(ShelfItemType typea, ShelfItemType typeb) const { | 1395 bool ShelfView::SameDragType(ShelfItemType typea, ShelfItemType typeb) const { |
1398 switch (typea) { | 1396 switch (typea) { |
1399 case TYPE_APP_SHORTCUT: | 1397 case TYPE_APP_SHORTCUT: |
1400 case TYPE_BROWSER_SHORTCUT: | 1398 case TYPE_BROWSER_SHORTCUT: |
1401 return (typeb == TYPE_APP_SHORTCUT || typeb == TYPE_BROWSER_SHORTCUT); | 1399 return (typeb == TYPE_APP_SHORTCUT || typeb == TYPE_BROWSER_SHORTCUT); |
1402 case TYPE_APP_PANEL: | 1400 case TYPE_APP_PANEL: |
1403 case TYPE_APP_LIST: | 1401 case TYPE_APP_LIST: |
1404 case TYPE_APP: | 1402 case TYPE_APP: |
1405 case TYPE_DIALOG: | 1403 case TYPE_DIALOG: |
1406 case TYPE_IME_MENU: | |
1407 return typeb == typea; | 1404 return typeb == typea; |
1408 case TYPE_UNDEFINED: | 1405 case TYPE_UNDEFINED: |
1409 NOTREACHED() << "ShelfItemType must be set."; | 1406 NOTREACHED() << "ShelfItemType must be set."; |
1410 return false; | 1407 return false; |
1411 } | 1408 } |
1412 NOTREACHED(); | 1409 NOTREACHED(); |
1413 return false; | 1410 return false; |
1414 } | 1411 } |
1415 | 1412 |
1416 std::pair<int, int> ShelfView::GetDragRange(int index) { | 1413 std::pair<int, int> ShelfView::GetDragRange(int index) { |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1719 bounds_animator_->AnimateViewTo(new_view, old_ideal_bounds); | 1716 bounds_animator_->AnimateViewTo(new_view, old_ideal_bounds); |
1720 return; | 1717 return; |
1721 } | 1718 } |
1722 | 1719 |
1723 views::View* view = view_model_->view_at(model_index); | 1720 views::View* view = view_model_->view_at(model_index); |
1724 switch (item.type) { | 1721 switch (item.type) { |
1725 case TYPE_APP_PANEL: | 1722 case TYPE_APP_PANEL: |
1726 case TYPE_APP_SHORTCUT: | 1723 case TYPE_APP_SHORTCUT: |
1727 case TYPE_BROWSER_SHORTCUT: | 1724 case TYPE_BROWSER_SHORTCUT: |
1728 case TYPE_APP: | 1725 case TYPE_APP: |
1729 case TYPE_DIALOG: | 1726 case TYPE_DIALOG: { |
1730 case TYPE_IME_MENU: { | |
1731 CHECK_EQ(ShelfButton::kViewClassName, view->GetClassName()); | 1727 CHECK_EQ(ShelfButton::kViewClassName, view->GetClassName()); |
1732 ShelfButton* button = static_cast<ShelfButton*>(view); | 1728 ShelfButton* button = static_cast<ShelfButton*>(view); |
1733 ReflectItemStatus(item, button); | 1729 ReflectItemStatus(item, button); |
1734 button->SetImage(item.image); | 1730 button->SetImage(item.image); |
1735 button->SchedulePaint(); | 1731 button->SchedulePaint(); |
1736 break; | 1732 break; |
1737 } | 1733 } |
1738 | 1734 |
1739 default: | 1735 default: |
1740 break; | 1736 break; |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1917 | 1913 |
1918 int ShelfView::CalculateShelfDistance(const gfx::Point& coordinate) const { | 1914 int ShelfView::CalculateShelfDistance(const gfx::Point& coordinate) const { |
1919 const gfx::Rect bounds = GetBoundsInScreen(); | 1915 const gfx::Rect bounds = GetBoundsInScreen(); |
1920 int distance = wm_shelf_->SelectValueForShelfAlignment( | 1916 int distance = wm_shelf_->SelectValueForShelfAlignment( |
1921 bounds.y() - coordinate.y(), coordinate.x() - bounds.right(), | 1917 bounds.y() - coordinate.y(), coordinate.x() - bounds.right(), |
1922 bounds.x() - coordinate.x()); | 1918 bounds.x() - coordinate.x()); |
1923 return distance > 0 ? distance : 0; | 1919 return distance > 0 ? distance : 0; |
1924 } | 1920 } |
1925 | 1921 |
1926 } // namespace ash | 1922 } // namespace ash |
OLD | NEW |