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 #ifndef CHROME_BROWSER_UI_PROFILE_MENU_MODEL_H_ | 5 #ifndef CHROME_BROWSER_UI_PROFILE_MENU_MODEL_H_ |
6 #define CHROME_BROWSER_UI_PROFILE_MENU_MODEL_H_ | 6 #define CHROME_BROWSER_UI_PROFILE_MENU_MODEL_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "ui/base/models/simple_menu_model.h" | 9 #include "ui/base/models/simple_menu_model.h" |
10 | 10 |
11 class Browser; | 11 class Browser; |
12 | 12 |
13 // ProfileMenuModel | 13 // Menu for the multi-profile button displayed on the browser frame. |
14 // | |
15 // Menu for the multi-profile button displayed on the browser frame when the | |
16 // user is in a multi-profile-enabled account. Stub for now. TODO(mirandac): | |
17 // enable and fill in as part of multi-profile work. | |
18 class ProfileMenuModel : public ui::SimpleMenuModel, | 14 class ProfileMenuModel : public ui::SimpleMenuModel, |
19 public ui::SimpleMenuModel::Delegate { | 15 public ui::SimpleMenuModel::Delegate { |
20 public: | 16 public: |
| 17 enum { |
| 18 COMMAND_PROFILE_NAME, |
| 19 COMMAND_CHOOSE_AVATAR_ICON, |
| 20 COMMAND_CUSTOMIZE_PROFILE, |
| 21 COMMAND_DELETE_PROFILE, |
| 22 COMMAND_CREATE_NEW_PROFILE, |
| 23 COMMAND_SWITCH_PROFILE_MENU, |
| 24 // The profiles submenu contains a menu item for each profile. For the i'th |
| 25 // profile the command ID is COMMAND_SWITCH_TO_PROFILE + i. Since there can |
| 26 // be any number of profiles this must be the last command id. |
| 27 COMMAND_SWITCH_TO_PROFILE, |
| 28 }; |
| 29 |
21 explicit ProfileMenuModel(Browser* browser); | 30 explicit ProfileMenuModel(Browser* browser); |
22 virtual ~ProfileMenuModel(); | 31 virtual ~ProfileMenuModel(); |
23 | 32 |
24 // ui::SimpleMenuModel::Delegate implementation | 33 // ui::SimpleMenuModel::Delegate implementation |
25 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; | 34 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; |
26 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; | 35 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; |
27 virtual bool GetAcceleratorForCommandId( | 36 virtual bool GetAcceleratorForCommandId( |
28 int command_id, ui::Accelerator* accelerator) OVERRIDE; | 37 int command_id, ui::Accelerator* accelerator) OVERRIDE; |
29 virtual void ExecuteCommand(int command_id) OVERRIDE; | 38 virtual void ExecuteCommand(int command_id) OVERRIDE; |
30 | 39 |
31 private: | 40 private: |
32 Browser* browser_; | 41 Browser* browser_; |
33 scoped_ptr<ui::SimpleMenuModel> switch_profiles_sub_menu_model_; | 42 scoped_ptr<ui::SimpleMenuModel> switch_profiles_sub_menu_model_; |
34 | 43 |
35 DISALLOW_COPY_AND_ASSIGN(ProfileMenuModel); | 44 DISALLOW_COPY_AND_ASSIGN(ProfileMenuModel); |
36 }; | 45 }; |
37 | 46 |
38 #endif // CHROME_BROWSER_UI_PROFILE_MENU_MODEL_H_ | 47 #endif // CHROME_BROWSER_UI_PROFILE_MENU_MODEL_H_ |
OLD | NEW |