Chromium Code Reviews| 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/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 "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
| 10 #include "chrome/browser/bookmarks/bookmark_editor.h" | 10 #include "chrome/browser/bookmarks/bookmark_editor.h" |
| 11 #include "chrome/browser/bookmarks/bookmark_model.h" | 11 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
| 13 #include "chrome/browser/bookmarks/bookmark_utils.h" | 13 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 14 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 14 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
| 16 #include "chrome/browser/ui/bookmarks/bookmark_utils.h" | 16 #include "chrome/browser/ui/bookmarks/bookmark_utils.h" |
| 17 #include "chrome/browser/ui/browser.h" | 17 #include "chrome/browser/ui/browser.h" |
| 18 #include "chrome/browser/ui/chrome_pages.h" | 18 #include "chrome/browser/ui/chrome_pages.h" |
| 19 #include "chrome/browser/ui/search/search.h" | |
| 19 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 20 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 20 #include "chrome/common/pref_names.h" | 21 #include "chrome/common/pref_names.h" |
| 21 #include "content/public/browser/page_navigator.h" | 22 #include "content/public/browser/page_navigator.h" |
| 22 #include "content/public/browser/user_metrics.h" | 23 #include "content/public/browser/user_metrics.h" |
| 23 #include "grit/generated_resources.h" | 24 #include "grit/generated_resources.h" |
| 24 #include "ui/views/widget/widget.h" | 25 #include "ui/views/widget/widget.h" |
| 25 | 26 |
| 26 using content::PageNavigator; | 27 using content::PageNavigator; |
| 27 using content::UserMetricsAction; | 28 using content::UserMetricsAction; |
| 28 | 29 |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 138 profile_, | 139 profile_, |
| 139 BookmarkEditor::EditDetails::AddFolder(parent, index), | 140 BookmarkEditor::EditDetails::AddFolder(parent, index), |
| 140 BookmarkEditor::SHOW_TREE); | 141 BookmarkEditor::SHOW_TREE); |
| 141 break; | 142 break; |
| 142 } | 143 } |
| 143 | 144 |
| 144 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: | 145 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: |
| 145 chrome::ToggleBookmarkBarWhenVisible(profile_); | 146 chrome::ToggleBookmarkBarWhenVisible(profile_); |
| 146 break; | 147 break; |
| 147 | 148 |
| 149 case IDC_BOOKMARK_BAR_SHOW_APPS_SHORTCUT: { | |
| 150 PrefService* prefs = PrefServiceFromBrowserContext(profile_); | |
|
Alexei Svitkine (slow)
2013/02/25 21:13:29
Shouldn't this use profile_->GetPrefs() like elsew
MAD
2013/02/25 21:41:01
Done.
| |
| 151 prefs->SetBoolean( | |
| 152 prefs::kShowAppsShortcutInBookmarkBar, | |
| 153 !prefs->GetBoolean(prefs::kShowAppsShortcutInBookmarkBar)); | |
| 154 break; | |
| 155 } | |
| 156 | |
| 148 case IDC_BOOKMARK_MANAGER: { | 157 case IDC_BOOKMARK_MANAGER: { |
| 149 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 158 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 150 if (selection_.size() != 1) | 159 if (selection_.size() != 1) |
| 151 chrome::ShowBookmarkManager(browser_); | 160 chrome::ShowBookmarkManager(browser_); |
| 152 else if (selection_[0]->is_folder()) | 161 else if (selection_[0]->is_folder()) |
| 153 chrome::ShowBookmarkManagerForNode(browser_, selection_[0]->id()); | 162 chrome::ShowBookmarkManagerForNode(browser_, selection_[0]->id()); |
| 154 else if (parent_) | 163 else if (parent_) |
| 155 chrome::ShowBookmarkManagerForNode(browser_, parent_->id()); | 164 chrome::ShowBookmarkManagerForNode(browser_, parent_->id()); |
| 156 else | 165 else |
| 157 chrome::ShowBookmarkManager(browser_); | 166 chrome::ShowBookmarkManager(browser_); |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 178 bookmark_utils::PasteFromClipboard(model, paste_target, index); | 187 bookmark_utils::PasteFromClipboard(model, paste_target, index); |
| 179 break; | 188 break; |
| 180 } | 189 } |
| 181 | 190 |
| 182 default: | 191 default: |
| 183 NOTREACHED(); | 192 NOTREACHED(); |
| 184 } | 193 } |
| 185 } | 194 } |
| 186 | 195 |
| 187 bool BookmarkContextMenuControllerViews::IsItemChecked(int id) const { | 196 bool BookmarkContextMenuControllerViews::IsItemChecked(int id) const { |
| 188 DCHECK_EQ(IDC_BOOKMARK_BAR_ALWAYS_SHOW, id); | 197 if (id == IDC_BOOKMARK_BAR_ALWAYS_SHOW) |
| 189 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); | 198 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); |
| 199 | |
| 200 DCHECK_EQ(IDC_BOOKMARK_BAR_SHOW_APPS_SHORTCUT, id); | |
| 201 return profile_->GetPrefs()->GetBoolean( | |
| 202 prefs::kShowAppsShortcutInBookmarkBar); | |
|
Alexei Svitkine (slow)
2013/02/25 21:13:29
What calls this? I am wondering if this should be
MAD
2013/02/25 21:41:01
Done.
| |
| 190 } | 203 } |
| 191 | 204 |
| 192 bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { | 205 bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { |
| 193 bool is_root_node = selection_.size() == 1 && | 206 bool is_root_node = selection_.size() == 1 && |
| 194 selection_[0]->parent() == model_->root_node(); | 207 selection_[0]->parent() == model_->root_node(); |
| 195 bool can_edit = | 208 bool can_edit = |
| 196 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); | 209 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); |
| 197 IncognitoModePrefs::Availability incognito_avail = | 210 IncognitoModePrefs::Availability incognito_avail = |
| 198 IncognitoModePrefs::GetAvailability(profile_->GetPrefs()); | 211 IncognitoModePrefs::GetAvailability(profile_->GetPrefs()); |
| 199 switch (id) { | 212 switch (id) { |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 222 | 235 |
| 223 case IDC_BOOKMARK_BAR_NEW_FOLDER: | 236 case IDC_BOOKMARK_BAR_NEW_FOLDER: |
| 224 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: | 237 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: |
| 225 return can_edit && bookmark_utils::GetParentForNewNodes( | 238 return can_edit && bookmark_utils::GetParentForNewNodes( |
| 226 parent_, selection_, NULL) != NULL; | 239 parent_, selection_, NULL) != NULL; |
| 227 | 240 |
| 228 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: | 241 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: |
| 229 return !profile_->GetPrefs()->IsManagedPreference( | 242 return !profile_->GetPrefs()->IsManagedPreference( |
| 230 prefs::kShowBookmarkBar); | 243 prefs::kShowBookmarkBar); |
| 231 | 244 |
| 245 case IDC_BOOKMARK_BAR_SHOW_APPS_SHORTCUT: | |
| 246 return !profile_->GetPrefs()->IsManagedPreference( | |
| 247 prefs::kShowAppsShortcutInBookmarkBar); | |
| 248 | |
| 232 case IDC_COPY: | 249 case IDC_COPY: |
| 233 case IDC_CUT: | 250 case IDC_CUT: |
| 234 return !selection_.empty() && !is_root_node && | 251 return !selection_.empty() && !is_root_node && |
| 235 (id == IDC_COPY || can_edit); | 252 (id == IDC_COPY || can_edit); |
| 236 | 253 |
| 237 case IDC_PASTE: | 254 case IDC_PASTE: |
| 238 // Paste to selection from the Bookmark Bar, to parent_ everywhere else | 255 // Paste to selection from the Bookmark Bar, to parent_ everywhere else |
| 239 return can_edit && | 256 return can_edit && |
| 240 ((!selection_.empty() && | 257 ((!selection_.empty() && |
| 241 bookmark_utils::CanPasteFromClipboard(selection_[0])) || | 258 bookmark_utils::CanPasteFromClipboard(selection_[0])) || |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 280 IDS_BOOKMARK_BAR_REMOVE); | 297 IDS_BOOKMARK_BAR_REMOVE); |
| 281 | 298 |
| 282 delegate_->AddSeparator(); | 299 delegate_->AddSeparator(); |
| 283 delegate_->AddItemWithStringId(IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK, | 300 delegate_->AddItemWithStringId(IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK, |
| 284 IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK); | 301 IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK); |
| 285 delegate_->AddItemWithStringId(IDC_BOOKMARK_BAR_NEW_FOLDER, | 302 delegate_->AddItemWithStringId(IDC_BOOKMARK_BAR_NEW_FOLDER, |
| 286 IDS_BOOKMARK_BAR_NEW_FOLDER); | 303 IDS_BOOKMARK_BAR_NEW_FOLDER); |
| 287 | 304 |
| 288 delegate_->AddSeparator(); | 305 delegate_->AddSeparator(); |
| 289 delegate_->AddItemWithStringId(IDC_BOOKMARK_MANAGER, IDS_BOOKMARK_MANAGER); | 306 delegate_->AddItemWithStringId(IDC_BOOKMARK_MANAGER, IDS_BOOKMARK_MANAGER); |
| 307 if (chrome::search::IsInstantExtendedAPIEnabled(profile_)) { | |
| 308 delegate_->AddCheckboxItem(IDC_BOOKMARK_BAR_SHOW_APPS_SHORTCUT, | |
| 309 IDS_BOOKMARK_BAR_SHOW_APPS_SHORTCUT); | |
| 310 } | |
| 290 delegate_->AddCheckboxItem(IDC_BOOKMARK_BAR_ALWAYS_SHOW, | 311 delegate_->AddCheckboxItem(IDC_BOOKMARK_BAR_ALWAYS_SHOW, |
| 291 IDS_SHOW_BOOKMARK_BAR); | 312 IDS_SHOW_BOOKMARK_BAR); |
| 292 } | 313 } |
| 293 | 314 |
| 294 BookmarkContextMenuControllerViews::BookmarkContextMenuControllerViews( | 315 BookmarkContextMenuControllerViews::BookmarkContextMenuControllerViews( |
| 295 views::Widget* parent_widget, | 316 views::Widget* parent_widget, |
| 296 BookmarkContextMenuControllerViewsDelegate* delegate, | 317 BookmarkContextMenuControllerViewsDelegate* delegate, |
| 297 Browser* browser, | 318 Browser* browser, |
| 298 Profile* profile, | 319 Profile* profile, |
| 299 PageNavigator* navigator, | 320 PageNavigator* navigator, |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 315 void BookmarkContextMenuControllerViews::BookmarkModelChanged() { | 336 void BookmarkContextMenuControllerViews::BookmarkModelChanged() { |
| 316 delegate_->CloseMenu(); | 337 delegate_->CloseMenu(); |
| 317 } | 338 } |
| 318 | 339 |
| 319 BookmarkModel* BookmarkContextMenuControllerViews::RemoveModelObserver() { | 340 BookmarkModel* BookmarkContextMenuControllerViews::RemoveModelObserver() { |
| 320 BookmarkModel* model = model_; | 341 BookmarkModel* model = model_; |
| 321 model_->RemoveObserver(this); | 342 model_->RemoveObserver(this); |
| 322 model_ = NULL; | 343 model_ = NULL; |
| 323 return model; | 344 return model; |
| 324 } | 345 } |
| OLD | NEW |