| 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 "chrome/browser/ui/bookmarks/recently_used_folders_combo_model.h" | 5 #include "chrome/browser/ui/bookmarks/recently_used_folders_combo_model.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/metrics/user_metrics.h" |
| 9 #include "chrome/grit/generated_resources.h" | 10 #include "chrome/grit/generated_resources.h" |
| 10 #include "components/bookmarks/browser/bookmark_model.h" | 11 #include "components/bookmarks/browser/bookmark_model.h" |
| 11 #include "components/bookmarks/browser/bookmark_utils.h" | 12 #include "components/bookmarks/browser/bookmark_utils.h" |
| 12 #include "content/public/browser/user_metrics.h" | |
| 13 #include "ui/base/l10n/l10n_util.h" | 13 #include "ui/base/l10n/l10n_util.h" |
| 14 #include "ui/base/models/combobox_model_observer.h" | 14 #include "ui/base/models/combobox_model_observer.h" |
| 15 | 15 |
| 16 using bookmarks::BookmarkModel; | 16 using bookmarks::BookmarkModel; |
| 17 using bookmarks::BookmarkNode; | 17 using bookmarks::BookmarkNode; |
| 18 | 18 |
| 19 namespace { | 19 namespace { |
| 20 | 20 |
| 21 // Max number of most recently used folders. | 21 // Max number of most recently used folders. |
| 22 const size_t kMaxMRUFolders = 5; | 22 const size_t kMaxMRUFolders = 5; |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 } | 226 } |
| 227 | 227 |
| 228 void RecentlyUsedFoldersComboModel::MaybeChangeParent( | 228 void RecentlyUsedFoldersComboModel::MaybeChangeParent( |
| 229 const BookmarkNode* node, | 229 const BookmarkNode* node, |
| 230 int selected_index) { | 230 int selected_index) { |
| 231 if (items_[selected_index].type != Item::TYPE_NODE) | 231 if (items_[selected_index].type != Item::TYPE_NODE) |
| 232 return; | 232 return; |
| 233 | 233 |
| 234 const BookmarkNode* new_parent = GetNodeAt(selected_index); | 234 const BookmarkNode* new_parent = GetNodeAt(selected_index); |
| 235 if (new_parent != node->parent()) { | 235 if (new_parent != node->parent()) { |
| 236 content::RecordAction( | 236 base::RecordAction(base::UserMetricsAction("BookmarkBubble_ChangeParent")); |
| 237 base::UserMetricsAction("BookmarkBubble_ChangeParent")); | |
| 238 bookmark_model_->Move(node, new_parent, new_parent->child_count()); | 237 bookmark_model_->Move(node, new_parent, new_parent->child_count()); |
| 239 } | 238 } |
| 240 } | 239 } |
| 241 | 240 |
| 242 const BookmarkNode* RecentlyUsedFoldersComboModel::GetNodeAt(int index) { | 241 const BookmarkNode* RecentlyUsedFoldersComboModel::GetNodeAt(int index) { |
| 243 if (index < 0 || index >= static_cast<int>(items_.size())) | 242 if (index < 0 || index >= static_cast<int>(items_.size())) |
| 244 return NULL; | 243 return NULL; |
| 245 return items_[index].node; | 244 return items_[index].node; |
| 246 } | 245 } |
| 247 | 246 |
| 248 void RecentlyUsedFoldersComboModel::RemoveNode(const BookmarkNode* node) { | 247 void RecentlyUsedFoldersComboModel::RemoveNode(const BookmarkNode* node) { |
| 249 std::vector<Item>::iterator it = std::find(items_.begin(), | 248 std::vector<Item>::iterator it = std::find(items_.begin(), |
| 250 items_.end(), | 249 items_.end(), |
| 251 Item(node, Item::TYPE_NODE)); | 250 Item(node, Item::TYPE_NODE)); |
| 252 if (it != items_.end()) | 251 if (it != items_.end()) |
| 253 items_.erase(it); | 252 items_.erase(it); |
| 254 } | 253 } |
| OLD | NEW |