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

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

Issue 2898743002: Draggable peeking/fullscreen launcher with transparent background. (Closed)
Patch Set: Migrated from wm_shelf to shelf and 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..94f4535650b2ce443d22ff555b9ce1ec91d5413c 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,20 @@ 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() {
+ is_fullscreen_enabled_ = features::IsFullscreenAppListEnabled();
+ }
~SearchBoxBackground() override {}
private:
@@ -61,8 +68,13 @@ class SearchBoxBackground : public views::Background {
cc::PaintFlags flags;
flags.setAntiAlias(true);
flags.setColor(kSearchBoxBackground);
- canvas->DrawRoundRect(bounds, kBackgroundBorderCornerRadius, flags);
+ canvas->DrawRoundRect(bounds,
+ is_fullscreen_enabled_
+ ? kBackgroundBorderCornerRadiusFullscreen
+ : kBackgroundBorderCornerRadius,
+ flags);
}
+ bool is_fullscreen_enabled_;
vadimt 2017/05/26 01:27:57 const
newcomer 2017/05/26 17:11:28 Done.
DISALLOW_COPY_AND_ASSIGN(SearchBoxBackground);
};
@@ -122,6 +134,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 +170,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate,
view_delegate_->GetSpeechUI()->AddObserver(this);
ModelChanged();
+ is_fullscreen_enabled_ = features::IsFullscreenAppListEnabled();
vadimt 2017/05/26 01:27:57 Does it compile? I don't see a declaration of is_f
newcomer 2017/05/26 17:11:28 Declared in header, line 127.
vadimt 2017/05/26 17:58:55 const then
newcomer 2017/05/26 23:20:21 Done.
}
SearchBoxView::~SearchBoxView() {
@@ -188,6 +202,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 +305,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 +345,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