Chromium Code Reviews| Index: ui/app_list/views/search_box_view.cc |
| diff --git a/ui/app_list/views/search_box_view.cc b/ui/app_list/views/search_box_view.cc |
| index 7acba845febcd0d4e5a8ece9eb0d896d608d78c4..56c0e38760881a1a10d6da6d4606ff4dacf88890 100644 |
| --- a/ui/app_list/views/search_box_view.cc |
| +++ b/ui/app_list/views/search_box_view.cc |
| @@ -10,12 +10,14 @@ |
| #include "base/memory/ptr_util.h" |
| #include "build/build_config.h" |
| #include "ui/app_list/app_list_constants.h" |
| +#include "ui/app_list/app_list_features.h" |
| #include "ui/app_list/app_list_model.h" |
| #include "ui/app_list/app_list_switches.h" |
| #include "ui/app_list/app_list_view_delegate.h" |
| #include "ui/app_list/resources/grit/app_list_resources.h" |
| #include "ui/app_list/search_box_model.h" |
| #include "ui/app_list/speech_ui_model.h" |
| +#include "ui/app_list/views/app_list_view.h" |
| #include "ui/app_list/views/contents_view.h" |
| #include "ui/app_list/views/search_box_view_delegate.h" |
| #include "ui/base/ime/text_input_flags.h" |
| @@ -33,6 +35,7 @@ |
| #include "ui/views/layout/box_layout.h" |
| #include "ui/views/layout/fill_layout.h" |
| #include "ui/views/shadow_border.h" |
| +#include "ui/views/widget/widget.h" |
| namespace app_list { |
| @@ -41,11 +44,13 @@ namespace { |
| const int kPadding = 16; |
| const int kInnerPadding = 24; |
| const int kPreferredWidth = 360; |
| +const int kPreferredWidthFullscreen = 544; |
| const int kPreferredHeight = 48; |
| const SkColor kHintTextColor = SkColorSetRGB(0xA0, 0xA0, 0xA0); |
| const int kBackgroundBorderCornerRadius = 2; |
| +const int kBackgroundBorderCornerRadiusFullscreen = 20; |
| // A background that paints a solid white rounded rect with a thin grey border. |
| class SearchBoxBackground : public views::Background { |
| @@ -61,7 +66,11 @@ class SearchBoxBackground : public views::Background { |
| cc::PaintFlags flags; |
| flags.setAntiAlias(true); |
| flags.setColor(kSearchBoxBackground); |
| - canvas->DrawRoundRect(bounds, kBackgroundBorderCornerRadius, flags); |
| + canvas->DrawRoundRect(bounds, |
| + features::IsFullscreenAppListEnabled() |
| + ? kBackgroundBorderCornerRadiusFullscreen |
| + : kBackgroundBorderCornerRadius, |
|
xiyuan
2017/05/26 18:27:32
Can we use a const member var for border radius an
newcomer
2017/05/26 23:20:22
Done.
|
| + flags); |
| } |
| DISALLOW_COPY_AND_ASSIGN(SearchBoxBackground); |
| @@ -122,6 +131,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, |
| speech_button_(NULL), |
| search_box_(new views::Textfield), |
| contents_view_(NULL), |
| + app_list_view_(NULL), |
| focused_view_(FOCUS_SEARCH_BOX) { |
| SetLayoutManager(new views::FillLayout); |
| AddChildView(content_container_); |
| @@ -157,6 +167,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, |
| view_delegate_->GetSpeechUI()->AddObserver(this); |
| ModelChanged(); |
| + is_fullscreen_enabled_ = features::IsFullscreenAppListEnabled(); |
|
vadimt
2017/05/26 17:58:55
const
newcomer
2017/05/26 23:20:22
Done, in the header line 127.
|
| } |
| SearchBoxView::~SearchBoxView() { |
| @@ -188,6 +199,10 @@ void SearchBoxView::ClearSearch() { |
| NotifyQueryChanged(); |
| } |
| +void SearchBoxView::SetAppListView(AppListView* app_list_view) { |
| + app_list_view_ = app_list_view; |
| +} |
| + |
| void SearchBoxView::SetShadow(const gfx::ShadowValue& shadow) { |
| SetBorder(base::MakeUnique<views::ShadowBorder>(shadow)); |
| Layout(); |
| @@ -287,7 +302,9 @@ void SearchBoxView::SetBackButtonLabel(bool folder) { |
| } |
| gfx::Size SearchBoxView::GetPreferredSize() const { |
| - return gfx::Size(kPreferredWidth, kPreferredHeight); |
| + return gfx::Size( |
| + is_fullscreen_enabled_ ? kPreferredWidthFullscreen : kPreferredWidth, |
| + kPreferredHeight); |
| } |
| bool SearchBoxView::OnMouseWheel(const ui::MouseWheelEvent& event) { |
| @@ -325,6 +342,11 @@ void SearchBoxView::ContentsChanged(views::Textfield* sender, |
| UpdateModel(); |
| view_delegate_->AutoLaunchCanceled(); |
| NotifyQueryChanged(); |
| + |
| + if (is_fullscreen_enabled_ && !app_list_view_->IsFullscreen()) { |
| + // If the app list is in the peeking state, switch it to fullscreen. |
| + app_list_view_->ToFullscreen(); |
| + } |
| } |
| bool SearchBoxView::HandleKeyEvent(views::Textfield* sender, |