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

Unified Diff: ui/app_list/views/search_box_view.cc

Issue 2898743002: Draggable peeking/fullscreen launcher with transparent background. (Closed)
Patch Set: Addressed comments. Created 3 years, 7 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
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..1174a5b725c0ab212fec892af1edfa247b3486a2 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,16 +44,22 @@ 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 {
public:
- SearchBoxBackground() {}
+ SearchBoxBackground()
+ : background_border_corner_radius_(
+ features::IsFullscreenAppListEnabled()
+ ? kBackgroundBorderCornerRadiusFullscreen
+ : kBackgroundBorderCornerRadius) {}
~SearchBoxBackground() override {}
private:
@@ -61,9 +70,11 @@ class SearchBoxBackground : public views::Background {
cc::PaintFlags flags;
flags.setAntiAlias(true);
flags.setColor(kSearchBoxBackground);
- canvas->DrawRoundRect(bounds, kBackgroundBorderCornerRadius, flags);
+ canvas->DrawRoundRect(bounds, background_border_corner_radius_, flags);
}
+ const int background_border_corner_radius_;
+
DISALLOW_COPY_AND_ASSIGN(SearchBoxBackground);
};
@@ -113,7 +124,8 @@ class SearchBoxImageButton : public views::ImageButton {
};
SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate,
- AppListViewDelegate* view_delegate)
+ AppListViewDelegate* view_delegate,
+ AppListView* app_list_view)
: delegate_(delegate),
view_delegate_(view_delegate),
model_(NULL),
@@ -122,6 +134,8 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate,
speech_button_(NULL),
search_box_(new views::Textfield),
contents_view_(NULL),
+ app_list_view_(app_list_view),
+ is_fullscreen_enabled_(features::IsFullscreenAppListEnabled()),
focused_view_(FOCUS_SEARCH_BOX) {
SetLayoutManager(new views::FillLayout);
AddChildView(content_container_);
@@ -287,7 +301,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 +341,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,

Powered by Google App Engine
This is Rietveld 408576698