| 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/profile_menu_model.h" | 5 #include "chrome/browser/ui/profile_menu_model.h" |
| 6 | 6 |
| 7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
| 8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
| 9 #include "chrome/browser/profiles/profile_info_cache.h" | 9 #include "chrome/browser/profiles/profile_info_cache.h" |
| 10 #include "chrome/browser/profiles/profile_manager.h" | 10 #include "chrome/browser/profiles/profile_manager.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 | 57 |
| 58 virtual bool DeleteAfter() OVERRIDE { return true; } | 58 virtual bool DeleteAfter() OVERRIDE { return true; } |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 SwitchProfileMenuModel::SwitchProfileMenuModel( | 61 SwitchProfileMenuModel::SwitchProfileMenuModel( |
| 62 ui::SimpleMenuModel::Delegate* delegate, | 62 ui::SimpleMenuModel::Delegate* delegate, |
| 63 Browser* browser) | 63 Browser* browser) |
| 64 : SimpleMenuModel(this), | 64 : SimpleMenuModel(this), |
| 65 browser_(browser), | 65 browser_(browser), |
| 66 delegate_(delegate) { | 66 delegate_(delegate) { |
| 67 ProfileInfoCache& cache = | 67 ProfileInfoInterface& cache = |
| 68 g_browser_process->profile_manager()->GetProfileInfoCache(); | 68 g_browser_process->profile_manager()->GetProfileInfo(); |
| 69 size_t count = cache.GetNumberOfProfiles(); | 69 size_t count = cache.GetNumberOfProfiles(); |
| 70 for (size_t i = 0; i < count; ++i) { | 70 for (size_t i = 0; i < count; ++i) { |
| 71 AddCheckItem(ProfileMenuModel::COMMAND_SWITCH_TO_PROFILE + i, | 71 AddCheckItem(ProfileMenuModel::COMMAND_SWITCH_TO_PROFILE + i, |
| 72 cache.GetNameOfProfileAtIndex(i)); | 72 cache.GetNameOfProfileAtIndex(i)); |
| 73 } | 73 } |
| 74 | 74 |
| 75 AddSeparator(); | 75 AddSeparator(); |
| 76 | 76 |
| 77 AddItemWithStringId(ProfileMenuModel::COMMAND_CREATE_NEW_PROFILE, | 77 AddItemWithStringId(ProfileMenuModel::COMMAND_CREATE_NEW_PROFILE, |
| 78 IDS_PROFILES_CREATE_NEW_PROFILE_OPTION); | 78 IDS_PROFILES_CREATE_NEW_PROFILE_OPTION); |
| 79 } | 79 } |
| 80 | 80 |
| 81 void SwitchProfileMenuModel::ExecuteCommand(int command_id) { | 81 void SwitchProfileMenuModel::ExecuteCommand(int command_id) { |
| 82 ProfileInfoCache& cache = | 82 ProfileInfoInterface& cache = |
| 83 g_browser_process->profile_manager()->GetProfileInfoCache(); | 83 g_browser_process->profile_manager()->GetProfileInfo(); |
| 84 if (IsSwitchProfileCommand(command_id)) { | 84 if (IsSwitchProfileCommand(command_id)) { |
| 85 size_t index = GetProfileIndexFromSwitchProfileCommand(command_id); | 85 size_t index = GetProfileIndexFromSwitchProfileCommand(command_id); |
| 86 FilePath profile_path = cache.GetPathOfProfileAtIndex(index); | 86 FilePath profile_path = cache.GetPathOfProfileAtIndex(index); |
| 87 ProfileSwitchObserver* observer = new ProfileSwitchObserver; | 87 ProfileSwitchObserver* observer = new ProfileSwitchObserver; |
| 88 // The observer is deleted by the manager when profile creation is finished. | 88 // The observer is deleted by the manager when profile creation is finished. |
| 89 g_browser_process->profile_manager()->CreateProfileAsync( | 89 g_browser_process->profile_manager()->CreateProfileAsync( |
| 90 profile_path, observer); | 90 profile_path, observer); |
| 91 } else { | 91 } else { |
| 92 delegate_->ExecuteCommand(command_id); | 92 delegate_->ExecuteCommand(command_id); |
| 93 } | 93 } |
| 94 } | 94 } |
| 95 | 95 |
| 96 bool SwitchProfileMenuModel::IsCommandIdChecked(int command_id) const { | 96 bool SwitchProfileMenuModel::IsCommandIdChecked(int command_id) const { |
| 97 ProfileInfoCache& cache = | 97 ProfileInfoInterface& cache = |
| 98 g_browser_process->profile_manager()->GetProfileInfoCache(); | 98 g_browser_process->profile_manager()->GetProfileInfo(); |
| 99 if (IsSwitchProfileCommand(command_id)) { | 99 if (IsSwitchProfileCommand(command_id)) { |
| 100 size_t index = GetProfileIndexFromSwitchProfileCommand(command_id); | 100 size_t index = GetProfileIndexFromSwitchProfileCommand(command_id); |
| 101 FilePath userDataFolder; | 101 FilePath userDataFolder; |
| 102 PathService::Get(chrome::DIR_USER_DATA, &userDataFolder); | 102 PathService::Get(chrome::DIR_USER_DATA, &userDataFolder); |
| 103 FilePath profile_path = cache.GetPathOfProfileAtIndex(index); | 103 FilePath profile_path = cache.GetPathOfProfileAtIndex(index); |
| 104 return browser_->GetProfile()->GetPath() == profile_path; | 104 return browser_->GetProfile()->GetPath() == profile_path; |
| 105 } | 105 } |
| 106 return delegate_->IsCommandIdChecked(command_id); | 106 return delegate_->IsCommandIdChecked(command_id); |
| 107 } | 107 } |
| 108 | 108 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 128 int command_id) const { | 128 int command_id) const { |
| 129 DCHECK(IsSwitchProfileCommand(command_id)); | 129 DCHECK(IsSwitchProfileCommand(command_id)); |
| 130 return command_id - ProfileMenuModel::COMMAND_SWITCH_TO_PROFILE; | 130 return command_id - ProfileMenuModel::COMMAND_SWITCH_TO_PROFILE; |
| 131 } | 131 } |
| 132 | 132 |
| 133 } // namespace | 133 } // namespace |
| 134 | 134 |
| 135 ProfileMenuModel::ProfileMenuModel(Browser* browser) | 135 ProfileMenuModel::ProfileMenuModel(Browser* browser) |
| 136 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), | 136 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), |
| 137 browser_(browser) { | 137 browser_(browser) { |
| 138 ProfileInfoCache& cache = | 138 ProfileInfoInterface& cache = |
| 139 g_browser_process->profile_manager()->GetProfileInfoCache(); | 139 g_browser_process->profile_manager()->GetProfileInfo(); |
| 140 size_t profile_index = cache.GetIndexOfProfileWithPath( | 140 size_t profile_index = cache.GetIndexOfProfileWithPath( |
| 141 browser_->profile()->GetPath()); | 141 browser_->profile()->GetPath()); |
| 142 AddItem(COMMAND_PROFILE_NAME, cache.GetNameOfProfileAtIndex(profile_index)); | 142 AddItem(COMMAND_PROFILE_NAME, cache.GetNameOfProfileAtIndex(profile_index)); |
| 143 | 143 |
| 144 // TODO(sail): Need to implement an icon chooser on other platforms too. | 144 // TODO(sail): Need to implement an icon chooser on other platforms too. |
| 145 #if defined(TOOLKIT_VIEWS) | 145 #if defined(TOOLKIT_VIEWS) |
| 146 AddItem(COMMAND_CHOOSE_AVATAR_ICON, string16()); | 146 AddItem(COMMAND_CHOOSE_AVATAR_ICON, string16()); |
| 147 #endif | 147 #endif |
| 148 | 148 |
| 149 AddItemWithStringId(COMMAND_CUSTOMIZE_PROFILE, | 149 AddItemWithStringId(COMMAND_CUSTOMIZE_PROFILE, |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 case COMMAND_CHOOSE_AVATAR_ICON: | 192 case COMMAND_CHOOSE_AVATAR_ICON: |
| 193 break; | 193 break; |
| 194 case COMMAND_CREATE_NEW_PROFILE: | 194 case COMMAND_CREATE_NEW_PROFILE: |
| 195 ProfileManager::CreateMultiProfileAsync(); | 195 ProfileManager::CreateMultiProfileAsync(); |
| 196 break; | 196 break; |
| 197 default: | 197 default: |
| 198 NOTREACHED(); | 198 NOTREACHED(); |
| 199 break; | 199 break; |
| 200 } | 200 } |
| 201 } | 201 } |
| OLD | NEW |