OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/app_list_menu_views.h" | 5 #include "ui/app_list/views/app_list_menu_views.h" |
6 | 6 |
7 #include "grit/ui_resources.h" | 7 #include "grit/ui_resources.h" |
8 #include "ui/app_list/app_list_model.h" | |
9 #include "ui/app_list/app_list_view_delegate.h" | 8 #include "ui/app_list/app_list_view_delegate.h" |
10 #include "ui/base/resource/resource_bundle.h" | 9 #include "ui/base/resource/resource_bundle.h" |
11 #include "ui/views/controls/button/menu_button.h" | 10 #include "ui/views/controls/button/menu_button.h" |
12 #include "ui/views/controls/image_view.h" | 11 #include "ui/views/controls/image_view.h" |
13 #include "ui/views/controls/label.h" | 12 #include "ui/views/controls/label.h" |
14 #include "ui/views/controls/menu/menu_config.h" | 13 #include "ui/views/controls/menu/menu_config.h" |
15 #include "ui/views/controls/menu/menu_item_view.h" | 14 #include "ui/views/controls/menu/menu_item_view.h" |
16 #include "ui/views/controls/menu/submenu_view.h" | 15 #include "ui/views/controls/menu/submenu_view.h" |
17 #include "ui/views/layout/grid_layout.h" | 16 #include "ui/views/layout/grid_layout.h" |
18 | 17 |
19 using views::MenuItemView; | 18 using views::MenuItemView; |
20 | 19 |
21 namespace app_list { | 20 namespace app_list { |
22 | 21 |
23 AppListMenuViews::AppListMenuViews(AppListViewDelegate* delegate, | 22 AppListMenuViews::AppListMenuViews(AppListViewDelegate* delegate) |
24 AppListModel* app_list_model) | 23 : AppListMenu(delegate) { |
25 : AppListMenu(delegate, app_list_model->users()) { | |
26 menu_delegate_.reset(new views::MenuModelAdapter(menu_model())); | 24 menu_delegate_.reset(new views::MenuModelAdapter(menu_model())); |
27 menu_ = new MenuItemView(menu_delegate_.get()); | 25 menu_ = new MenuItemView(menu_delegate_.get()); |
28 menu_runner_.reset(new views::MenuRunner(menu_)); | 26 menu_runner_.reset(new views::MenuRunner(menu_)); |
29 menu_delegate_->BuildMenu(menu_); | 27 menu_delegate_->BuildMenu(menu_); |
30 } | 28 } |
31 | 29 |
32 AppListMenuViews::~AppListMenuViews() {} | 30 AppListMenuViews::~AppListMenuViews() {} |
33 | 31 |
34 void AppListMenuViews::RunMenuAt(views::MenuButton* button, | 32 void AppListMenuViews::RunMenuAt(views::MenuButton* button, |
35 const gfx::Point& point) { | 33 const gfx::Point& point) { |
36 ignore_result(menu_runner_->RunMenuAt(button->GetWidget(), button, | 34 ignore_result(menu_runner_->RunMenuAt(button->GetWidget(), button, |
37 gfx::Rect(point, gfx::Size()), | 35 gfx::Rect(point, gfx::Size()), |
38 MenuItemView::TOPRIGHT, | 36 MenuItemView::TOPRIGHT, |
39 ui::MENU_SOURCE_NONE, 0)); | 37 ui::MENU_SOURCE_NONE, 0)); |
40 } | 38 } |
41 | 39 |
42 void AppListMenuViews::Cancel() { | 40 void AppListMenuViews::Cancel() { |
43 menu_runner_->Cancel(); | 41 menu_runner_->Cancel(); |
44 } | 42 } |
45 | 43 |
46 } // namespace app_list | 44 } // namespace app_list |
OLD | NEW |