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

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

Issue 20656002: Add profile selector menu to app list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove junk from list_model.h Created 7 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 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 73a04a60ac294bef55569be699f5c86ce75d871f..43ef9330ceed9031ba3f68093336a0e7afc666b4 100644
--- a/ui/app_list/views/search_box_view.cc
+++ b/ui/app_list/views/search_box_view.cc
@@ -7,6 +7,7 @@
#include <algorithm>
#include "grit/ui_resources.h"
+#include "ui/app_list/app_list_model.h"
#include "ui/app_list/search_box_model.h"
#include "ui/app_list/search_box_view_delegate.h"
#include "ui/app_list/views/app_list_menu_views.h"
@@ -31,13 +32,15 @@ const SkColor kHintTextColor = SkColorSetRGB(0xA0, 0xA0, 0xA0);
} // namespace
SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate,
- AppListViewDelegate* view_delegate)
+ AppListViewDelegate* view_delegate,
+ AppListModel* model)
: delegate_(delegate),
view_delegate_(view_delegate),
- model_(NULL),
+ model_(model),
icon_view_(new views::ImageView),
search_box_(new views::Textfield),
contents_view_(NULL) {
+ DCHECK(model_);
AddChildView(icon_view_);
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
@@ -57,26 +60,15 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate,
search_box_->set_placeholder_text_color(kHintTextColor);
search_box_->SetController(this);
AddChildView(search_box_);
-}
-SearchBoxView::~SearchBoxView() {
- if (model_)
- model_->RemoveObserver(this);
+ model_->search_box()->AddObserver(this);
+ IconChanged();
+ HintTextChanged();
}
-void SearchBoxView::SetModel(SearchBoxModel* model) {
- if (model_ == model)
- return;
-
+SearchBoxView::~SearchBoxView() {
if (model_)
tapted 2013/08/05 03:01:39 This `if` should be redundant now -- model_ is alw
calamity 2013/08/08 04:52:12 Done.
- model_->RemoveObserver(this);
-
- model_ = model;
- if (model_) {
- model_->AddObserver(this);
- IconChanged();
- HintTextChanged();
- }
+ model_->search_box()->RemoveObserver(this);
}
bool SearchBoxView::HasSearch() const {
@@ -137,10 +129,10 @@ bool SearchBoxView::OnMouseWheel(const ui::MouseWheelEvent& event) {
void SearchBoxView::UpdateModel() {
// Temporarily remove from observer to ignore notifications caused by us.
- model_->RemoveObserver(this);
- model_->SetText(search_box_->text());
- model_->SetSelectionModel(search_box_->GetSelectionModel());
- model_->AddObserver(this);
+ model_->search_box()->RemoveObserver(this);
+ model_->search_box()->SetText(search_box_->text());
+ model_->search_box()->SetSelectionModel(search_box_->GetSelectionModel());
+ model_->search_box()->AddObserver(this);
}
void SearchBoxView::NotifyQueryChanged() {
@@ -165,26 +157,26 @@ bool SearchBoxView::HandleKeyEvent(views::Textfield* sender,
void SearchBoxView::OnMenuButtonClicked(View* source, const gfx::Point& point) {
if (!menu_)
- menu_.reset(new AppListMenuViews(view_delegate_));
+ menu_.reset(new AppListMenuViews(view_delegate_, model_));
menu_->RunMenuAt(menu_button_,
menu_button_->GetBoundsInScreen().bottom_right());
}
void SearchBoxView::IconChanged() {
- icon_view_->SetImage(model_->icon());
+ icon_view_->SetImage(model_->search_box()->icon());
}
void SearchBoxView::HintTextChanged() {
- search_box_->set_placeholder_text(model_->hint_text());
+ search_box_->set_placeholder_text(model_->search_box()->hint_text());
}
void SearchBoxView::SelectionModelChanged() {
- search_box_->SelectSelectionModel(model_->selection_model());
+ search_box_->SelectSelectionModel(model_->search_box()->selection_model());
}
void SearchBoxView::TextChanged() {
- search_box_->SetText(model_->text());
+ search_box_->SetText(model_->search_box()->text());
}
} // namespace app_list

Powered by Google App Engine
This is Rietveld 408576698