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

Side by Side Diff: ash/launcher/launcher_context_menu.cc

Issue 10546024: Add RootWindowController (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/ash.gyp ('k') | ash/root_window_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ash/launcher/launcher_context_menu.h" 5 #include "ash/launcher/launcher_context_menu.h"
6 6
7 #include "ash/root_window_controller.h"
7 #include "ash/shell.h" 8 #include "ash/shell.h"
8 #include "ash/wm/shelf_auto_hide_behavior.h" 9 #include "ash/wm/shelf_auto_hide_behavior.h"
9 #include "grit/ash_strings.h" 10 #include "grit/ash_strings.h"
10 #include "ui/base/l10n/l10n_util.h" 11 #include "ui/base/l10n/l10n_util.h"
11 12
12 namespace ash { 13 namespace ash {
13 14
14 LauncherContextMenu::LauncherContextMenu() : ui::SimpleMenuModel(NULL) { 15 LauncherContextMenu::LauncherContextMenu() : ui::SimpleMenuModel(NULL) {
15 set_delegate(this); 16 set_delegate(this);
16 AddCheckItemWithStringId(MENU_AUTO_HIDE, GetAutoHideResourceStringId()); 17 AddCheckItemWithStringId(MENU_AUTO_HIDE, GetAutoHideResourceStringId());
17 AddSubMenuWithStringId(MENU_ALIGNMENT_MENU, 18 AddSubMenuWithStringId(MENU_ALIGNMENT_MENU,
18 IDS_AURA_LAUNCHER_CONTEXT_MENU_POSITION, 19 IDS_AURA_LAUNCHER_CONTEXT_MENU_POSITION,
19 &alignment_menu_); 20 &alignment_menu_);
20 } 21 }
21 22
22 LauncherContextMenu::~LauncherContextMenu() { 23 LauncherContextMenu::~LauncherContextMenu() {
23 } 24 }
24 25
25 // static 26 // static
26 bool LauncherContextMenu::IsAutoHideMenuHideChecked() { 27 bool LauncherContextMenu::IsAutoHideMenuHideChecked() {
27 ash::Shell* shell = ash::Shell::GetInstance(); 28 internal::RootWindowController* controller =
29 Shell::GetPrimaryRootWindowController();
28 ash::ShelfAutoHideBehavior auto_hide_behavior = 30 ash::ShelfAutoHideBehavior auto_hide_behavior =
29 shell->GetShelfAutoHideBehavior(); 31 Shell::GetInstance()->GetShelfAutoHideBehavior();
30 return (shell->IsInMaximizedMode() && 32 return (controller->IsInMaximizedMode() &&
31 (auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT || 33 (auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT ||
32 auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS)) || 34 auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS)) ||
33 (!shell->IsInMaximizedMode() && 35 (!controller->IsInMaximizedMode() &&
34 auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 36 auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
35 } 37 }
36 38
37 // static 39 // static
38 ShelfAutoHideBehavior LauncherContextMenu::GetToggledAutoHideBehavior() { 40 ShelfAutoHideBehavior LauncherContextMenu::GetToggledAutoHideBehavior() {
39 ash::Shell* shell = ash::Shell::GetInstance();
40 ash::ShelfAutoHideBehavior auto_hide_behavior; 41 ash::ShelfAutoHideBehavior auto_hide_behavior;
41 if (shell->IsInMaximizedMode()) { 42 if (Shell::GetPrimaryRootWindowController()->IsInMaximizedMode()) {
42 if (IsAutoHideMenuHideChecked()) 43 if (IsAutoHideMenuHideChecked())
43 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER; 44 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER;
44 else 45 else
45 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT; 46 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT;
46 } else if (IsAutoHideMenuHideChecked()) { 47 } else if (IsAutoHideMenuHideChecked()) {
47 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT; 48 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT;
48 } else { 49 } else {
49 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS; 50 auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS;
50 } 51 }
51 return auto_hide_behavior; 52 return auto_hide_behavior;
52 } 53 }
53 54
54 // static 55 // static
55 int LauncherContextMenu::GetAutoHideResourceStringId() { 56 int LauncherContextMenu::GetAutoHideResourceStringId() {
56 return ash::Shell::GetInstance()->IsInMaximizedMode() ? 57 return Shell::GetPrimaryRootWindowController()->IsInMaximizedMode() ?
57 IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE_MAXIMIZED : 58 IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE_MAXIMIZED :
58 IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE_NOT_MAXIMIZED; 59 IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE_NOT_MAXIMIZED;
59 } 60 }
60 61
61 bool LauncherContextMenu::IsCommandIdChecked(int command_id) const { 62 bool LauncherContextMenu::IsCommandIdChecked(int command_id) const {
62 switch (command_id) { 63 switch (command_id) {
63 case MENU_AUTO_HIDE: 64 case MENU_AUTO_HIDE:
64 return IsAutoHideMenuHideChecked(); 65 return IsAutoHideMenuHideChecked();
65 default: 66 default:
66 return false; 67 return false;
(...skipping 15 matching lines...) Expand all
82 case MENU_AUTO_HIDE: 83 case MENU_AUTO_HIDE:
83 ash::Shell::GetInstance()->SetShelfAutoHideBehavior( 84 ash::Shell::GetInstance()->SetShelfAutoHideBehavior(
84 GetToggledAutoHideBehavior()); 85 GetToggledAutoHideBehavior());
85 break; 86 break;
86 case MENU_ALIGNMENT_MENU: 87 case MENU_ALIGNMENT_MENU:
87 break; 88 break;
88 } 89 }
89 } 90 }
90 91
91 } // namespace ash 92 } // namespace ash
OLDNEW
« no previous file with comments | « ash/ash.gyp ('k') | ash/root_window_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698