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/ash/launcher/launcher_context_menu.h" | 5 #include "chrome/browser/ui/ash/launcher/launcher_context_menu.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "ash/desktop_background/user_wallpaper_delegate.h" | 9 #include "ash/desktop_background/user_wallpaper_delegate.h" |
10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 case LAUNCH_TYPE_REGULAR_TAB: | 168 case LAUNCH_TYPE_REGULAR_TAB: |
169 return controller_->GetLaunchType(item_.id) == | 169 return controller_->GetLaunchType(item_.id) == |
170 extensions::ExtensionPrefs::LAUNCH_REGULAR; | 170 extensions::ExtensionPrefs::LAUNCH_REGULAR; |
171 case LAUNCH_TYPE_WINDOW: | 171 case LAUNCH_TYPE_WINDOW: |
172 return controller_->GetLaunchType(item_.id) == | 172 return controller_->GetLaunchType(item_.id) == |
173 extensions::ExtensionPrefs::LAUNCH_WINDOW; | 173 extensions::ExtensionPrefs::LAUNCH_WINDOW; |
174 case LAUNCH_TYPE_FULLSCREEN: | 174 case LAUNCH_TYPE_FULLSCREEN: |
175 return controller_->GetLaunchType(item_.id) == | 175 return controller_->GetLaunchType(item_.id) == |
176 extensions::ExtensionPrefs::LAUNCH_FULLSCREEN; | 176 extensions::ExtensionPrefs::LAUNCH_FULLSCREEN; |
177 case MENU_AUTO_HIDE: | 177 case MENU_AUTO_HIDE: |
178 return ash::Shell::GetInstance()->IsShelfAutoHideMenuHideChecked( | 178 return controller_->GetShelfAutoHideBehavior(root_window_) == |
179 root_window_); | 179 ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS; |
180 default: | 180 default: |
181 return extension_items_->IsCommandIdChecked(command_id); | 181 return extension_items_->IsCommandIdChecked(command_id); |
182 } | 182 } |
183 } | 183 } |
184 | 184 |
185 bool LauncherContextMenu::IsCommandIdEnabled(int command_id) const { | 185 bool LauncherContextMenu::IsCommandIdEnabled(int command_id) const { |
186 switch (command_id) { | 186 switch (command_id) { |
187 case MENU_PIN: | 187 case MENU_PIN: |
188 return item_.type == ash::TYPE_PLATFORM_APP || | 188 return item_.type == ash::TYPE_PLATFORM_APP || |
189 controller_->IsPinnable(item_.id); | 189 controller_->IsPinnable(item_.id); |
190 case MENU_CHANGE_WALLPAPER: | 190 case MENU_CHANGE_WALLPAPER: |
191 return ash::Shell::GetInstance()->user_wallpaper_delegate()-> | 191 return ash::Shell::GetInstance()->user_wallpaper_delegate()-> |
192 CanOpenSetWallpaperPage(); | 192 CanOpenSetWallpaperPage(); |
193 case MENU_NEW_WINDOW: | 193 case MENU_NEW_WINDOW: |
194 // "Normal" windows are not allowed when incognito is enforced. | 194 // "Normal" windows are not allowed when incognito is enforced. |
195 return IncognitoModePrefs::GetAvailability( | 195 return IncognitoModePrefs::GetAvailability( |
196 controller_->profile()->GetPrefs()) != IncognitoModePrefs::FORCED; | 196 controller_->profile()->GetPrefs()) != IncognitoModePrefs::FORCED; |
| 197 case MENU_AUTO_HIDE: |
| 198 return controller_->CanUserModifyShelfAutoHideBehavior(root_window_); |
197 case MENU_NEW_INCOGNITO_WINDOW: | 199 case MENU_NEW_INCOGNITO_WINDOW: |
198 // Incognito windows are not allowed when incognito is disabled. | 200 // Incognito windows are not allowed when incognito is disabled. |
199 return IncognitoModePrefs::GetAvailability( | 201 return IncognitoModePrefs::GetAvailability( |
200 controller_->profile()->GetPrefs()) != IncognitoModePrefs::DISABLED; | 202 controller_->profile()->GetPrefs()) != IncognitoModePrefs::DISABLED; |
201 default: | 203 default: |
202 return extension_items_->IsCommandIdEnabled(command_id); | 204 return extension_items_->IsCommandIdEnabled(command_id); |
203 } | 205 } |
204 } | 206 } |
205 | 207 |
206 bool LauncherContextMenu::GetAcceleratorForCommandId( | 208 bool LauncherContextMenu::GetAcceleratorForCommandId( |
(...skipping 23 matching lines...) Expand all Loading... |
230 break; | 232 break; |
231 case LAUNCH_TYPE_WINDOW: | 233 case LAUNCH_TYPE_WINDOW: |
232 controller_->SetLaunchType(item_.id, | 234 controller_->SetLaunchType(item_.id, |
233 extensions::ExtensionPrefs::LAUNCH_WINDOW); | 235 extensions::ExtensionPrefs::LAUNCH_WINDOW); |
234 break; | 236 break; |
235 case LAUNCH_TYPE_FULLSCREEN: | 237 case LAUNCH_TYPE_FULLSCREEN: |
236 controller_->SetLaunchType(item_.id, | 238 controller_->SetLaunchType(item_.id, |
237 extensions::ExtensionPrefs::LAUNCH_FULLSCREEN); | 239 extensions::ExtensionPrefs::LAUNCH_FULLSCREEN); |
238 break; | 240 break; |
239 case MENU_AUTO_HIDE: | 241 case MENU_AUTO_HIDE: |
240 controller_->SetAutoHideBehavior( | 242 controller_->ToggleShelfAutoHideBehavior(root_window_); |
241 ash::Shell::GetInstance()->GetToggledShelfAutoHideBehavior( | |
242 root_window_), | |
243 root_window_); | |
244 break; | 243 break; |
245 case MENU_NEW_WINDOW: | 244 case MENU_NEW_WINDOW: |
246 controller_->CreateNewWindow(); | 245 controller_->CreateNewWindow(); |
247 break; | 246 break; |
248 case MENU_NEW_INCOGNITO_WINDOW: | 247 case MENU_NEW_INCOGNITO_WINDOW: |
249 controller_->CreateNewIncognitoWindow(); | 248 controller_->CreateNewIncognitoWindow(); |
250 break; | 249 break; |
251 case MENU_ALIGNMENT_MENU: | 250 case MENU_ALIGNMENT_MENU: |
252 break; | 251 break; |
253 case MENU_CHANGE_WALLPAPER: | 252 case MENU_CHANGE_WALLPAPER: |
254 ash::Shell::GetInstance()->user_wallpaper_delegate()-> | 253 ash::Shell::GetInstance()->user_wallpaper_delegate()-> |
255 OpenSetWallpaperPage(); | 254 OpenSetWallpaperPage(); |
256 break; | 255 break; |
257 default: | 256 default: |
258 extension_items_->ExecuteCommand(command_id, NULL, | 257 extension_items_->ExecuteCommand(command_id, NULL, |
259 content::ContextMenuParams()); | 258 content::ContextMenuParams()); |
260 } | 259 } |
261 } | 260 } |
OLD | NEW |