| 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/accelerators/exit_warning_handler.h" | 5 #include "ash/accelerators/exit_warning_handler.h" |
| 6 | 6 |
| 7 #include "ash/public/cpp/shell_window_ids.h" | 7 #include "ash/public/cpp/shell_window_ids.h" |
| 8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "ash/shell_delegate.h" | 10 #include "ash/shell_delegate.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 const int kWindowCornerRadius = 2; | 38 const int kWindowCornerRadius = 2; |
| 39 const int kHorizontalMarginAroundText = 100; | 39 const int kHorizontalMarginAroundText = 100; |
| 40 const int kVerticalMarginAroundText = 100; | 40 const int kVerticalMarginAroundText = 100; |
| 41 | 41 |
| 42 class ExitWarningWidgetDelegateView : public views::WidgetDelegateView { | 42 class ExitWarningWidgetDelegateView : public views::WidgetDelegateView { |
| 43 public: | 43 public: |
| 44 ExitWarningWidgetDelegateView() | 44 ExitWarningWidgetDelegateView() |
| 45 : text_(l10n_util::GetStringUTF16(IDS_ASH_SIGN_OUT_WARNING_POPUP_TEXT)), | 45 : text_(l10n_util::GetStringUTF16(IDS_ASH_SIGN_OUT_WARNING_POPUP_TEXT)), |
| 46 accessible_name_(l10n_util::GetStringUTF16( | 46 accessible_name_(l10n_util::GetStringUTF16( |
| 47 IDS_ASH_SIGN_OUT_WARNING_POPUP_TEXT_ACCESSIBLE)), | 47 IDS_ASH_SIGN_OUT_WARNING_POPUP_TEXT_ACCESSIBLE)), |
| 48 text_width_(0), | 48 text_width_(0) { |
| 49 width_(0), | |
| 50 height_(0) { | |
| 51 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 49 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 52 const gfx::FontList& font_list = | 50 const gfx::FontList& font_list = |
| 53 rb.GetFontList(ui::ResourceBundle::LargeFont); | 51 rb.GetFontList(ui::ResourceBundle::LargeFont); |
| 54 text_width_ = gfx::GetStringWidth(text_, font_list); | 52 text_width_ = gfx::GetStringWidth(text_, font_list); |
| 55 width_ = text_width_ + kHorizontalMarginAroundText; | 53 set_preferred_size( |
| 56 height_ = font_list.GetHeight() + kVerticalMarginAroundText; | 54 gfx::Size(text_width_ + kHorizontalMarginAroundText, |
| 55 font_list.GetHeight() + kVerticalMarginAroundText)); |
| 57 views::Label* label = new views::Label(); | 56 views::Label* label = new views::Label(); |
| 58 label->SetText(text_); | 57 label->SetText(text_); |
| 59 label->SetHorizontalAlignment(gfx::ALIGN_CENTER); | 58 label->SetHorizontalAlignment(gfx::ALIGN_CENTER); |
| 60 label->SetFontList(font_list); | 59 label->SetFontList(font_list); |
| 61 label->SetEnabledColor(kTextColor); | 60 label->SetEnabledColor(kTextColor); |
| 62 label->SetDisabledColor(kTextColor); | 61 label->SetDisabledColor(kTextColor); |
| 63 label->SetAutoColorReadabilityEnabled(false); | 62 label->SetAutoColorReadabilityEnabled(false); |
| 64 label->SetSubpixelRenderingEnabled(false); | 63 label->SetSubpixelRenderingEnabled(false); |
| 65 AddChildView(label); | 64 AddChildView(label); |
| 66 SetLayoutManager(new views::FillLayout); | 65 SetLayoutManager(new views::FillLayout); |
| 67 } | 66 } |
| 68 | 67 |
| 69 gfx::Size GetPreferredSize() const override { | |
| 70 return gfx::Size(width_, height_); | |
| 71 } | |
| 72 | |
| 73 void OnPaint(gfx::Canvas* canvas) override { | 68 void OnPaint(gfx::Canvas* canvas) override { |
| 74 cc::PaintFlags flags; | 69 cc::PaintFlags flags; |
| 75 flags.setStyle(cc::PaintFlags::kFill_Style); | 70 flags.setStyle(cc::PaintFlags::kFill_Style); |
| 76 flags.setColor(kWindowBackgroundColor); | 71 flags.setColor(kWindowBackgroundColor); |
| 77 canvas->DrawRoundRect(GetLocalBounds(), kWindowCornerRadius, flags); | 72 canvas->DrawRoundRect(GetLocalBounds(), kWindowCornerRadius, flags); |
| 78 views::WidgetDelegateView::OnPaint(canvas); | 73 views::WidgetDelegateView::OnPaint(canvas); |
| 79 } | 74 } |
| 80 | 75 |
| 81 void GetAccessibleNodeData(ui::AXNodeData* node_data) override { | 76 void GetAccessibleNodeData(ui::AXNodeData* node_data) override { |
| 82 node_data->SetName(accessible_name_); | 77 node_data->SetName(accessible_name_); |
| 83 node_data->role = ui::AX_ROLE_ALERT; | 78 node_data->role = ui::AX_ROLE_ALERT; |
| 84 } | 79 } |
| 85 | 80 |
| 86 private: | 81 private: |
| 87 base::string16 text_; | 82 base::string16 text_; |
| 88 base::string16 accessible_name_; | 83 base::string16 accessible_name_; |
| 89 int text_width_; | 84 int text_width_; |
| 90 int width_; | |
| 91 int height_; | |
| 92 | 85 |
| 93 DISALLOW_COPY_AND_ASSIGN(ExitWarningWidgetDelegateView); | 86 DISALLOW_COPY_AND_ASSIGN(ExitWarningWidgetDelegateView); |
| 94 }; | 87 }; |
| 95 | 88 |
| 96 } // namespace | 89 } // namespace |
| 97 | 90 |
| 98 ExitWarningHandler::ExitWarningHandler() | 91 ExitWarningHandler::ExitWarningHandler() |
| 99 : state_(IDLE), stub_timer_for_test_(false) {} | 92 : state_(IDLE), stub_timer_for_test_(false) {} |
| 100 | 93 |
| 101 ExitWarningHandler::~ExitWarningHandler() { | 94 ExitWarningHandler::~ExitWarningHandler() { |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 widget_->Show(); | 161 widget_->Show(); |
| 169 | 162 |
| 170 delegate->NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, true); | 163 delegate->NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, true); |
| 171 } | 164 } |
| 172 | 165 |
| 173 void ExitWarningHandler::Hide() { | 166 void ExitWarningHandler::Hide() { |
| 174 widget_.reset(); | 167 widget_.reset(); |
| 175 } | 168 } |
| 176 | 169 |
| 177 } // namespace ash | 170 } // namespace ash |
| OLD | NEW |