Cocoa: Disable “Hide” menu item on open popups
Follow native behavior and disable ⌘H and the “Hide” menu item if there are any open popup windows. Task-number: QTBUG-58727 Change-Id: Iad38cc5cce29e0081613417c53b154ae0f05857e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>bb10
parent
c9f68a5858
commit
29104c85db
|
|
@ -43,6 +43,7 @@
|
|||
#include "qcocoahelpers.h"
|
||||
#include "qcocoamenubar.h"
|
||||
#include "qcocoamenuitem.h"
|
||||
#include "qcocoaintegration.h"
|
||||
|
||||
#include <QtCore/private/qcore_mac_p.h>
|
||||
#include <QtCore/private/qthread_p.h>
|
||||
|
|
@ -343,10 +344,13 @@
|
|||
|
||||
- (BOOL)validateMenuItem:(NSMenuItem*)menuItem
|
||||
{
|
||||
if ([menuItem action] == @selector(hide:)
|
||||
|| [menuItem action] == @selector(hideOtherApplications:)
|
||||
if ([menuItem action] == @selector(hideOtherApplications:)
|
||||
|| [menuItem action] == @selector(unhideAllApplications:)) {
|
||||
return [NSApp validateMenuItem:menuItem];
|
||||
} else if ([menuItem action] == @selector(hide:)) {
|
||||
if (QCocoaIntegration::instance()->activePopupWindow())
|
||||
return NO;
|
||||
return [NSApp validateMenuItem:menuItem];
|
||||
} else if ([menuItem tag]) {
|
||||
QCocoaMenuItem *cocoaItem = reinterpret_cast<QCocoaMenuItem *>([menuItem tag]);
|
||||
return cocoaItem->isEnabled();
|
||||
|
|
|
|||
Loading…
Reference in New Issue