| OLD | NEW |
| 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 "ui/app_list/app_list_model.h" | 9 #include "ui/app_list/app_list_model.h" |
| 10 #include "ui/app_list/app_list_switches.h" | 10 #include "ui/app_list/app_list_switches.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 DISALLOW_COPY_AND_ASSIGN(SearchBoxBackground); | 76 DISALLOW_COPY_AND_ASSIGN(SearchBoxBackground); |
| 77 }; | 77 }; |
| 78 | 78 |
| 79 } // namespace | 79 } // namespace |
| 80 | 80 |
| 81 SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, | 81 SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, |
| 82 AppListViewDelegate* view_delegate) | 82 AppListViewDelegate* view_delegate) |
| 83 : delegate_(delegate), | 83 : delegate_(delegate), |
| 84 view_delegate_(view_delegate), | 84 view_delegate_(view_delegate), |
| 85 model_(NULL), | 85 model_(NULL), |
| 86 icon_view_(new views::ImageView), | 86 icon_view_(NULL), |
| 87 speech_button_(NULL), | 87 speech_button_(NULL), |
| 88 search_box_(new views::Textfield), | 88 search_box_(new views::Textfield), |
| 89 contents_view_(NULL) { | 89 contents_view_(NULL) { |
| 90 AddChildView(icon_view_); | 90 if (switches::IsExperimentalAppListEnabled()) { |
| 91 if (switches::IsExperimentalAppListEnabled()) | |
| 92 set_background(new SearchBoxBackground()); | 91 set_background(new SearchBoxBackground()); |
| 92 } else { |
| 93 icon_view_ = new views::ImageView; |
| 94 AddChildView(icon_view_); |
| 95 } |
| 93 | 96 |
| 94 views::BoxLayout* layout = new views::BoxLayout( | 97 views::BoxLayout* layout = new views::BoxLayout( |
| 95 views::BoxLayout::kHorizontal, kPadding, 0, kPadding); | 98 views::BoxLayout::kHorizontal, kPadding, 0, kPadding); |
| 96 SetLayoutManager(layout); | 99 SetLayoutManager(layout); |
| 97 layout->set_cross_axis_alignment( | 100 layout->set_cross_axis_alignment( |
| 98 views::BoxLayout::CROSS_AXIS_ALIGNMENT_CENTER); | 101 views::BoxLayout::CROSS_AXIS_ALIGNMENT_CENTER); |
| 99 layout->set_minimum_cross_axis_size(switches::IsExperimentalAppListEnabled() | 102 layout->set_minimum_cross_axis_size(switches::IsExperimentalAppListEnabled() |
| 100 ? kExperimentalSearchBoxHeight | 103 ? kExperimentalSearchBoxHeight |
| 101 : kPreferredHeight); | 104 : kPreferredHeight); |
| 102 | 105 |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 if (!menu_) | 215 if (!menu_) |
| 213 menu_.reset(new AppListMenuViews(view_delegate_)); | 216 menu_.reset(new AppListMenuViews(view_delegate_)); |
| 214 | 217 |
| 215 const gfx::Point menu_location = | 218 const gfx::Point menu_location = |
| 216 menu_button_->GetBoundsInScreen().bottom_right() + | 219 menu_button_->GetBoundsInScreen().bottom_right() + |
| 217 gfx::Vector2d(kMenuXOffsetFromButton, kMenuYOffsetFromButton); | 220 gfx::Vector2d(kMenuXOffsetFromButton, kMenuYOffsetFromButton); |
| 218 menu_->RunMenuAt(menu_button_, menu_location); | 221 menu_->RunMenuAt(menu_button_, menu_location); |
| 219 } | 222 } |
| 220 | 223 |
| 221 void SearchBoxView::IconChanged() { | 224 void SearchBoxView::IconChanged() { |
| 222 icon_view_->SetImage(model_->search_box()->icon()); | 225 if (icon_view_) |
| 226 icon_view_->SetImage(model_->search_box()->icon()); |
| 223 } | 227 } |
| 224 | 228 |
| 225 void SearchBoxView::SpeechRecognitionButtonPropChanged() { | 229 void SearchBoxView::SpeechRecognitionButtonPropChanged() { |
| 226 const SearchBoxModel::SpeechButtonProperty* speech_button_prop = | 230 const SearchBoxModel::SpeechButtonProperty* speech_button_prop = |
| 227 model_->search_box()->speech_button(); | 231 model_->search_box()->speech_button(); |
| 228 if (speech_button_prop) { | 232 if (speech_button_prop) { |
| 229 if (!speech_button_) { | 233 if (!speech_button_) { |
| 230 speech_button_ = new views::ImageButton(this); | 234 speech_button_ = new views::ImageButton(this); |
| 231 AddChildView(speech_button_); | 235 AddChildView(speech_button_); |
| 232 } | 236 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 263 NotifyQueryChanged(); | 267 NotifyQueryChanged(); |
| 264 } | 268 } |
| 265 | 269 |
| 266 void SearchBoxView::OnSpeechRecognitionStateChanged( | 270 void SearchBoxView::OnSpeechRecognitionStateChanged( |
| 267 SpeechRecognitionState new_state) { | 271 SpeechRecognitionState new_state) { |
| 268 SpeechRecognitionButtonPropChanged(); | 272 SpeechRecognitionButtonPropChanged(); |
| 269 SchedulePaint(); | 273 SchedulePaint(); |
| 270 } | 274 } |
| 271 | 275 |
| 272 } // namespace app_list | 276 } // namespace app_list |
| OLD | NEW |