| 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/app_list_folder_item.h" | 5 #include "ui/app_list/app_list_folder_item.h" |
| 6 | 6 |
| 7 #include "base/guid.h" | 7 #include "base/guid.h" |
| 8 #include "ui/app_list/app_list_constants.h" | 8 #include "ui/app_list/app_list_constants.h" |
| 9 #include "ui/app_list/app_list_item_list.h" | 9 #include "ui/app_list/app_list_item_list.h" |
| 10 #include "ui/app_list/folder_image_source.h" | 10 #include "ui/app_list/folder_image_source.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 top_icons.push_back(top_items_[i]->icon()); | 32 top_icons.push_back(top_items_[i]->icon()); |
| 33 | 33 |
| 34 const gfx::Size icon_size = gfx::Size(kGridIconDimension, kGridIconDimension); | 34 const gfx::Size icon_size = gfx::Size(kGridIconDimension, kGridIconDimension); |
| 35 gfx::ImageSkia icon = gfx::ImageSkia( | 35 gfx::ImageSkia icon = gfx::ImageSkia( |
| 36 new FolderImageSource(top_icons, icon_size), | 36 new FolderImageSource(top_icons, icon_size), |
| 37 icon_size); | 37 icon_size); |
| 38 SetIcon(icon, false); | 38 SetIcon(icon, false); |
| 39 } | 39 } |
| 40 | 40 |
| 41 const gfx::ImageSkia& AppListFolderItem::GetTopIcon(size_t item_index) { | 41 const gfx::ImageSkia& AppListFolderItem::GetTopIcon(size_t item_index) { |
| 42 DCHECK(item_index <= top_items_.size()); | 42 CHECK_LT(item_index, top_items_.size()); |
| 43 return top_items_[item_index]->icon(); | 43 return top_items_[item_index]->icon(); |
| 44 } | 44 } |
| 45 | 45 |
| 46 gfx::Rect AppListFolderItem::GetTargetIconRectInFolderForItem( | 46 gfx::Rect AppListFolderItem::GetTargetIconRectInFolderForItem( |
| 47 AppListItem* item, | 47 AppListItem* item, |
| 48 const gfx::Rect& folder_icon_bounds) { | 48 const gfx::Rect& folder_icon_bounds) { |
| 49 for (size_t i = 0; i < top_items_.size(); ++i) { | 49 for (size_t i = 0; i < top_items_.size(); ++i) { |
| 50 if (item->id() == top_items_[i]->id()) { | 50 if (item->id() == top_items_[i]->id()) { |
| 51 std::vector<gfx::Rect> rects = | 51 std::vector<gfx::Rect> rects = |
| 52 FolderImageSource::GetTopIconsBounds(folder_icon_bounds); | 52 FolderImageSource::GetTopIconsBounds(folder_icon_bounds); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 std::string AppListFolderItem::GenerateId() { | 106 std::string AppListFolderItem::GenerateId() { |
| 107 return base::GenerateGUID(); | 107 return base::GenerateGUID(); |
| 108 } | 108 } |
| 109 | 109 |
| 110 void AppListFolderItem::ItemIconChanged() { | 110 void AppListFolderItem::ItemIconChanged() { |
| 111 UpdateIcon(); | 111 UpdateIcon(); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void AppListFolderItem::OnListItemAdded(size_t index, | 114 void AppListFolderItem::OnListItemAdded(size_t index, |
| 115 AppListItem* item) { | 115 AppListItem* item) { |
| 116 if (index <= kNumFolderTopItems) | 116 if (index < kNumFolderTopItems) |
| 117 UpdateTopItems(); | 117 UpdateTopItems(); |
| 118 } | 118 } |
| 119 | 119 |
| 120 void AppListFolderItem::OnListItemRemoved(size_t index, | 120 void AppListFolderItem::OnListItemRemoved(size_t index, |
| 121 AppListItem* item) { | 121 AppListItem* item) { |
| 122 if (index <= kNumFolderTopItems) | 122 if (index < kNumFolderTopItems) |
| 123 UpdateTopItems(); | 123 UpdateTopItems(); |
| 124 } | 124 } |
| 125 | 125 |
| 126 void AppListFolderItem::OnListItemMoved(size_t from_index, | 126 void AppListFolderItem::OnListItemMoved(size_t from_index, |
| 127 size_t to_index, | 127 size_t to_index, |
| 128 AppListItem* item) { | 128 AppListItem* item) { |
| 129 if (from_index <= kNumFolderTopItems || to_index <= kNumFolderTopItems) | 129 if (from_index < kNumFolderTopItems || to_index < kNumFolderTopItems) |
| 130 UpdateTopItems(); | 130 UpdateTopItems(); |
| 131 } | 131 } |
| 132 | 132 |
| 133 void AppListFolderItem::UpdateTopItems() { | 133 void AppListFolderItem::UpdateTopItems() { |
| 134 for (size_t i = 0; i < top_items_.size(); ++i) | 134 for (size_t i = 0; i < top_items_.size(); ++i) |
| 135 top_items_[i]->RemoveObserver(this); | 135 top_items_[i]->RemoveObserver(this); |
| 136 top_items_.clear(); | 136 top_items_.clear(); |
| 137 | 137 |
| 138 for (size_t i = 0; | 138 for (size_t i = 0; |
| 139 i < kNumFolderTopItems && i < item_list_->item_count(); ++i) { | 139 i < kNumFolderTopItems && i < item_list_->item_count(); ++i) { |
| 140 AppListItem* item = item_list_->item_at(i); | 140 AppListItem* item = item_list_->item_at(i); |
| 141 item->AddObserver(this); | 141 item->AddObserver(this); |
| 142 top_items_.push_back(item); | 142 top_items_.push_back(item); |
| 143 } | 143 } |
| 144 UpdateIcon(); | 144 UpdateIcon(); |
| 145 } | 145 } |
| 146 | 146 |
| 147 } // namespace app_list | 147 } // namespace app_list |
| OLD | NEW |