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

Side by Side Diff: ui/app_list/views/search_box_view.cc

Issue 2982453002: New AppListView Scroll Behavior. (Closed)
Patch Set: Removed unintended edit. Created 3 years, 5 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 unified diff | Download patch
« no previous file with comments | « ui/app_list/views/search_box_view.h ('k') | ui/app_list/views/start_page_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/search_box_view.h" 5 #include "ui/app_list/views/search_box_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 search_box_->set_placeholder_text_color(active ? kZeroQuerySearchboxColor 374 search_box_->set_placeholder_text_color(active ? kZeroQuerySearchboxColor
375 : kDefaultSearchboxColor); 375 : kDefaultSearchboxColor);
376 search_box_->SetCursorEnabled(active); 376 search_box_->SetCursorEnabled(active);
377 search_box_->SchedulePaint(); 377 search_box_->SchedulePaint();
378 } 378 }
379 379
380 void SearchBoxView::HandleSearchBoxEvent(ui::LocatedEvent* located_event) { 380 void SearchBoxView::HandleSearchBoxEvent(ui::LocatedEvent* located_event) {
381 if (!is_fullscreen_app_list_enabled_) 381 if (!is_fullscreen_app_list_enabled_)
382 return; 382 return;
383 383
384 if (located_event->type() != ui::ET_MOUSE_PRESSED && 384 if (located_event->type() == ui::ET_MOUSEWHEEL) {
385 located_event->type() != ui::ET_GESTURE_TAP) 385 if (!app_list_view_->HandleScroll(located_event))
386 return; 386 return;
387 387
388 bool event_is_in_searchbox_bounds = 388 } else if (located_event->type() == ui::ET_MOUSE_PRESSED ||
389 GetWidget()->GetWindowBoundsInScreen().Contains( 389 located_event->type() == ui::ET_GESTURE_TAP) {
390 located_event->root_location()); 390 bool event_is_in_searchbox_bounds =
391 391 GetWidget()->GetWindowBoundsInScreen().Contains(
392 if (!is_search_box_active_ && event_is_in_searchbox_bounds && 392 located_event->root_location());
393 search_box_->text().empty()) { 393 if (is_search_box_active_ || !event_is_in_searchbox_bounds ||
394 !search_box_->text().empty())
395 return;
394 // If the event was within the searchbox bounds and in an inactive empty 396 // If the event was within the searchbox bounds and in an inactive empty
395 // search box, enable the search box. 397 // search box, enable the search box.
396 SetSearchBoxActive(true); 398 SetSearchBoxActive(true);
397 located_event->SetHandled();
398 } 399 }
400 located_event->SetHandled();
399 } 401 }
400 402
401 bool SearchBoxView::OnTextfieldEvent() { 403 bool SearchBoxView::OnTextfieldEvent() {
402 if (!is_fullscreen_app_list_enabled_) 404 if (!is_fullscreen_app_list_enabled_)
403 return false; 405 return false;
404 406
405 if (is_search_box_active_) 407 if (is_search_box_active_)
406 return false; 408 return false;
407 409
408 SetSearchBoxActive(true); 410 SetSearchBoxActive(true);
409 return true; 411 return true;
410 } 412 }
411 413
412 bool SearchBoxView::OnMouseWheel(const ui::MouseWheelEvent& event) { 414 bool SearchBoxView::OnMouseWheel(const ui::MouseWheelEvent& event) {
413 if (contents_view_) 415 if (contents_view_)
414 return contents_view_->OnMouseWheel(event); 416 return contents_view_->OnMouseWheel(event);
415
416 return false; 417 return false;
417 } 418 }
418 419
419 void SearchBoxView::OnEnabledChanged() { 420 void SearchBoxView::OnEnabledChanged() {
420 search_box_->SetEnabled(enabled()); 421 search_box_->SetEnabled(enabled());
421 if (speech_button_) 422 if (speech_button_)
422 speech_button_->SetEnabled(enabled()); 423 speech_button_->SetEnabled(enabled());
423 } 424 }
424 425
425 const char* SearchBoxView::GetClassName() const { 426 const char* SearchBoxView::GetClassName() const {
426 return "SearchBoxView"; 427 return "SearchBoxView";
427 } 428 }
428 429
429 void SearchBoxView::OnGestureEvent(ui::GestureEvent* event) { 430 void SearchBoxView::OnGestureEvent(ui::GestureEvent* event) {
431 if (!is_fullscreen_app_list_enabled_)
432 return;
433
430 HandleSearchBoxEvent(event); 434 HandleSearchBoxEvent(event);
431 } 435 }
432 436
433 void SearchBoxView::OnMouseEvent(ui::MouseEvent* event) { 437 void SearchBoxView::OnMouseEvent(ui::MouseEvent* event) {
434 HandleSearchBoxEvent(event); 438 HandleSearchBoxEvent(event);
435 } 439 }
436 440
437 void SearchBoxView::UpdateModel() { 441 void SearchBoxView::UpdateModel() {
438 // Temporarily remove from observer to ignore notifications caused by us. 442 // Temporarily remove from observer to ignore notifications caused by us.
439 model_->search_box()->RemoveObserver(this); 443 model_->search_box()->RemoveObserver(this);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 509
506 return contents_view_ && contents_view_->visible() && 510 return contents_view_ && contents_view_->visible() &&
507 contents_view_->OnKeyReleased(key_event); 511 contents_view_->OnKeyReleased(key_event);
508 } 512 }
509 513
510 return false; 514 return false;
511 } 515 }
512 516
513 bool SearchBoxView::HandleMouseEvent(views::Textfield* sender, 517 bool SearchBoxView::HandleMouseEvent(views::Textfield* sender,
514 const ui::MouseEvent& mouse_event) { 518 const ui::MouseEvent& mouse_event) {
515 return OnTextfieldEvent(); 519 if (!is_fullscreen_app_list_enabled_)
520 return false;
521
522 if (mouse_event.type() == ui::ET_MOUSEWHEEL) {
523 return app_list_view_->HandleScroll(&mouse_event);
524 } else {
525 return OnTextfieldEvent();
526 }
516 } 527 }
517 528
518 bool SearchBoxView::HandleGestureEvent(views::Textfield* sender, 529 bool SearchBoxView::HandleGestureEvent(views::Textfield* sender,
519 const ui::GestureEvent& gesture_event) { 530 const ui::GestureEvent& gesture_event) {
520 return OnTextfieldEvent(); 531 return OnTextfieldEvent();
521 } 532 }
522 533
523 void SearchBoxView::ButtonPressed(views::Button* sender, 534 void SearchBoxView::ButtonPressed(views::Button* sender,
524 const ui::Event& event) { 535 const ui::Event& event) {
525 if (back_button_ && sender == back_button_) 536 if (back_button_ && sender == back_button_)
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 SchedulePaint(); 638 SchedulePaint();
628 } 639 }
629 640
630 void SearchBoxView::OnSpeechRecognitionStateChanged( 641 void SearchBoxView::OnSpeechRecognitionStateChanged(
631 SpeechRecognitionState new_state) { 642 SpeechRecognitionState new_state) {
632 SpeechRecognitionButtonPropChanged(); 643 SpeechRecognitionButtonPropChanged();
633 SchedulePaint(); 644 SchedulePaint();
634 } 645 }
635 646
636 } // namespace app_list 647 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/views/search_box_view.h ('k') | ui/app_list/views/start_page_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698