| 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/launcher/launcher_view.h" | 5 #include "ash/launcher/launcher_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "ash/ash_constants.h" | 9 #include "ash/ash_constants.h" |
| 10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
| (...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 last_visible_index_ = DetermineLastVisibleIndex( | 792 last_visible_index_ = DetermineLastVisibleIndex( |
| 793 end_position - inset - 2 * button_size); | 793 end_position - inset - 2 * button_size); |
| 794 last_hidden_index_ = DetermineFirstVisiblePanelIndex(end_position) - 1; | 794 last_hidden_index_ = DetermineFirstVisiblePanelIndex(end_position) - 1; |
| 795 bool show_overflow = | 795 bool show_overflow = |
| 796 ((ash::switches::UseAlternateShelfLayout() ? 0 : 1) + | 796 ((ash::switches::UseAlternateShelfLayout() ? 0 : 1) + |
| 797 last_visible_index_ < last_button_index || | 797 last_visible_index_ < last_button_index || |
| 798 last_hidden_index_ >= first_panel_index); | 798 last_hidden_index_ >= first_panel_index); |
| 799 | 799 |
| 800 // Create Space for the overflow button | 800 // Create Space for the overflow button |
| 801 if (show_overflow && ash::switches::UseAlternateShelfLayout() && | 801 if (show_overflow && ash::switches::UseAlternateShelfLayout() && |
| 802 last_visible_index_ > 0) | 802 last_visible_index_ > 0 && last_visible_index_ < last_button_index) |
| 803 --last_visible_index_; | 803 --last_visible_index_; |
| 804 for (int i = 0; i < view_model_->view_size(); ++i) { | 804 for (int i = 0; i < view_model_->view_size(); ++i) { |
| 805 bool visible = i <= last_visible_index_ || i > last_hidden_index_; | 805 bool visible = i <= last_visible_index_ || i > last_hidden_index_; |
| 806 // Always show the app list. | 806 // Always show the app list. |
| 807 if (!ash::switches::UseAlternateShelfLayout()) | 807 if (!ash::switches::UseAlternateShelfLayout()) |
| 808 visible |= (i == last_button_index); | 808 visible |= (i == last_button_index); |
| 809 view_model_->view_at(i)->SetVisible(visible); | 809 view_model_->view_at(i)->SetVisible(visible); |
| 810 } | 810 } |
| 811 | 811 |
| 812 overflow_button_->SetVisible(show_overflow); | 812 overflow_button_->SetVisible(show_overflow); |
| 813 if (show_overflow) { | 813 if (show_overflow) { |
| 814 DCHECK_NE(0, view_model_->view_size()); | 814 DCHECK_NE(0, view_model_->view_size()); |
| 815 if (last_visible_index_ == -1) { | 815 if (last_visible_index_ == -1) { |
| 816 x = shelf->SelectValueForShelfAlignment(inset, 0, 0, inset); | 816 x = shelf->SelectValueForShelfAlignment(inset, 0, 0, inset); |
| 817 y = shelf->SelectValueForShelfAlignment(0, inset, inset, 0); | 817 y = shelf->SelectValueForShelfAlignment(0, inset, inset, 0); |
| 818 } else if (last_visible_index_ == last_button_index) { | 818 } else if (last_visible_index_ == last_button_index |
| 819 && !ash::switches::UseAlternateShelfLayout()) { |
| 819 x = view_model_->ideal_bounds(last_visible_index_).x(); | 820 x = view_model_->ideal_bounds(last_visible_index_).x(); |
| 820 y = view_model_->ideal_bounds(last_visible_index_).y(); | 821 y = view_model_->ideal_bounds(last_visible_index_).y(); |
| 821 } else { | 822 } else { |
| 822 x = shelf->PrimaryAxisValue( | 823 x = shelf->PrimaryAxisValue( |
| 823 view_model_->ideal_bounds(last_visible_index_).right(), | 824 view_model_->ideal_bounds(last_visible_index_).right(), |
| 824 view_model_->ideal_bounds(last_visible_index_).x()); | 825 view_model_->ideal_bounds(last_visible_index_).x()); |
| 825 y = shelf->PrimaryAxisValue( | 826 y = shelf->PrimaryAxisValue( |
| 826 view_model_->ideal_bounds(last_visible_index_).y(), | 827 view_model_->ideal_bounds(last_visible_index_).y(), |
| 827 view_model_->ideal_bounds(last_visible_index_).bottom()); | 828 view_model_->ideal_bounds(last_visible_index_).bottom()); |
| 828 } | 829 } |
| (...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1837 break; | 1838 break; |
| 1838 case ash::SHELF_ALIGNMENT_TOP: | 1839 case ash::SHELF_ALIGNMENT_TOP: |
| 1839 distance = coordinate.y() - bounds.bottom(); | 1840 distance = coordinate.y() - bounds.bottom(); |
| 1840 break; | 1841 break; |
| 1841 } | 1842 } |
| 1842 return distance > 0 ? distance : 0; | 1843 return distance > 0 ? distance : 0; |
| 1843 } | 1844 } |
| 1844 | 1845 |
| 1845 } // namespace internal | 1846 } // namespace internal |
| 1846 } // namespace ash | 1847 } // namespace ash |
| OLD | NEW |