OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/browser/ui/views/validation_message_bubble_delegate.h" | 5 #include "chrome/browser/ui/views/validation_message_bubble_delegate.h" |
6 | 6 |
7 #include "grit/theme_resources.h" | 7 #include "grit/theme_resources.h" |
8 #include "ui/base/resource/resource_bundle.h" | 8 #include "ui/base/resource/resource_bundle.h" |
9 #include "ui/views/controls/image_view.h" | 9 #include "ui/views/controls/image_view.h" |
10 #include "ui/views/controls/label.h" | 10 #include "ui/views/controls/label.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); | 31 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
32 views::ImageView* icon = new views::ImageView(); | 32 views::ImageView* icon = new views::ImageView(); |
33 icon->SetImage(*bundle.GetImageSkiaNamed(IDR_INPUT_ALERT)); | 33 icon->SetImage(*bundle.GetImageSkiaNamed(IDR_INPUT_ALERT)); |
34 gfx::Size size = icon->GetPreferredSize(); | 34 gfx::Size size = icon->GetPreferredSize(); |
35 icon->SetBounds(kPadding, kPadding, size.width(), size.height()); | 35 icon->SetBounds(kPadding, kPadding, size.width(), size.height()); |
36 AddChildView(icon); | 36 AddChildView(icon); |
37 | 37 |
38 views::Label* label = new views::Label( | 38 views::Label* label = new views::Label( |
39 main_text, bundle.GetFontList(ui::ResourceBundle::MediumFont)); | 39 main_text, bundle.GetFontList(ui::ResourceBundle::MediumFont)); |
40 label->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 40 label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
41 label->set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT); | |
42 int text_start_x = kPadding + size.width() + kIconTextMargin; | 41 int text_start_x = kPadding + size.width() + kIconTextMargin; |
43 int min_available = kWindowMinWidth - text_start_x - kPadding; | 42 int min_available = kWindowMinWidth - text_start_x - kPadding; |
44 int max_available = kWindowMaxWidth - text_start_x - kPadding; | 43 int max_available = kWindowMaxWidth - text_start_x - kPadding; |
45 int label_width = label->GetPreferredSize().width(); | 44 int label_width = label->GetPreferredSize().width(); |
46 label->SetMultiLine(true); | 45 label->SetMultiLine(true); |
47 AddChildView(label); | 46 AddChildView(label); |
48 | 47 |
49 views::Label* sub_label = NULL; | 48 views::Label* sub_label = NULL; |
50 if (!sub_text.empty()) { | 49 if (!sub_text.empty()) { |
51 sub_label = new views::Label(sub_text); | 50 sub_label = new views::Label(sub_text); |
52 sub_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 51 sub_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
53 sub_label->set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT); | |
54 label_width = std::max(label_width, sub_label->GetPreferredSize().width()); | 52 label_width = std::max(label_width, sub_label->GetPreferredSize().width()); |
55 sub_label->SetMultiLine(true); | 53 sub_label->SetMultiLine(true); |
56 AddChildView(sub_label); | 54 AddChildView(sub_label); |
57 } | 55 } |
58 | 56 |
59 if (label_width < min_available) | 57 if (label_width < min_available) |
60 label_width = min_available; | 58 label_width = min_available; |
61 else if (label_width > max_available) | 59 else if (label_width > max_available) |
62 label_width = max_available; | 60 label_width = max_available; |
63 label->SetBounds(text_start_x, kPadding, | 61 label->SetBounds(text_start_x, kPadding, |
(...skipping 29 matching lines...) Expand all Loading... |
93 } | 91 } |
94 | 92 |
95 void ValidationMessageBubbleDelegate::DeleteDelegate() { | 93 void ValidationMessageBubbleDelegate::DeleteDelegate() { |
96 delete this; | 94 delete this; |
97 } | 95 } |
98 | 96 |
99 void ValidationMessageBubbleDelegate::WindowClosing() { | 97 void ValidationMessageBubbleDelegate::WindowClosing() { |
100 if (observer_ != NULL) | 98 if (observer_ != NULL) |
101 observer_->WindowClosing(); | 99 observer_->WindowClosing(); |
102 } | 100 } |
OLD | NEW |