| 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 {
|
| - 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_);
|
|
|