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

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

Issue 11088037: Revert 160886 - Added MenuConfig setter to MenuItemView, updated rest of the code to use set MenuCo… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 2 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
« no previous file with comments | « ui/views/controls/menu/menu_config_views.cc ('k') | ui/views/controls/menu/menu_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/menu/menu_config_win.cc
===================================================================
--- ui/views/controls/menu/menu_config_win.cc (revision 160892)
+++ ui/views/controls/menu/menu_config_win.cc (working copy)
@@ -19,8 +19,11 @@
namespace views {
-void MenuConfig::Init() {
- text_color = NativeThemeWin::instance()->GetThemeColorWithDefault(
+// static
+MenuConfig* MenuConfig::Create() {
+ MenuConfig* config = new MenuConfig();
+
+ config->text_color = NativeThemeWin::instance()->GetThemeColorWithDefault(
NativeThemeWin::MENU, MENU_POPUPITEM, MPI_NORMAL, TMT_TEXTCOLOR,
COLOR_MENUTEXT);
@@ -28,9 +31,9 @@
base::win::GetNonClientMetrics(&metrics);
l10n_util::AdjustUIFont(&(metrics.lfMenuFont));
{
- base::win::ScopedHFONT new_font(CreateFontIndirect(&metrics.lfMenuFont));
- DLOG_ASSERT(new_font.Get());
- font = gfx::Font(new_font);
+ base::win::ScopedHFONT font(CreateFontIndirect(&metrics.lfMenuFont));
+ DLOG_ASSERT(font.Get());
+ config->font = gfx::Font(font);
}
NativeTheme::ExtraParams extra;
extra.menu_check.is_radio = false;
@@ -38,63 +41,64 @@
gfx::Size check_size = NativeTheme::instance()->GetPartSize(
NativeTheme::kMenuCheck, NativeTheme::kNormal, extra);
if (!check_size.IsEmpty()) {
- check_width = check_size.width();
- check_height = check_size.height();
+ config->check_width = check_size.width();
+ config->check_height = check_size.height();
} else {
- check_width = GetSystemMetrics(SM_CXMENUCHECK);
- check_height = GetSystemMetrics(SM_CYMENUCHECK);
+ config->check_width = GetSystemMetrics(SM_CXMENUCHECK);
+ config->check_height = GetSystemMetrics(SM_CYMENUCHECK);
}
extra.menu_check.is_radio = true;
gfx::Size radio_size = NativeTheme::instance()->GetPartSize(
NativeTheme::kMenuCheck, NativeTheme::kNormal, extra);
if (!radio_size.IsEmpty()) {
- radio_width = radio_size.width();
- radio_height = radio_size.height();
+ config->radio_width = radio_size.width();
+ config->radio_height = radio_size.height();
} else {
- radio_width = GetSystemMetrics(SM_CXMENUCHECK);
- radio_height = GetSystemMetrics(SM_CYMENUCHECK);
+ config->radio_width = GetSystemMetrics(SM_CXMENUCHECK);
+ config->radio_height = GetSystemMetrics(SM_CYMENUCHECK);
}
gfx::Size arrow_size = NativeTheme::instance()->GetPartSize(
NativeTheme::kMenuPopupArrow, NativeTheme::kNormal, extra);
if (!arrow_size.IsEmpty()) {
- arrow_width = arrow_size.width();
- arrow_height = arrow_size.height();
+ config->arrow_width = arrow_size.width();
+ config->arrow_height = arrow_size.height();
} else {
// Sadly I didn't see a specify metrics for this.
- arrow_width = GetSystemMetrics(SM_CXMENUCHECK);
- arrow_height = GetSystemMetrics(SM_CYMENUCHECK);
+ config->arrow_width = GetSystemMetrics(SM_CXMENUCHECK);
+ config->arrow_height = GetSystemMetrics(SM_CYMENUCHECK);
}
gfx::Size gutter_size = NativeTheme::instance()->GetPartSize(
NativeTheme::kMenuPopupGutter, NativeTheme::kNormal, extra);
if (!gutter_size.IsEmpty()) {
- gutter_width = gutter_size.width();
- render_gutter = true;
+ config->gutter_width = gutter_size.width();
+ config->render_gutter = true;
} else {
- gutter_width = 0;
- render_gutter = false;
+ config->gutter_width = 0;
+ config->render_gutter = false;
}
gfx::Size separator_size = NativeTheme::instance()->GetPartSize(
NativeTheme::kMenuPopupSeparator, NativeTheme::kNormal, extra);
if (!separator_size.IsEmpty()) {
- separator_height = separator_size.height();
+ config->separator_height = separator_size.height();
} else {
// -1 makes separator centered.
- separator_height = GetSystemMetrics(SM_CYMENU) / 2 - 1;
+ config->separator_height = GetSystemMetrics(SM_CYMENU) / 2 - 1;
}
// On Windows, having some menus use wider spacing than others looks wrong.
// See http://crbug.com/88875
- item_no_icon_bottom_margin = item_bottom_margin;
- item_no_icon_top_margin = item_top_margin;
+ config->item_no_icon_bottom_margin = config->item_bottom_margin;
+ config->item_no_icon_top_margin = config->item_top_margin;
BOOL show_cues;
- show_mnemonics =
+ config->show_mnemonics =
(SystemParametersInfo(SPI_GETKEYBOARDCUES, 0, &show_cues, 0) &&
show_cues == TRUE);
+ return config;
}
} // namespace views
« no previous file with comments | « ui/views/controls/menu/menu_config_views.cc ('k') | ui/views/controls/menu/menu_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698