OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/views/win/hwnd_message_handler.h" | 5 #include "ui/views/win/hwnd_message_handler.h" |
6 | 6 |
7 #include <dwmapi.h> | 7 #include <dwmapi.h> |
8 #include <oleacc.h> | 8 #include <oleacc.h> |
9 #include <shellapi.h> | 9 #include <shellapi.h> |
10 #include <wtsapi32.h> | 10 #include <wtsapi32.h> |
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1469 bool is_maximized = IsMaximized(); | 1469 bool is_maximized = IsMaximized(); |
1470 bool is_restored = !is_fullscreen && !is_minimized && !is_maximized; | 1470 bool is_restored = !is_fullscreen && !is_minimized && !is_maximized; |
1471 | 1471 |
1472 ScopedRedrawLock lock(this); | 1472 ScopedRedrawLock lock(this); |
1473 EnableMenuItemByCommand(menu, SC_RESTORE, delegate_->CanResize() && | 1473 EnableMenuItemByCommand(menu, SC_RESTORE, delegate_->CanResize() && |
1474 (is_minimized || is_maximized)); | 1474 (is_minimized || is_maximized)); |
1475 EnableMenuItemByCommand(menu, SC_MOVE, is_restored); | 1475 EnableMenuItemByCommand(menu, SC_MOVE, is_restored); |
1476 EnableMenuItemByCommand(menu, SC_SIZE, delegate_->CanResize() && is_restored); | 1476 EnableMenuItemByCommand(menu, SC_SIZE, delegate_->CanResize() && is_restored); |
1477 EnableMenuItemByCommand(menu, SC_MAXIMIZE, delegate_->CanMaximize() && | 1477 EnableMenuItemByCommand(menu, SC_MAXIMIZE, delegate_->CanMaximize() && |
1478 !is_fullscreen && !is_maximized); | 1478 !is_fullscreen && !is_maximized); |
1479 // TODO: unfortunately, WidgetDelegate does not declare CanMinimize() and some | 1479 EnableMenuItemByCommand(menu, SC_MINIMIZE, delegate_->CanMinimize() && |
1480 // code depends on this check, see http://crbug.com/341010. | |
1481 EnableMenuItemByCommand(menu, SC_MINIMIZE, delegate_->CanMaximize() && | |
1482 !is_minimized); | 1480 !is_minimized); |
1483 | 1481 |
1484 if (is_maximized && delegate_->CanResize()) | 1482 if (is_maximized && delegate_->CanResize()) |
1485 ::SetMenuDefaultItem(menu, SC_RESTORE, FALSE); | 1483 ::SetMenuDefaultItem(menu, SC_RESTORE, FALSE); |
1486 else if (!is_maximized && delegate_->CanMaximize()) | 1484 else if (!is_maximized && delegate_->CanMaximize()) |
1487 ::SetMenuDefaultItem(menu, SC_MAXIMIZE, FALSE); | 1485 ::SetMenuDefaultItem(menu, SC_MAXIMIZE, FALSE); |
1488 } | 1486 } |
1489 | 1487 |
1490 void HWNDMessageHandler::OnInputLangChange(DWORD character_set, | 1488 void HWNDMessageHandler::OnInputLangChange(DWORD character_set, |
1491 HKL input_language_id) { | 1489 HKL input_language_id) { |
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2466 SetWindowPos(hwnd(), NULL, 0, 0, 0, 0, flags | SWP_HIDEWINDOW); | 2464 SetWindowPos(hwnd(), NULL, 0, 0, 0, 0, flags | SWP_HIDEWINDOW); |
2467 SetWindowPos(hwnd(), NULL, 0, 0, 0, 0, flags | SWP_SHOWWINDOW); | 2465 SetWindowPos(hwnd(), NULL, 0, 0, 0, 0, flags | SWP_SHOWWINDOW); |
2468 } | 2466 } |
2469 // WM_DWMCOMPOSITIONCHANGED is only sent to top level windows, however we want | 2467 // WM_DWMCOMPOSITIONCHANGED is only sent to top level windows, however we want |
2470 // to notify our children too, since we can have MDI child windows who need to | 2468 // to notify our children too, since we can have MDI child windows who need to |
2471 // update their appearance. | 2469 // update their appearance. |
2472 EnumChildWindows(hwnd(), &SendDwmCompositionChanged, NULL); | 2470 EnumChildWindows(hwnd(), &SendDwmCompositionChanged, NULL); |
2473 } | 2471 } |
2474 | 2472 |
2475 } // namespace views | 2473 } // namespace views |
OLD | NEW |