Index: chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.cc |
diff --git a/chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.cc b/chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.cc |
index 309c4b0ca5f5a28c285f5fed0919ea5444ee0a4d..cb27f429b582c1dbc26e1475dd8638853e9287b8 100644 |
--- a/chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.cc |
+++ b/chrome/browser/chromeos/profiles/multiprofiles_intro_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 = 20; |
-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 introduction. |
@@ -39,9 +35,11 @@ class MultiprofilesIntroView : 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 MultiprofilesIntroView : 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(MultiprofilesIntroView); |
@@ -71,9 +69,9 @@ void MultiprofilesIntroView::ShowDialog( |
const base::Callback<void(bool)> on_accept) { |
MultiprofilesIntroView* dialog_view = |
new MultiprofilesIntroView(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,69 +82,39 @@ bool MultiprofilesIntroView::Accept() { |
return true; |
} |
+views::View* MultiprofilesIntroView::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 MultiprofilesIntroView::GetModalType() const { |
return ui::MODAL_TYPE_SYSTEM; |
} |
+base::string16 MultiprofilesIntroView::GetWindowTitle() const { |
+ return l10n_util::GetStringUTF16(IDS_MULTIPROFILES_INTRO_HEADLINE); |
+} |
+ |
gfx::Size MultiprofilesIntroView::GetPreferredSize() const { |
- return gfx::Size(kDefaultWidth, kDefaultHeight); |
+ return gfx::Size( |
+ kDefaultWidth, |
+ GetLayoutManager()->GetPreferredHeightForWidth(this, kDefaultWidth)); |
} |
void MultiprofilesIntroView::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); |
- |
- views::Label* title_label_ = new views::Label( |
- l10n_util::GetStringUTF16(IDS_MULTIPROFILES_INTRO_HEADLINE)); |
- 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); |
- |
- // Explanation string. |
+ 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_MULTIPROFILES_INTRO_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_MULTIPROFILES_INTRO_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_MULTIPROFILES_INTRO_NOSHOW_AGAIN))); |
- no_show_checkbox_->SetChecked(true); |
- no_show_checkbox_->AdjustFontSize(ui::ResourceBundle::kMediumFontDelta); |
- no_show_checkbox_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
- grid_layout->StartRow(0, 0); |
- grid_layout->AddView(no_show_checkbox_.get()); |
- |
- SetLayoutManager(grid_layout); |
- Layout(); |
+ AddChildView(label); |
} |
} // namespace |