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

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

Issue 20656002: Add profile selector menu to app list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, remove dead code in app_list_menu_views, add ui assets Created 7 years, 3 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/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_);

Powered by Google App Engine
This is Rietveld 408576698