Index: chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.cc |
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.cc b/chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.cc |
index 3cbb7713ea26e4fa033e22598cfd204b93a21706..69792911b82b46a4d59e0936535f2f86d11154bc 100644 |
--- a/chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.cc |
+++ b/chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.cc |
@@ -9,9 +9,11 @@ |
#include "chrome/grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/resource/resource_bundle.h" |
+#include "ui/views/border.h" |
#include "ui/views/controls/button/checkbox.h" |
#include "ui/views/controls/label.h" |
-#include "ui/views/layout/grid_layout.h" |
+#include "ui/views/layout/fill_layout.h" |
+#include "ui/views/layout/layout_constants.h" |
#include "ui/views/widget/widget.h" |
#include "ui/views/window/dialog_delegate.h" |
@@ -19,14 +21,8 @@ namespace chromeos { |
namespace { |
-// Default width/height of the dialog. |
-const int kDefaultWidth = 600; |
-const int kDefaultHeight = 250; |
- |
-const int kPaddingToMessage = 30; |
-const int kPaddingToCheckBox = 50; |
-const int kInset = 40; |
-const int kTopInset = 10; |
+// Default width of the dialog. |
+const int kDefaultWidth = 448; |
//////////////////////////////////////////////////////////////////////////////// |
// Dialog for multi-profiles teleport warning. |
@@ -39,9 +35,11 @@ class TeleportWarningView : public views::DialogDelegateView { |
// views::DialogDelegate overrides. |
bool Accept() override; |
+ View* CreateExtraView() override; |
// views::WidgetDelegate overrides. |
ui::ModalType GetModalType() const override; |
+ base::string16 GetWindowTitle() const override; |
// views::View overrides. |
gfx::Size GetPreferredSize() const override; |
@@ -49,7 +47,7 @@ class TeleportWarningView : public views::DialogDelegateView { |
private: |
void InitDialog(); |
- std::unique_ptr<views::Checkbox> no_show_checkbox_; |
+ views::Checkbox* no_show_checkbox_; |
const base::Callback<void(bool)> on_accept_; |
DISALLOW_COPY_AND_ASSIGN(TeleportWarningView); |
@@ -71,9 +69,9 @@ void TeleportWarningView::ShowDialog( |
const base::Callback<void(bool)>& on_accept) { |
TeleportWarningView* dialog_view = |
new TeleportWarningView(on_accept); |
+ dialog_view->InitDialog(); |
views::DialogDelegate::CreateDialogWidget( |
dialog_view, ash::Shell::GetTargetRootWindow(), NULL); |
- dialog_view->InitDialog(); |
views::Widget* widget = dialog_view->GetWidget(); |
DCHECK(widget); |
widget->Show(); |
@@ -84,71 +82,39 @@ bool TeleportWarningView::Accept() { |
return true; |
} |
+views::View* TeleportWarningView::CreateExtraView() { |
+ no_show_checkbox_ = new views::Checkbox( |
+ l10n_util::GetStringUTF16(IDS_VISIT_DESKTOP_WARNING_SHOW_DISMISS)); |
+ no_show_checkbox_->SetChecked(true); |
+ return no_show_checkbox_; |
+} |
+ |
ui::ModalType TeleportWarningView::GetModalType() const { |
return ui::MODAL_TYPE_SYSTEM; |
} |
+base::string16 TeleportWarningView::GetWindowTitle() const { |
+ return l10n_util::GetStringUTF16(IDS_VISIT_DESKTOP_WARNING_TITLE); |
+} |
+ |
gfx::Size TeleportWarningView::GetPreferredSize() const { |
- return gfx::Size(kDefaultWidth, kDefaultHeight); |
+ return gfx::Size( |
+ kDefaultWidth, |
+ GetLayoutManager()->GetPreferredHeightForWidth(this, kDefaultWidth)); |
} |
void TeleportWarningView::InitDialog() { |
- const gfx::Insets kDialogInsets(kTopInset, kInset, kInset, kInset); |
- |
- // Create the views and layout manager and set them up. |
- views::GridLayout* grid_layout = views::GridLayout::CreatePanel(this); |
- grid_layout->SetInsets(kDialogInsets); |
- |
- views::ColumnSet* column_set = grid_layout->AddColumnSet(0); |
- column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1, |
- views::GridLayout::USE_PREF, 0, 0); |
- |
- // Title |
- views::Label* title_label_ = new views::Label( |
- l10n_util::GetStringUTF16(IDS_VISIT_DESKTOP_WARNING_TITLE)); |
- title_label_->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList( |
- ui::ResourceBundle::MediumBoldFont)); |
- title_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
- grid_layout->StartRow(0, 0); |
- grid_layout->AddView(title_label_); |
- grid_layout->AddPaddingRow(0, kPaddingToMessage); |
+ SetBorder(views::Border::CreateEmptyBorder(views::kPanelVertMargin, |
+ views::kButtonHEdgeMarginNew, 0, |
+ views::kButtonHEdgeMarginNew)); |
+ SetLayoutManager(new views::FillLayout()); |
// Explanation string |
views::Label* label = new views::Label( |
l10n_util::GetStringUTF16(IDS_VISIT_DESKTOP_WARNING_MESSAGE)); |
- label->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList( |
- ui::ResourceBundle::MediumFont)); |
label->SetMultiLine(true); |
label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
- label->SetAllowCharacterBreak(true); |
- grid_layout->StartRow(0, 0); |
- grid_layout->AddView(label); |
- |
- // Next explanation string |
- grid_layout->AddPaddingRow(0, kPaddingToMessage); |
- views::Label* lower_label = new views::Label( |
- l10n_util::GetStringUTF16(IDS_VISIT_DESKTOP_WARNING_EXPLANATION)); |
- lower_label->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList( |
- ui::ResourceBundle::MediumFont)); |
- lower_label->SetMultiLine(true); |
- lower_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
- lower_label->SetAllowCharacterBreak(true); |
- grid_layout->StartRow(0, 0); |
- grid_layout->AddView(lower_label); |
- |
- // No-show again checkbox |
- grid_layout->AddPaddingRow(0, kPaddingToCheckBox); |
- no_show_checkbox_.reset(new views::Checkbox( |
- l10n_util::GetStringUTF16(IDS_VISIT_DESKTOP_WARNING_SHOW_DISMISS))); |
- no_show_checkbox_->SetChecked(true); |
- no_show_checkbox_->SetFontList( |
- ui::ResourceBundle::GetSharedInstance().GetFontList( |
- ui::ResourceBundle::MediumFont)); |
- grid_layout->StartRow(0, 0); |
- grid_layout->AddView(no_show_checkbox_.get()); |
- |
- SetLayoutManager(grid_layout); |
- Layout(); |
+ AddChildView(label); |
} |
} // namespace |