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

Unified Diff: ui/app_list/search_box_view.cc

Issue 11784034: Skeleton for app_list on OSX, and refactoring for enable_app_list=1 on OS=="mac". (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase for 175876 and 175961 Created 7 years, 11 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
« no previous file with comments | « ui/app_list/search_box_view.h ('k') | ui/app_list/search_result_list_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/app_list/search_box_view.cc
diff --git a/ui/app_list/search_box_view.cc b/ui/app_list/search_box_view.cc
deleted file mode 100644
index 95cd83a936fe90334a48160a5e81ed21617a9e9a..0000000000000000000000000000000000000000
--- a/ui/app_list/search_box_view.cc
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/app_list/search_box_view.h"
-
-#include <algorithm>
-
-#include "ui/app_list/search_box_model.h"
-#include "ui/app_list/search_box_view_delegate.h"
-#include "ui/base/events/event.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/views/controls/image_view.h"
-#include "ui/views/controls/textfield/textfield.h"
-
-namespace app_list {
-
-namespace {
-
-const int kPadding = 14;
-const int kIconDimension = 32;
-const int kPreferredWidth = 360;
-const int kPreferredHeight = 48;
-const int kEditHeight = 19;
-
-const SkColor kHintTextColor = SkColorSetRGB(0xA0, 0xA0, 0xA0);
-
-} // namespace
-
-SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate)
- : delegate_(delegate),
- model_(NULL),
- icon_view_(new views::ImageView),
- search_box_(new views::Textfield),
- contents_view_(NULL) {
- AddChildView(icon_view_);
-
- search_box_->RemoveBorder();
- ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
- search_box_->SetFont(rb.GetFont(ui::ResourceBundle::MediumFont));
- search_box_->set_placeholder_text_color(kHintTextColor);
- search_box_->SetController(this);
- AddChildView(search_box_);
-}
-
-SearchBoxView::~SearchBoxView() {
- if (model_)
- model_->RemoveObserver(this);
-}
-
-void SearchBoxView::SetModel(SearchBoxModel* model) {
- if (model_ == model)
- return;
-
- if (model_)
- model_->RemoveObserver(this);
-
- model_ = model;
- if (model_) {
- model_->AddObserver(this);
- IconChanged();
- HintTextChanged();
- }
-}
-
-gfx::Size SearchBoxView::GetPreferredSize() {
- return gfx::Size(kPreferredWidth, kPreferredHeight);
-}
-
-void SearchBoxView::Layout() {
- gfx::Rect rect(GetContentsBounds());
- if (rect.IsEmpty())
- return;
-
- gfx::Size icon_size(kIconDimension, kIconDimension);
- gfx::Rect icon_frame(rect);
- icon_frame.set_width(icon_size.width() + 2 * kPadding);
- icon_view_->SetBoundsRect(icon_frame);
-
- gfx::Rect edit_frame(rect);
- edit_frame.set_x(icon_frame.right());
- edit_frame.set_width(rect.width() - icon_frame.width() - kPadding);
- edit_frame.ClampToCenteredSize(gfx::Size(edit_frame.width(), kEditHeight));
- search_box_->SetBoundsRect(edit_frame);
-}
-
-bool SearchBoxView::OnMouseWheel(const ui::MouseWheelEvent& event) {
- if (contents_view_)
- return contents_view_->OnMouseWheel(event);
-
- return false;
-}
-
-void SearchBoxView::UpdateModel() {
- // Temporarily remove from observer to ignore notifications caused by us.
- model_->RemoveObserver(this);
- model_->SetText(search_box_->text());
-
- gfx::SelectionModel sel;
- search_box_->GetSelectionModel(&sel);
- model_->SetSelectionModel(sel);
- model_->AddObserver(this);
-}
-
-void SearchBoxView::NotifyQueryChanged() {
- DCHECK(delegate_);
- delegate_->QueryChanged(this);
-}
-
-void SearchBoxView::ContentsChanged(views::Textfield* sender,
- const string16& new_contents) {
- UpdateModel();
- NotifyQueryChanged();
-}
-
-bool SearchBoxView::HandleKeyEvent(views::Textfield* sender,
- const ui::KeyEvent& key_event) {
- bool has_query = !search_box_->text().empty();
-
- // Escape with non-empty query text clears the search box.
- if (has_query && key_event.key_code() == ui::VKEY_ESCAPE) {
- search_box_->SetText(string16());
- // Updates model and fires query changed manually because SetText above
- // does not generate ContentsChanged notification.
- UpdateModel();
- NotifyQueryChanged();
- return true;
- }
-
- bool handled = false;
- if (contents_view_ && contents_view_->visible())
- handled = contents_view_->OnKeyPressed(key_event);
-
- return handled;
-}
-
-void SearchBoxView::IconChanged() {
- icon_view_->SetImage(model_->icon());
-}
-
-void SearchBoxView::HintTextChanged() {
- search_box_->set_placeholder_text(model_->hint_text());
-}
-
-void SearchBoxView::SelectionModelChanged() {
- search_box_->SelectSelectionModel(model_->selection_model());
-}
-
-void SearchBoxView::TextChanged() {
- search_box_->SetText(model_->text());
-}
-
-} // namespace app_list
-
« no previous file with comments | « ui/app_list/search_box_view.h ('k') | ui/app_list/search_result_list_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698