| 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/ui/views/bookmarks/bookmark_context_menu_controller_vie
ws.h" | 5 #include "chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_vie
ws.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" | 10 #include "chrome/browser/bookmarks/bookmark_input_window_dialog_controller.h" |
| 11 #include "chrome/browser/bookmarks/bookmark_model.h" | 11 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 12 #include "chrome/browser/bookmarks/bookmark_utils.h" | 12 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 13 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 13 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 14 #include "chrome/browser/prefs/pref_service.h" | 14 #include "chrome/browser/prefs/pref_service.h" |
| 15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
| 16 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
| 17 #include "chrome/browser/ui/browser_list.h" | 17 #include "chrome/browser/ui/browser_list.h" |
| 18 #include "chrome/browser/ui/webui/chrome_web_ui.h" |
| 18 #include "chrome/common/pref_names.h" | 19 #include "chrome/common/pref_names.h" |
| 19 #include "content/browser/tab_contents/page_navigator.h" | 20 #include "content/browser/tab_contents/page_navigator.h" |
| 20 #include "content/browser/user_metrics.h" | 21 #include "content/browser/user_metrics.h" |
| 21 #include "grit/generated_resources.h" | 22 #include "grit/generated_resources.h" |
| 22 #include "views/widget/widget.h" | 23 #include "views/widget/widget.h" |
| 23 | 24 |
| 24 BookmarkContextMenuControllerViews::BookmarkContextMenuControllerViews( | 25 BookmarkContextMenuControllerViews::BookmarkContextMenuControllerViews( |
| 25 views::Widget* parent_widget, | 26 views::Widget* parent_widget, |
| 26 BookmarkContextMenuControllerViewsDelegate* delegate, | 27 BookmarkContextMenuControllerViewsDelegate* delegate, |
| 27 Profile* profile, | 28 Profile* profile, |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 case IDC_BOOKMARK_BAR_EDIT: | 125 case IDC_BOOKMARK_BAR_EDIT: |
| 125 UserMetrics::RecordAction( | 126 UserMetrics::RecordAction( |
| 126 UserMetricsAction("BookmarkBar_ContextMenu_Edit")); | 127 UserMetricsAction("BookmarkBar_ContextMenu_Edit")); |
| 127 | 128 |
| 128 if (selection_.size() != 1) { | 129 if (selection_.size() != 1) { |
| 129 NOTREACHED(); | 130 NOTREACHED(); |
| 130 return; | 131 return; |
| 131 } | 132 } |
| 132 | 133 |
| 133 if (selection_[0]->is_url()) { | 134 if (selection_[0]->is_url()) { |
| 134 BookmarkEditor::Show(parent_widget_->GetNativeWindow(), profile_, | 135 if (ChromeWebUI::IsMoreWebUI()) { |
| 135 BookmarkEditor::EditDetails::EditNode(selection_[0]), | 136 BookmarkInputWindowDialogController::Show( |
| 136 BookmarkEditor::SHOW_TREE); | 137 profile_, |
| 138 parent_widget_->GetNativeWindow(), |
| 139 selection_[0], |
| 140 -1, |
| 141 BookmarkInputWindowDialogController::EXISTING_BOOKMARK_PAGE); |
| 142 } else { |
| 143 BookmarkEditor::Show( |
| 144 parent_widget_->GetNativeWindow(), |
| 145 profile_, |
| 146 BookmarkEditor::EditDetails::EditNode(selection_[0]), |
| 147 BookmarkEditor::SHOW_TREE); |
| 148 } |
| 137 } else { | 149 } else { |
| 138 BookmarkFolderEditorController::Show(profile_, | 150 BookmarkInputWindowDialogController::Show( |
| 139 parent_widget_->GetNativeWindow(), selection_[0], -1, | 151 profile_, |
| 140 BookmarkFolderEditorController::EXISTING_BOOKMARK); | 152 parent_widget_->GetNativeWindow(), |
| 153 selection_[0], |
| 154 -1, |
| 155 BookmarkInputWindowDialogController::EXISTING_BOOKMARK_FOLDER); |
| 141 } | 156 } |
| 142 break; | 157 break; |
| 143 | 158 |
| 144 case IDC_BOOKMARK_BAR_REMOVE: { | 159 case IDC_BOOKMARK_BAR_REMOVE: { |
| 145 UserMetrics::RecordAction( | 160 UserMetrics::RecordAction( |
| 146 UserMetricsAction("BookmarkBar_ContextMenu_Remove")); | 161 UserMetricsAction("BookmarkBar_ContextMenu_Remove")); |
| 147 | 162 |
| 148 delegate_->WillRemoveBookmarks(selection_); | 163 delegate_->WillRemoveBookmarks(selection_); |
| 149 for (size_t i = 0; i < selection_.size(); ++i) { | 164 for (size_t i = 0; i < selection_.size(); ++i) { |
| 150 model->Remove(selection_[i]->parent(), | 165 model->Remove(selection_[i]->parent(), |
| 151 selection_[i]->parent()->GetIndexOf(selection_[i])); | 166 selection_[i]->parent()->GetIndexOf(selection_[i])); |
| 152 } | 167 } |
| 153 delegate_->DidRemoveBookmarks(); | 168 delegate_->DidRemoveBookmarks(); |
| 154 selection_.clear(); | 169 selection_.clear(); |
| 155 break; | 170 break; |
| 156 } | 171 } |
| 157 | 172 |
| 158 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: { | 173 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: { |
| 159 UserMetrics::RecordAction( | 174 UserMetrics::RecordAction( |
| 160 UserMetricsAction("BookmarkBar_ContextMenu_Add")); | 175 UserMetricsAction("BookmarkBar_ContextMenu_Add")); |
| 161 | 176 |
| 162 // TODO: this should honor the index from GetParentForNewNodes. | 177 if (ChromeWebUI::IsMoreWebUI()) { |
| 163 BookmarkEditor::Show( | 178 int index; |
| 164 parent_widget_->GetNativeWindow(), profile_, | 179 const BookmarkNode* parent = |
| 165 BookmarkEditor::EditDetails::AddNodeInFolder( | 180 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); |
| 166 bookmark_utils::GetParentForNewNodes(parent_, selection_, NULL)), | 181 BookmarkInputWindowDialogController::Show( |
| 167 BookmarkEditor::SHOW_TREE); | 182 profile_, |
| 183 parent_widget_->GetNativeWindow(), |
| 184 parent, |
| 185 index, |
| 186 BookmarkInputWindowDialogController::NEW_BOOKMARK_PAGE); |
| 187 } else { |
| 188 // TODO: this should honor the index from GetParentForNewNodes. |
| 189 BookmarkEditor::Show( |
| 190 parent_widget_->GetNativeWindow(), |
| 191 profile_, |
| 192 BookmarkEditor::EditDetails::AddNodeInFolder( |
| 193 bookmark_utils::GetParentForNewNodes(parent_, |
| 194 selection_, |
| 195 NULL)), |
| 196 BookmarkEditor::SHOW_TREE); |
| 197 } |
| 168 break; | 198 break; |
| 169 } | 199 } |
| 170 | 200 |
| 171 case IDC_BOOKMARK_BAR_NEW_FOLDER: { | 201 case IDC_BOOKMARK_BAR_NEW_FOLDER: { |
| 172 UserMetrics::RecordAction( | 202 UserMetrics::RecordAction( |
| 173 UserMetricsAction("BookmarkBar_ContextMenu_NewFolder")); | 203 UserMetricsAction("BookmarkBar_ContextMenu_NewFolder")); |
| 174 int index; | 204 int index; |
| 175 const BookmarkNode* parent = | 205 const BookmarkNode* parent = |
| 176 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); | 206 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); |
| 177 BookmarkFolderEditorController::Show(profile_, | 207 BookmarkInputWindowDialogController::Show(profile_, |
| 178 parent_widget_->GetNativeWindow(), parent, index, | 208 parent_widget_->GetNativeWindow(), parent, index, |
| 179 BookmarkFolderEditorController::NEW_BOOKMARK); | 209 BookmarkInputWindowDialogController::NEW_BOOKMARK_FOLDER); |
| 180 break; | 210 break; |
| 181 } | 211 } |
| 182 | 212 |
| 183 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: | 213 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: |
| 184 bookmark_utils::ToggleWhenVisible(profile_); | 214 bookmark_utils::ToggleWhenVisible(profile_); |
| 185 break; | 215 break; |
| 186 | 216 |
| 187 case IDC_BOOKMARK_MANAGER: { | 217 case IDC_BOOKMARK_MANAGER: { |
| 188 UserMetrics::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 218 UserMetrics::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 189 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); | 219 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 return model; | 327 return model; |
| 298 } | 328 } |
| 299 | 329 |
| 300 bool BookmarkContextMenuControllerViews::HasURLs() const { | 330 bool BookmarkContextMenuControllerViews::HasURLs() const { |
| 301 for (size_t i = 0; i < selection_.size(); ++i) { | 331 for (size_t i = 0; i < selection_.size(); ++i) { |
| 302 if (bookmark_utils::NodeHasURLs(selection_[i])) | 332 if (bookmark_utils::NodeHasURLs(selection_[i])) |
| 303 return true; | 333 return true; |
| 304 } | 334 } |
| 305 return false; | 335 return false; |
| 306 } | 336 } |
| OLD | NEW |