summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/views/controls/menu/menu_config.cc4
-rw-r--r--ui/views/controls/menu/menu_item_view.cc9
2 files changed, 10 insertions, 3 deletions
diff --git a/ui/views/controls/menu/menu_config.cc b/ui/views/controls/menu/menu_config.cc
index 01e4546..4311ac1 100644
--- a/ui/views/controls/menu/menu_config.cc
+++ b/ui/views/controls/menu/menu_config.cc
@@ -61,8 +61,8 @@ MenuConfig::~MenuConfig() {}
void MenuConfig::AdjustForCommonTheme() {
render_gutter = false;
- item_top_margin = 5;
- item_bottom_margin = 5;
+ item_top_margin = 7;
+ item_bottom_margin = 6;
item_no_icon_top_margin = 7;
item_no_icon_bottom_margin = 7;
separator_height = 15;
diff --git a/ui/views/controls/menu/menu_item_view.cc b/ui/views/controls/menu/menu_item_view.cc
index dc49ea9..8dbef92 100644
--- a/ui/views/controls/menu/menu_item_view.cc
+++ b/ui/views/controls/menu/menu_item_view.cc
@@ -941,7 +941,14 @@ MenuItemView::MenuItemDimensions MenuItemView::GetPreferredDimensions() {
MenuItemDimensions dimensions;
// Get the container height.
dimensions.children_width = child_size.width();
- dimensions.height = child_size.height() + GetBottomMargin() + GetTopMargin();
+ dimensions.height = child_size.height();
+ // 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 += GetBottomMargin() + GetTopMargin();
// In case of a container, only the container size needs to be filled.
if (IsContainer())