Chromium Code Reviews| Index: ui/app_list/views/app_list_menu_views.cc |
| diff --git a/ui/app_list/views/app_list_menu_views.cc b/ui/app_list/views/app_list_menu_views.cc |
| index 3dca54328157cfac88fed8b81fd2c80590ffdda9..04c1f2155b463e7f0847d50b83d8d059b4c81738 100644 |
| --- a/ui/app_list/views/app_list_menu_views.cc |
| +++ b/ui/app_list/views/app_list_menu_views.cc |
| @@ -20,120 +20,10 @@ using views::MenuItemView; |
| namespace app_list { |
| -namespace { |
| - |
| -class CurrentUserView : public views::View { |
|
koz (OOO until 15th September)
2013/09/09 22:58:07
Nice!
|
| - public: |
| - CurrentUserView(const base::string16& user_name, |
| - const base::string16& user_email, |
| - const gfx::ImageSkia& icon) { |
| - const views::MenuConfig& menu_config = views::MenuConfig::instance(NULL); |
| - views::GridLayout* layout = new views::GridLayout(this); |
| - int item_right_padding = menu_config.label_to_arrow_padding + |
| - menu_config.arrow_width + |
| - menu_config.arrow_to_edge_padding; |
| - |
| - layout->SetInsets(0, 0, 0, item_right_padding); |
| - SetLayoutManager(layout); |
| - |
| - views::ColumnSet* columns = layout->AddColumnSet(0); |
| - columns->AddColumn(views::GridLayout::FILL, |
| - views::GridLayout::FILL, |
| - 0, |
| - views::GridLayout::USE_PREF, |
| - 0, |
| - menu_config.check_width + menu_config.item_left_margin); |
| - columns->AddColumn(views::GridLayout::FILL, |
| - views::GridLayout::FILL, |
| - 1, |
| - views::GridLayout::USE_PREF, |
| - 0, |
| - 0); |
| - |
| - layout->StartRow(0, 0); |
| - views::ImageView* image_view = new views::ImageView(); |
| - image_view->SetImage(icon); |
| - layout->AddView(image_view); |
| - |
| - views::Label* user_name_view = new views::Label(user_name); |
| - user_name_view->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| - layout->AddView(user_name_view); |
| - |
| - layout->StartRow(0, 0); |
| - views::Label* user_email_view = new views::Label(user_email); |
| - user_email_view->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| - user_email_view->SetEnabled(false); |
| - layout->SkipColumns(1); |
| - layout->AddView(user_email_view); |
| - } |
| - |
| - private: |
| - DISALLOW_COPY_AND_ASSIGN(CurrentUserView); |
| -}; |
| - |
| -class CurrentUserMenuItem : public MenuItemView { |
| - public: |
| - CurrentUserMenuItem(MenuItemView* parent, |
| - int id, |
| - const base::string16& user_name, |
| - const base::string16& user_email, |
| - const gfx::ImageSkia& icon) |
| - : MenuItemView(parent, id, MenuItemView::NORMAL) { |
| - AddChildView(new CurrentUserView(user_name, user_email, icon)); |
| - } |
| - |
| - private: |
| - DISALLOW_COPY_AND_ASSIGN(CurrentUserMenuItem); |
| -}; |
| - |
| -class AppListMenuModelAdapter : public views::MenuModelAdapter { |
| - public: |
| - AppListMenuModelAdapter(ui::MenuModel* menu_model, |
| - AppListViewDelegate* delegate, |
| - AppListModel* app_list_model) |
| - : views::MenuModelAdapter(menu_model), |
| - delegate_(delegate), |
| - app_list_model_(app_list_model) {} |
| - virtual ~AppListMenuModelAdapter() {} |
| - |
| - // Overridden from views::MenuModelAdapter: |
| - virtual MenuItemView* AppendMenuItem(MenuItemView* menu, |
| - ui::MenuModel* model, |
| - int index) OVERRIDE { |
| - if (!delegate_) |
| - return NULL; |
| - |
| - int id = model->GetCommandIdAt(index); |
| - if (id != AppListMenu::CURRENT_USER) |
| - return MenuModelAdapter::AppendMenuItem(menu, model, index); |
| - |
| - ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| - MenuItemView* item = new CurrentUserMenuItem( |
| - menu, |
| - id, |
| - app_list_model_->current_user_name(), |
| - app_list_model_->current_user_email(), |
| - *rb.GetImageSkiaNamed(IDR_APP_LIST_USER_INDICATOR)); |
| - menu->CreateSubmenu(); |
| - menu->GetSubmenu()->AddChildViewAt(item, index); |
| - return item; |
| - } |
| - |
| - private: |
| - AppListViewDelegate* delegate_; |
| - AppListModel* app_list_model_; // Weak. Owned by AppListView. |
| - |
| - DISALLOW_COPY_AND_ASSIGN(AppListMenuModelAdapter); |
| -}; |
| - |
| -} // namespace |
| - |
| AppListMenuViews::AppListMenuViews(AppListViewDelegate* delegate, |
| AppListModel* app_list_model) |
| - : AppListMenu(delegate) { |
| - menu_delegate_.reset(new AppListMenuModelAdapter(menu_model(), |
| - delegate, |
| - app_list_model)); |
| + : AppListMenu(delegate, app_list_model->users()) { |
| + menu_delegate_.reset(new views::MenuModelAdapter(menu_model())); |
| menu_ = new MenuItemView(menu_delegate_.get()); |
| menu_runner_.reset(new views::MenuRunner(menu_)); |
| menu_delegate_->BuildMenu(menu_); |