Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Side by Side Diff: chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc

Issue 12310109: Add a shortcut to open the Apps page from the bookmark bar. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698