OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/frame/caption_buttons/frame_caption_button_container_view.h" | 5 #include "ash/frame/caption_buttons/frame_caption_button_container_view.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 | 8 |
9 #include "ash/ash_switches.h" | 9 #include "ash/ash_switches.h" |
10 #include "ash/frame/caption_buttons/alternate_frame_size_button.h" | 10 #include "ash/frame/caption_buttons/alternate_frame_size_button.h" |
11 #include "ash/frame/caption_buttons/frame_caption_button.h" | 11 #include "ash/frame/caption_buttons/frame_caption_button.h" |
12 #include "ash/frame/caption_buttons/frame_maximize_button.h" | |
13 #include "ash/metrics/user_metrics_recorder.h" | 12 #include "ash/metrics/user_metrics_recorder.h" |
14 #include "ash/shell.h" | 13 #include "ash/shell.h" |
15 #include "grit/ui_strings.h" // Accessibility names | 14 #include "grit/ui_strings.h" // Accessibility names |
16 #include "ui/base/hit_test.h" | 15 #include "ui/base/hit_test.h" |
17 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
18 #include "ui/compositor/scoped_animation_duration_scale_mode.h" | 17 #include "ui/compositor/scoped_animation_duration_scale_mode.h" |
19 #include "ui/gfx/canvas.h" | 18 #include "ui/gfx/canvas.h" |
20 #include "ui/gfx/insets.h" | 19 #include "ui/gfx/insets.h" |
21 #include "ui/gfx/point.h" | 20 #include "ui/gfx/point.h" |
22 #include "ui/views/widget/widget.h" | 21 #include "ui/views/widget/widget.h" |
(...skipping 18 matching lines...) Expand all Loading... | |
41 const char FrameCaptionButtonContainerView::kViewClassName[] = | 40 const char FrameCaptionButtonContainerView::kViewClassName[] = |
42 "FrameCaptionButtonContainerView"; | 41 "FrameCaptionButtonContainerView"; |
43 | 42 |
44 FrameCaptionButtonContainerView::FrameCaptionButtonContainerView( | 43 FrameCaptionButtonContainerView::FrameCaptionButtonContainerView( |
45 views::Widget* frame, | 44 views::Widget* frame, |
46 MinimizeAllowed minimize_allowed) | 45 MinimizeAllowed minimize_allowed) |
47 : frame_(frame), | 46 : frame_(frame), |
48 minimize_button_(NULL), | 47 minimize_button_(NULL), |
49 size_button_(NULL), | 48 size_button_(NULL), |
50 close_button_(NULL) { | 49 close_button_(NULL) { |
51 bool alternate_style = switches::UseAlternateFrameCaptionButtonStyle(); | |
52 | |
53 // Insert the buttons left to right. | 50 // Insert the buttons left to right. |
54 minimize_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_MINIMIZE); | 51 minimize_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_MINIMIZE); |
55 minimize_button_->SetAccessibleName( | 52 minimize_button_->SetAccessibleName( |
56 l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MINIMIZE)); | 53 l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MINIMIZE)); |
57 // Hide |minimize_button_| when using the non-alternate button style because | 54 minimize_button_->SetVisible(minimize_allowed == MINIMIZE_ALLOWED); |
58 // |size_button_| is capable of minimizing in this case. | |
59 minimize_button_->SetVisible( | |
60 minimize_allowed == MINIMIZE_ALLOWED && | |
61 (alternate_style || !frame_->widget_delegate()->CanMaximize())); | |
62 AddChildView(minimize_button_); | 55 AddChildView(minimize_button_); |
63 | 56 |
64 if (alternate_style) | 57 size_button_ = new AlternateFrameSizeButton(this, frame, this); |
flackr
2014/05/06 00:08:31
At some point AlternateFrameX* should probably bec
| |
65 size_button_ = new AlternateFrameSizeButton(this, frame, this); | |
66 else | |
67 size_button_ = new FrameMaximizeButton(this, frame); | |
68 size_button_->SetAccessibleName( | 58 size_button_->SetAccessibleName( |
69 l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MAXIMIZE)); | 59 l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MAXIMIZE)); |
70 UpdateSizeButtonVisibility(false); | 60 UpdateSizeButtonVisibility(false); |
71 AddChildView(size_button_); | 61 AddChildView(size_button_); |
72 | 62 |
73 close_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_CLOSE); | 63 close_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_CLOSE); |
74 close_button_->SetAccessibleName( | 64 close_button_->SetAccessibleName( |
75 l10n_util::GetStringUTF16(IDS_APP_ACCNAME_CLOSE)); | 65 l10n_util::GetStringUTF16(IDS_APP_ACCNAME_CLOSE)); |
76 AddChildView(close_button_); | 66 AddChildView(close_button_); |
77 } | 67 } |
78 | 68 |
79 FrameCaptionButtonContainerView::~FrameCaptionButtonContainerView() { | 69 FrameCaptionButtonContainerView::~FrameCaptionButtonContainerView() { |
80 } | 70 } |
81 | 71 |
82 FrameMaximizeButton* | |
83 FrameCaptionButtonContainerView::GetOldStyleSizeButton() { | |
84 return switches::UseAlternateFrameCaptionButtonStyle() ? | |
85 NULL : static_cast<FrameMaximizeButton*>(size_button_); | |
86 } | |
87 | |
88 void FrameCaptionButtonContainerView::SetButtonImages( | 72 void FrameCaptionButtonContainerView::SetButtonImages( |
89 CaptionButtonIcon icon, | 73 CaptionButtonIcon icon, |
90 int icon_image_id, | 74 int icon_image_id, |
91 int inactive_icon_image_id, | 75 int inactive_icon_image_id, |
92 int hovered_background_image_id, | 76 int hovered_background_image_id, |
93 int pressed_background_image_id) { | 77 int pressed_background_image_id) { |
94 button_icon_id_map_[icon] = ButtonIconIds(icon_image_id, | 78 button_icon_id_map_[icon] = ButtonIconIds(icon_image_id, |
95 inactive_icon_image_id, | 79 inactive_icon_image_id, |
96 hovered_background_image_id, | 80 hovered_background_image_id, |
97 pressed_background_image_id); | 81 pressed_background_image_id); |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
320 : icon_image_id(icon_id), | 304 : icon_image_id(icon_id), |
321 inactive_icon_image_id(inactive_icon_id), | 305 inactive_icon_image_id(inactive_icon_id), |
322 hovered_background_image_id(hovered_background_id), | 306 hovered_background_image_id(hovered_background_id), |
323 pressed_background_image_id(pressed_background_id) { | 307 pressed_background_image_id(pressed_background_id) { |
324 } | 308 } |
325 | 309 |
326 FrameCaptionButtonContainerView::ButtonIconIds::~ButtonIconIds() { | 310 FrameCaptionButtonContainerView::ButtonIconIds::~ButtonIconIds() { |
327 } | 311 } |
328 | 312 |
329 } // namespace ash | 313 } // namespace ash |
OLD | NEW |