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

Unified Diff: ui/views/controls/menu/menu_item_view.cc

Issue 1477253002: Use a single views::MenuConfig instance for each platform (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add menu_config_android Created 5 years 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
« no previous file with comments | « ui/views/controls/menu/menu_item_view.h ('k') | ui/views/controls/menu/menu_scroll_view_container.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/menu/menu_item_view.cc
diff --git a/ui/views/controls/menu/menu_item_view.cc b/ui/views/controls/menu/menu_item_view.cc
index ff2737ea9a89771ed999dba162082f258d34fd55..a1a4b153bea7eba0f22d04add1947c219a4c6244 100644
--- a/ui/views/controls/menu/menu_item_view.cc
+++ b/ui/views/controls/menu/menu_item_view.cc
@@ -240,7 +240,7 @@ MenuItemView* MenuItemView::AddMenuItemAt(
CreateSubmenu();
DCHECK_GE(submenu_->child_count(), index);
if (type == SEPARATOR) {
- submenu_->AddChildViewAt(new MenuSeparator(this, separator_style), index);
+ submenu_->AddChildViewAt(new MenuSeparator(separator_style), index);
return NULL;
}
MenuItemView* item = new MenuItemView(this, item_id, type);
@@ -418,7 +418,7 @@ int MenuItemView::GetHeightForWidth(int width) const {
int height = child_at(0)->GetHeightForWidth(width);
if (!icon_view_ && GetRootMenuItem()->has_icons())
- height = std::max(height, GetMenuConfig().check_height);
+ height = std::max(height, MenuConfig::instance().check_height);
height += GetBottomMargin() + GetTopMargin();
return height;
@@ -545,7 +545,7 @@ void MenuItemView::Layout() {
x -= width - kChildXPadding;
}
// Position |icon_view|.
- const MenuConfig& config = GetMenuConfig();
+ const MenuConfig& config = MenuConfig::instance();
if (icon_view_) {
icon_view_->SizeToPreferredSize();
gfx::Size size = icon_view_->GetPreferredSize();
@@ -567,10 +567,6 @@ void MenuItemView::SetMargins(int top_margin, int bottom_margin) {
invalidate_dimensions();
}
-const MenuConfig& MenuItemView::GetMenuConfig() const {
- return MenuConfig::instance(GetNativeTheme());
-}
-
MenuItemView::MenuItemView(MenuItemView* parent,
int command,
MenuItemView::Type type)
@@ -609,7 +605,7 @@ const char* MenuItemView::GetClassName() const {
//
// This is invoked prior to Running a menu.
void MenuItemView::UpdateMenuPartSizes() {
- const MenuConfig& config = GetMenuConfig();
+ const MenuConfig& config = MenuConfig::instance();
item_right_margin_ = config.label_to_arrow_padding + config.arrow_width +
config.arrow_to_edge_padding;
@@ -687,7 +683,8 @@ int MenuItemView::GetDrawStringFlags() {
flags |= gfx::Canvas::TEXT_ALIGN_LEFT;
if (GetRootMenuItem()->has_mnemonics_) {
- if (GetMenuConfig().show_mnemonics || GetRootMenuItem()->show_mnemonics_) {
+ if (MenuConfig::instance().show_mnemonics ||
+ GetRootMenuItem()->show_mnemonics_) {
flags |= gfx::Canvas::SHOW_PREFIX;
} else {
flags |= gfx::Canvas::HIDE_PREFIX;
@@ -703,7 +700,7 @@ const gfx::FontList& MenuItemView::GetFontList() const {
if (font_list)
return *font_list;
}
- return GetMenuConfig().font_list;
+ return MenuConfig::instance().font_list;
}
void MenuItemView::AddEmptyMenus() {
@@ -743,7 +740,7 @@ void MenuItemView::AdjustBoundsForRTLUI(gfx::Rect* rect) const {
}
void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
- const MenuConfig& config = GetMenuConfig();
+ const MenuConfig& config = MenuConfig::instance();
bool render_selection =
(mode == PB_NORMAL && IsSelected() &&
parent_menu_item_->GetSubmenu()->GetShowSelection(this) &&
@@ -869,7 +866,7 @@ void MenuItemView::PaintMinorText(gfx::Canvas* canvas,
int available_height = height() - GetTopMargin() - GetBottomMargin();
int max_accel_width =
parent_menu_item_->GetSubmenu()->max_minor_text_width();
- const MenuConfig& config = GetMenuConfig();
+ const MenuConfig& config = MenuConfig::instance();
int accel_right_margin = config.align_arrow_and_shortcut ?
config.arrow_to_edge_padding : item_right_margin_;
gfx::Rect accel_bounds(width() - accel_right_margin - max_accel_width,
@@ -908,8 +905,8 @@ int MenuItemView::GetTopMargin() const {
const MenuItemView* root = GetRootMenuItem();
return root && root->has_icons_
- ? GetMenuConfig().item_top_margin :
- GetMenuConfig().item_no_icon_top_margin;
+ ? MenuConfig::instance().item_top_margin
+ : MenuConfig::instance().item_no_icon_top_margin;
}
int MenuItemView::GetBottomMargin() const {
@@ -918,8 +915,8 @@ int MenuItemView::GetBottomMargin() const {
const MenuItemView* root = GetRootMenuItem();
return root && root->has_icons_
- ? GetMenuConfig().item_bottom_margin :
- GetMenuConfig().item_no_icon_bottom_margin;
+ ? MenuConfig::instance().item_bottom_margin
+ : MenuConfig::instance().item_no_icon_bottom_margin;
}
gfx::Size MenuItemView::GetChildPreferredSize() const {
@@ -957,8 +954,8 @@ MenuItemView::MenuItemDimensions MenuItemView::CalculateDimensions() const {
// Adjust item content height if menu has both items with and without icons.
// This way all menu items will have the same height.
if (!icon_view_ && GetRootMenuItem()->has_icons()) {
- dimensions.height = std::max(dimensions.height,
- GetMenuConfig().check_height);
+ dimensions.height =
+ std::max(dimensions.height, MenuConfig::instance().check_height);
}
dimensions.height += GetBottomMargin() + GetTopMargin();
@@ -1000,13 +997,13 @@ MenuItemView::MenuItemDimensions MenuItemView::CalculateDimensions() const {
std::max(dimensions.height,
(subtitle_.empty() ? 0 : font_list.GetHeight()) +
font_list.GetHeight() + GetBottomMargin() + GetTopMargin());
- dimensions.height = std::max(dimensions.height,
- GetMenuConfig().item_min_height);
+ dimensions.height =
+ std::max(dimensions.height, MenuConfig::instance().item_min_height);
return dimensions;
}
int MenuItemView::GetLabelStartForThisItem() const {
- const MenuConfig& config = GetMenuConfig();
+ const MenuConfig& config = MenuConfig::instance();
int label_start = label_start_ + left_icon_margin_ + right_icon_margin_;
if ((config.icons_in_label || type_ == CHECKBOX || type_ == RADIO) &&
icon_view_)
@@ -1022,8 +1019,9 @@ base::string16 MenuItemView::GetMinorText() const {
}
ui::Accelerator accelerator;
- if (GetMenuConfig().show_accelerators && GetDelegate() && GetCommand() &&
- GetDelegate()->GetAccelerator(GetCommand(), &accelerator)) {
+ if (MenuConfig::instance().show_accelerators && GetDelegate() &&
+ GetCommand() &&
+ GetDelegate()->GetAccelerator(GetCommand(), &accelerator)) {
return accelerator.GetShortcutText();
}
@@ -1054,7 +1052,8 @@ int MenuItemView::GetMaxIconViewWidth() const {
continue;
} else if (menu_item->HasSubmenu()) {
temp_width = menu_item->GetMaxIconViewWidth();
- } else if (menu_item->icon_view() && !GetMenuConfig().icons_in_label) {
+ } else if (menu_item->icon_view() &&
+ !MenuConfig::instance().icons_in_label) {
temp_width = menu_item->icon_view()->GetPreferredSize().width();
}
width = std::max(width, temp_width);
« no previous file with comments | « ui/views/controls/menu/menu_item_view.h ('k') | ui/views/controls/menu/menu_scroll_view_container.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698