| 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 "ui/app_list/views/signin_view.h" | 5 #include "ui/app_list/views/signin_view.h" |
| 6 | 6 |
| 7 #include "ui/app_list/signin_delegate.h" | 7 #include "ui/app_list/signin_delegate.h" |
| 8 #include "ui/base/resource/resource_bundle.h" | 8 #include "ui/gfx/font_list.h" |
| 9 #include "ui/gfx/font.h" | |
| 10 #include "ui/views/background.h" | 9 #include "ui/views/background.h" |
| 11 #include "ui/views/controls/button/blue_button.h" | 10 #include "ui/views/controls/button/blue_button.h" |
| 12 #include "ui/views/controls/label.h" | 11 #include "ui/views/controls/label.h" |
| 13 #include "ui/views/controls/link.h" | 12 #include "ui/views/controls/link.h" |
| 14 #include "ui/views/layout/grid_layout.h" | 13 #include "ui/views/layout/grid_layout.h" |
| 15 | 14 |
| 16 namespace { | 15 namespace { |
| 17 | 16 |
| 18 const int kTopPadding = 40; | 17 const int kTopPadding = 40; |
| 19 const int kBottomPadding = 40; | 18 const int kBottomPadding = 40; |
| 20 const int kLeftPadding = 40; | 19 const int kLeftPadding = 40; |
| 21 const int kRightPadding = 40; | 20 const int kRightPadding = 40; |
| 22 const int kHeadingPadding = 30; | 21 const int kHeadingPadding = 30; |
| 23 const int kButtonPadding = 40; | 22 const int kButtonPadding = 40; |
| 24 | 23 |
| 25 const int kTitleFontSize = 18; | 24 const int kTitleFontSize = 18; |
| 26 const int kTextFontSize = 13; | 25 const int kTextFontSize = 13; |
| 27 const int kButtonFontSize = 12; | 26 const int kButtonFontSize = 12; |
| 28 | 27 |
| 29 } // namespace | 28 } // namespace |
| 30 | 29 |
| 31 namespace app_list { | 30 namespace app_list { |
| 32 | 31 |
| 33 SigninView::SigninView(SigninDelegate* delegate, int width) | 32 SigninView::SigninView(SigninDelegate* delegate, int width) |
| 34 : delegate_(delegate) { | 33 : delegate_(delegate) { |
| 35 if (!delegate_) | 34 if (!delegate_) |
| 36 return; | 35 return; |
| 37 | 36 |
| 38 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 37 const gfx::FontList base_font_list; |
| 39 const gfx::Font& base_font = rb.GetFont(ui::ResourceBundle::BaseFont); | 38 const gfx::FontList& title_font_list = |
| 40 title_font_.reset(new gfx::Font(base_font.GetFontName(), kTitleFontSize)); | 39 base_font_list.DeriveFontListWithSizeDelta( |
| 41 text_font_.reset(new gfx::Font(base_font.GetFontName(), kTextFontSize)); | 40 kTitleFontSize - base_font_list.GetFontSize()); |
| 42 button_font_.reset(new gfx::Font(base_font.GetFontName(), kButtonFontSize)); | 41 const gfx::FontList& text_font_list = |
| 42 base_font_list.DeriveFontListWithSizeDelta( |
| 43 kTextFontSize - base_font_list.GetFontSize()); |
| 44 const gfx::FontList& button_font_list = |
| 45 base_font_list.DeriveFontListWithSizeDelta( |
| 46 kButtonFontSize - base_font_list.GetFontSize()); |
| 43 | 47 |
| 44 int title_descender = title_font_->GetHeight() - title_font_->GetBaseline(); | 48 int title_descender = |
| 45 int text_descender = text_font_->GetHeight() - text_font_->GetBaseline(); | 49 title_font_list.GetHeight() - title_font_list.GetBaseline(); |
| 50 int text_descender = |
| 51 text_font_list.GetHeight() - text_font_list.GetBaseline(); |
| 46 | 52 |
| 47 views::GridLayout* layout = new views::GridLayout(this); | 53 views::GridLayout* layout = new views::GridLayout(this); |
| 48 layout->SetInsets(kTopPadding, kLeftPadding, kBottomPadding - text_descender, | 54 layout->SetInsets(kTopPadding, kLeftPadding, kBottomPadding - text_descender, |
| 49 kRightPadding); | 55 kRightPadding); |
| 50 SetLayoutManager(layout); | 56 SetLayoutManager(layout); |
| 51 | 57 |
| 52 const int kNormalSetId = 0; | 58 const int kNormalSetId = 0; |
| 53 views::ColumnSet* columns = layout->AddColumnSet(kNormalSetId); | 59 views::ColumnSet* columns = layout->AddColumnSet(kNormalSetId); |
| 54 columns->AddColumn(views::GridLayout::FILL, | 60 columns->AddColumn(views::GridLayout::FILL, |
| 55 views::GridLayout::FILL, | 61 views::GridLayout::FILL, |
| 56 1, | 62 1, |
| 57 views::GridLayout::USE_PREF, | 63 views::GridLayout::USE_PREF, |
| 58 0, | 64 0, |
| 59 0); | 65 0); |
| 60 | 66 |
| 61 const int kButtonSetId = 1; | 67 const int kButtonSetId = 1; |
| 62 columns = layout->AddColumnSet(kButtonSetId); | 68 columns = layout->AddColumnSet(kButtonSetId); |
| 63 columns->AddColumn(views::GridLayout::LEADING, | 69 columns->AddColumn(views::GridLayout::LEADING, |
| 64 views::GridLayout::FILL, | 70 views::GridLayout::FILL, |
| 65 1, | 71 1, |
| 66 views::GridLayout::USE_PREF, | 72 views::GridLayout::USE_PREF, |
| 67 0, | 73 0, |
| 68 0); | 74 0); |
| 69 | 75 |
| 70 views::Label* heading = new views::Label(delegate_->GetSigninHeading()); | 76 views::Label* heading = new views::Label(delegate_->GetSigninHeading()); |
| 71 heading->SetFont(*title_font_); | 77 heading->SetFontList(title_font_list); |
| 72 heading->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 78 heading->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 73 | 79 |
| 74 layout->StartRow(0, kNormalSetId); | 80 layout->StartRow(0, kNormalSetId); |
| 75 layout->AddView(heading); | 81 layout->AddView(heading); |
| 76 | 82 |
| 77 views::Label* text = new views::Label(delegate_->GetSigninText()); | 83 views::Label* text = new views::Label(delegate_->GetSigninText()); |
| 78 text->SetFont(*text_font_); | 84 text->SetFontList(text_font_list); |
| 79 text->SetMultiLine(true); | 85 text->SetMultiLine(true); |
| 80 text->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 86 text->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 81 layout->StartRowWithPadding(0, kNormalSetId, 0, | 87 layout->StartRowWithPadding(0, kNormalSetId, 0, |
| 82 kHeadingPadding - title_descender); | 88 kHeadingPadding - title_descender); |
| 83 layout->AddView(text); | 89 layout->AddView(text); |
| 84 | 90 |
| 85 views::BlueButton* signin_button = new views::BlueButton( | 91 views::BlueButton* signin_button = new views::BlueButton( |
| 86 this, | 92 this, |
| 87 delegate_->GetSigninButtonText()); | 93 delegate_->GetSigninButtonText()); |
| 88 signin_button->SetFont(*button_font_); | 94 signin_button->SetFontList(button_font_list); |
| 89 layout->StartRowWithPadding(0, kButtonSetId, 0, | 95 layout->StartRowWithPadding(0, kButtonSetId, 0, |
| 90 kButtonPadding - text_descender); | 96 kButtonPadding - text_descender); |
| 91 layout->AddView(signin_button); | 97 layout->AddView(signin_button); |
| 92 | 98 |
| 93 layout->StartRow(1, kNormalSetId); | 99 layout->StartRow(1, kNormalSetId); |
| 94 learn_more_link_ = new views::Link(delegate_->GetLearnMoreLinkText()); | 100 learn_more_link_ = new views::Link(delegate_->GetLearnMoreLinkText()); |
| 95 learn_more_link_->set_listener(this); | 101 learn_more_link_->set_listener(this); |
| 96 learn_more_link_->SetFont(*text_font_); | 102 learn_more_link_->SetFontList(text_font_list); |
| 97 learn_more_link_->SetUnderline(false); | 103 learn_more_link_->SetUnderline(false); |
| 98 layout->AddView(learn_more_link_, | 104 layout->AddView(learn_more_link_, |
| 99 1, | 105 1, |
| 100 1, | 106 1, |
| 101 views::GridLayout::LEADING, | 107 views::GridLayout::LEADING, |
| 102 views::GridLayout::TRAILING); | 108 views::GridLayout::TRAILING); |
| 103 | 109 |
| 104 layout->StartRow(0, kNormalSetId); | 110 layout->StartRow(0, kNormalSetId); |
| 105 settings_link_ = new views::Link(delegate_->GetSettingsLinkText()); | 111 settings_link_ = new views::Link(delegate_->GetSettingsLinkText()); |
| 106 settings_link_->set_listener(this); | 112 settings_link_->set_listener(this); |
| 107 settings_link_->SetFont(*text_font_); | 113 settings_link_->SetFontList(text_font_list); |
| 108 settings_link_->SetUnderline(false); | 114 settings_link_->SetUnderline(false); |
| 109 layout->AddView(settings_link_, | 115 layout->AddView(settings_link_, |
| 110 1, | 116 1, |
| 111 1, | 117 1, |
| 112 views::GridLayout::LEADING, | 118 views::GridLayout::LEADING, |
| 113 views::GridLayout::TRAILING); | 119 views::GridLayout::TRAILING); |
| 114 } | 120 } |
| 115 | 121 |
| 116 SigninView::~SigninView() { | 122 SigninView::~SigninView() { |
| 117 } | 123 } |
| 118 | 124 |
| 119 void SigninView::ButtonPressed(views::Button* sender, const ui::Event& event) { | 125 void SigninView::ButtonPressed(views::Button* sender, const ui::Event& event) { |
| 120 if (delegate_) | 126 if (delegate_) |
| 121 delegate_->ShowSignin(); | 127 delegate_->ShowSignin(); |
| 122 } | 128 } |
| 123 | 129 |
| 124 void SigninView::LinkClicked(views::Link* source, int event_flags) { | 130 void SigninView::LinkClicked(views::Link* source, int event_flags) { |
| 125 if (delegate_) { | 131 if (delegate_) { |
| 126 if (source == learn_more_link_) | 132 if (source == learn_more_link_) |
| 127 delegate_->OpenLearnMore(); | 133 delegate_->OpenLearnMore(); |
| 128 else if (source == settings_link_) | 134 else if (source == settings_link_) |
| 129 delegate_->OpenSettings(); | 135 delegate_->OpenSettings(); |
| 130 else | 136 else |
| 131 NOTREACHED(); | 137 NOTREACHED(); |
| 132 } | 138 } |
| 133 } | 139 } |
| 134 | 140 |
| 135 } // namespace app_list | 141 } // namespace app_list |
| OLD | NEW |