| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/bookmarks/bookmark_context_menu_controller.h" | 5 #include "chrome/browser/bookmarks/bookmark_context_menu_controller.h" |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
| 9 #include "chrome/browser/bookmarks/bookmark_editor.h" | 9 #include "chrome/browser/bookmarks/bookmark_editor.h" |
| 10 #include "chrome/browser/bookmarks/bookmark_folder_editor_controller.h" | |
| 11 #include "chrome/browser/bookmarks/bookmark_model.h" | 10 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 12 #include "chrome/browser/bookmarks/bookmark_utils.h" | 11 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 13 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 12 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 14 #include "chrome/browser/prefs/pref_service.h" | 13 #include "chrome/browser/prefs/pref_service.h" |
| 15 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
| 16 #include "chrome/browser/ui/browser.h" | 15 #include "chrome/browser/ui/browser.h" |
| 17 #include "chrome/browser/ui/browser_list.h" | 16 #include "chrome/browser/ui/browser_list.h" |
| 18 #include "chrome/common/pref_names.h" | 17 #include "chrome/common/pref_names.h" |
| 19 #include "content/browser/tab_contents/page_navigator.h" | 18 #include "content/browser/tab_contents/page_navigator.h" |
| 20 #include "content/browser/user_metrics.h" | 19 #include "content/browser/user_metrics.h" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 case IDC_BOOKMARK_BAR_RENAME_FOLDER: | 130 case IDC_BOOKMARK_BAR_RENAME_FOLDER: |
| 132 case IDC_BOOKMARK_BAR_EDIT: | 131 case IDC_BOOKMARK_BAR_EDIT: |
| 133 UserMetrics::RecordAction( | 132 UserMetrics::RecordAction( |
| 134 UserMetricsAction("BookmarkBar_ContextMenu_Edit")); | 133 UserMetricsAction("BookmarkBar_ContextMenu_Edit")); |
| 135 | 134 |
| 136 if (selection_.size() != 1) { | 135 if (selection_.size() != 1) { |
| 137 NOTREACHED(); | 136 NOTREACHED(); |
| 138 break; | 137 break; |
| 139 } | 138 } |
| 140 | 139 |
| 141 if (selection_[0]->is_url()) { | 140 BookmarkEditor::Show( |
| 142 BookmarkEditor::Show(parent_window_, profile_, | 141 parent_window_, |
| 143 BookmarkEditor::EditDetails::EditNode(selection_[0]), | 142 profile_, |
| 144 BookmarkEditor::SHOW_TREE); | 143 BookmarkEditor::EditDetails::EditNode(selection_[0]), |
| 145 } else { | 144 BookmarkEditor::SHOW_TREE); |
| 146 BookmarkFolderEditorController::Show(profile_, parent_window_, | |
| 147 selection_[0], -1, | |
| 148 BookmarkFolderEditorController::EXISTING_BOOKMARK); | |
| 149 } | |
| 150 break; | 145 break; |
| 151 | 146 |
| 152 case IDC_BOOKMARK_BAR_REMOVE: { | 147 case IDC_BOOKMARK_BAR_REMOVE: { |
| 153 UserMetrics::RecordAction( | 148 UserMetrics::RecordAction( |
| 154 UserMetricsAction("BookmarkBar_ContextMenu_Remove")); | 149 UserMetricsAction("BookmarkBar_ContextMenu_Remove")); |
| 155 | 150 |
| 156 for (size_t i = 0; i < selection_.size(); ++i) { | 151 for (size_t i = 0; i < selection_.size(); ++i) { |
| 157 int index = selection_[i]->parent()->GetIndexOf(selection_[i]); | 152 int index = selection_[i]->parent()->GetIndexOf(selection_[i]); |
| 158 if (index > -1) | 153 if (index > -1) |
| 159 model_->Remove(selection_[i]->parent(), index); | 154 model_->Remove(selection_[i]->parent(), index); |
| 160 } | 155 } |
| 161 selection_.clear(); | 156 selection_.clear(); |
| 162 break; | 157 break; |
| 163 } | 158 } |
| 164 | 159 |
| 165 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: { | 160 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: { |
| 166 UserMetrics::RecordAction( | 161 UserMetrics::RecordAction( |
| 167 UserMetricsAction("BookmarkBar_ContextMenu_Add")); | 162 UserMetricsAction("BookmarkBar_ContextMenu_Add")); |
| 168 | 163 |
| 169 // TODO: this should honor the index from GetParentForNewNodes. | 164 int index; |
| 165 const BookmarkNode* parent = |
| 166 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); |
| 170 BookmarkEditor::Show( | 167 BookmarkEditor::Show( |
| 171 parent_window_, profile_, | 168 parent_window_, |
| 172 BookmarkEditor::EditDetails::AddNodeInFolder( | 169 profile_, |
| 173 bookmark_utils::GetParentForNewNodes(parent_, selection_, NULL)), | 170 BookmarkEditor::EditDetails::AddNodeInFolder(parent, index), |
| 174 BookmarkEditor::SHOW_TREE); | 171 BookmarkEditor::SHOW_TREE); |
| 175 break; | 172 break; |
| 176 } | 173 } |
| 177 | 174 |
| 178 case IDC_BOOKMARK_BAR_NEW_FOLDER: { | 175 case IDC_BOOKMARK_BAR_NEW_FOLDER: { |
| 179 UserMetrics::RecordAction( | 176 UserMetrics::RecordAction( |
| 180 UserMetricsAction("BookmarkBar_ContextMenu_NewFolder")); | 177 UserMetricsAction("BookmarkBar_ContextMenu_NewFolder")); |
| 178 |
| 181 int index; | 179 int index; |
| 182 const BookmarkNode* parent = | 180 const BookmarkNode* parent = |
| 183 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); | 181 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); |
| 184 BookmarkFolderEditorController::Show(profile_, parent_window_, parent, | 182 BookmarkEditor::Show( |
| 185 index, BookmarkFolderEditorController::NEW_BOOKMARK); | 183 parent_window_, |
| 184 profile_, |
| 185 BookmarkEditor::EditDetails::AddFolder(parent, index), |
| 186 BookmarkEditor::SHOW_TREE); |
| 186 break; | 187 break; |
| 187 } | 188 } |
| 188 | 189 |
| 189 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: | 190 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: |
| 190 bookmark_utils::ToggleWhenVisible(profile_); | 191 bookmark_utils::ToggleWhenVisible(profile_); |
| 191 break; | 192 break; |
| 192 | 193 |
| 193 case IDC_BOOKMARK_MANAGER: { | 194 case IDC_BOOKMARK_MANAGER: { |
| 194 UserMetrics::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 195 UserMetrics::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 195 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); | 196 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 delegate_->CloseMenu(); | 306 delegate_->CloseMenu(); |
| 306 } | 307 } |
| 307 | 308 |
| 308 bool BookmarkContextMenuController::HasURLs() const { | 309 bool BookmarkContextMenuController::HasURLs() const { |
| 309 for (size_t i = 0; i < selection_.size(); ++i) { | 310 for (size_t i = 0; i < selection_.size(); ++i) { |
| 310 if (bookmark_utils::NodeHasURLs(selection_[i])) | 311 if (bookmark_utils::NodeHasURLs(selection_[i])) |
| 311 return true; | 312 return true; |
| 312 } | 313 } |
| 313 return false; | 314 return false; |
| 314 } | 315 } |
| OLD | NEW |