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

Unified Diff: chrome/browser/ui/toolbar/wrench_menu_model.h

Issue 7138002: Add profiles to wrench menu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 9 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/profile_menu_model.cc ('k') | chrome/browser/ui/toolbar/wrench_menu_model.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/toolbar/wrench_menu_model.h
===================================================================
--- chrome/browser/ui/toolbar/wrench_menu_model.h (revision 88807)
+++ chrome/browser/ui/toolbar/wrench_menu_model.h (working copy)
@@ -6,6 +6,7 @@
#define CHROME_BROWSER_UI_TOOLBAR_WRENCH_MENU_MODEL_H_
#pragma once
+#include "base/file_path.h"
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/tabs/tab_strip_model_observer.h"
#include "content/common/notification_observer.h"
@@ -81,6 +82,36 @@
DISALLOW_COPY_AND_ASSIGN(BookmarkSubMenuModel);
};
+class ProfilesSubMenuModel : public ui::SimpleMenuModel,
+ public ui::SimpleMenuModel::Delegate {
+ public:
+ ProfilesSubMenuModel(ui::SimpleMenuModel::Delegate* delegate,
+ Browser* browser);
+
+ virtual void ExecuteCommand(int command_id) OVERRIDE;
+ virtual bool IsCommandIdChecked(int command_id) const OVERRIDE;
+ virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE;
+ virtual bool GetAcceleratorForCommandId(
+ int command_id,
+ ui::Accelerator* accelerator) OVERRIDE;
+
+ private:
+ enum {
+ // The profiles submenu contains a menu item for each profile. For
+ // the i'th profile the command ID is COMMAND_SWITCH_TO_PROFILE + i.
+ // If the profile matches the profile of the wrench button's browser
+ // then the menu item is checked.
+ COMMAND_SWITCH_TO_PROFILE,
+ };
+
+ void Build();
+
+ Browser* browser_; // weak
+ ui::SimpleMenuModel::Delegate* delegate_; // weak
+
+ DISALLOW_COPY_AND_ASSIGN(ProfilesSubMenuModel);
+};
+
// A menu model that builds the contents of the wrench menu.
class WrenchMenuModel : public ui::SimpleMenuModel,
public ui::SimpleMenuModel::Delegate,
@@ -156,6 +187,9 @@
// Bookmark submenu.
scoped_ptr<BookmarkSubMenuModel> bookmark_sub_menu_model_;
+ // Profiles submenu.
+ scoped_ptr<ProfilesSubMenuModel> profiles_sub_menu_model_;
+
ui::AcceleratorProvider* provider_; // weak
Browser* browser_; // weak
« no previous file with comments | « chrome/browser/ui/profile_menu_model.cc ('k') | chrome/browser/ui/toolbar/wrench_menu_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698