Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(786)

Unified Diff: chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.cc

Issue 2439863004: Update two chromeos system dialogs to reuse more DialogDelegateView (Closed)
Patch Set: to boldly make changes Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698