| 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_folder_editor_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_availability_prefs.h" |
| 13 #include "chrome/browser/prefs/pref_service.h" | 14 #include "chrome/browser/prefs/pref_service.h" |
| 14 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
| 15 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
| 16 #include "chrome/browser/ui/browser_list.h" | 17 #include "chrome/browser/ui/browser_list.h" |
| 17 #include "content/browser/user_metrics.h" | 18 #include "content/browser/user_metrics.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 "grit/generated_resources.h" | 21 #include "grit/generated_resources.h" |
| 21 #include "views/widget/widget.h" | 22 #include "views/widget/widget.h" |
| 22 | 23 |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 | 231 |
| 231 bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { | 232 bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { |
| 232 bool is_root_node = | 233 bool is_root_node = |
| 233 (selection_.size() == 1 && | 234 (selection_.size() == 1 && |
| 234 selection_[0]->parent() == model_->root_node()); | 235 selection_[0]->parent() == model_->root_node()); |
| 235 bool can_edit = | 236 bool can_edit = |
| 236 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); | 237 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); |
| 237 switch (id) { | 238 switch (id) { |
| 238 case IDC_BOOKMARK_BAR_OPEN_INCOGNITO: | 239 case IDC_BOOKMARK_BAR_OPEN_INCOGNITO: |
| 239 return !profile_->IsOffTheRecord() && | 240 return !profile_->IsOffTheRecord() && |
| 240 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled); | 241 profile_->GetPrefs()->GetInteger( |
| 242 prefs::kIncognitoModeAvailability) != |
| 243 IncognitoModeAvailabilityPrefs::DISABLED; |
| 241 | 244 |
| 242 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: | 245 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: |
| 243 return HasURLs() && !profile_->IsOffTheRecord() && | 246 return HasURLs() && !profile_->IsOffTheRecord() && |
| 244 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled); | 247 profile_->GetPrefs()->GetInteger( |
| 248 prefs::kIncognitoModeAvailability) != |
| 249 IncognitoModeAvailabilityPrefs::DISABLED; |
| 245 | 250 |
| 246 case IDC_BOOKMARK_BAR_OPEN_ALL: | 251 case IDC_BOOKMARK_BAR_OPEN_ALL: |
| 252 return HasURLs(); |
| 247 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: | 253 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: |
| 248 return HasURLs(); | 254 return HasURLs() && |
| 255 profile_->GetPrefs()->GetInteger( |
| 256 prefs::kIncognitoModeAvailability) != |
| 257 IncognitoModeAvailabilityPrefs::FORCED; |
| 249 | 258 |
| 250 case IDC_BOOKMARK_BAR_RENAME_FOLDER: | 259 case IDC_BOOKMARK_BAR_RENAME_FOLDER: |
| 251 case IDC_BOOKMARK_BAR_EDIT: | 260 case IDC_BOOKMARK_BAR_EDIT: |
| 252 return selection_.size() == 1 && !is_root_node && can_edit; | 261 return selection_.size() == 1 && !is_root_node && can_edit; |
| 253 | 262 |
| 254 case IDC_BOOKMARK_BAR_REMOVE: | 263 case IDC_BOOKMARK_BAR_REMOVE: |
| 255 return !selection_.empty() && !is_root_node && can_edit; | 264 return !selection_.empty() && !is_root_node && can_edit; |
| 256 | 265 |
| 257 case IDC_BOOKMARK_BAR_NEW_FOLDER: | 266 case IDC_BOOKMARK_BAR_NEW_FOLDER: |
| 258 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: | 267 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: |
| (...skipping 30 matching lines...) Expand all Loading... |
| 289 return model; | 298 return model; |
| 290 } | 299 } |
| 291 | 300 |
| 292 bool BookmarkContextMenuControllerViews::HasURLs() const { | 301 bool BookmarkContextMenuControllerViews::HasURLs() const { |
| 293 for (size_t i = 0; i < selection_.size(); ++i) { | 302 for (size_t i = 0; i < selection_.size(); ++i) { |
| 294 if (bookmark_utils::NodeHasURLs(selection_[i])) | 303 if (bookmark_utils::NodeHasURLs(selection_[i])) |
| 295 return true; | 304 return true; |
| 296 } | 305 } |
| 297 return false; | 306 return false; |
| 298 } | 307 } |
| OLD | NEW |