diff options
author | mlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-20 00:41:29 +0000 |
---|---|---|
committer | mlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-20 00:41:29 +0000 |
commit | 72bba9df68f0680e6c2afaf7a41e1ee38e3a1543 (patch) | |
tree | 621945622b773ff92c1608cf0e5b0532b5ba9ed3 | |
parent | 2be3ebb20fdd8df0732ea27af246453992808773 (diff) | |
download | chromium_src-72bba9df68f0680e6c2afaf7a41e1ee38e3a1543.zip chromium_src-72bba9df68f0680e6c2afaf7a41e1ee38e3a1543.tar.gz chromium_src-72bba9df68f0680e6c2afaf7a41e1ee38e3a1543.tar.bz2 |
Windows: improve menu item initialization.
This patch prevents the 'Restore' option to be shown when the window can
not be resized and the 'Minimize' option is no longer disabled if the
window can not be maximized.
BUG=None
Review URL: https://codereview.chromium.org/137793003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245849 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ui/views/win/hwnd_message_handler.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc index c4a5297..8fe91e4 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -1518,17 +1518,17 @@ void HWNDMessageHandler::OnInitMenu(HMENU menu) { bool is_restored = !is_fullscreen && !is_minimized && !is_maximized; ScopedRedrawLock lock(this); - EnableMenuItemByCommand(menu, SC_RESTORE, is_minimized || is_maximized); + EnableMenuItemByCommand(menu, SC_RESTORE, delegate_->CanResize() && + (is_minimized || is_maximized)); EnableMenuItemByCommand(menu, SC_MOVE, is_restored); EnableMenuItemByCommand(menu, SC_SIZE, delegate_->CanResize() && is_restored); EnableMenuItemByCommand(menu, SC_MAXIMIZE, delegate_->CanMaximize() && !is_fullscreen && !is_maximized); - EnableMenuItemByCommand(menu, SC_MINIMIZE, delegate_->CanMaximize() && - !is_minimized); + EnableMenuItemByCommand(menu, SC_MINIMIZE, !is_minimized); - if (is_maximized) + if (is_maximized && delegate_->CanResize()) ::SetMenuDefaultItem(menu, SC_RESTORE, FALSE); - else if (delegate_->CanMaximize()) + else if (!is_maximized && delegate_->CanMaximize()) ::SetMenuDefaultItem(menu, SC_MAXIMIZE, FALSE); } |