summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-20 00:41:29 +0000
committermlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-20 00:41:29 +0000
commit72bba9df68f0680e6c2afaf7a41e1ee38e3a1543 (patch)
tree621945622b773ff92c1608cf0e5b0532b5ba9ed3
parent2be3ebb20fdd8df0732ea27af246453992808773 (diff)
downloadchromium_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.cc10
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);
}