macOS: Organize QNSView accessibility code like the rest of the class

Drive-by style-fixes were applied as well.

Change-Id: I22c17925be41eeaac692ab776dd5b46791265cb3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This commit is contained in:
Tor Arne Vestbø 2018-07-06 18:47:33 +02:00
parent 2d01de4e87
commit 1918674309
3 changed files with 19 additions and 18 deletions

View File

@ -8,7 +8,6 @@ SOURCES += main.mm \
qcocoawindow.mm \ qcocoawindow.mm \
qnsview.mm \ qnsview.mm \
qnswindow.mm \ qnswindow.mm \
qnsviewaccessibility.mm \
qnswindowdelegate.mm \ qnswindowdelegate.mm \
qcocoanativeinterface.mm \ qcocoanativeinterface.mm \
qcocoaeventdispatcher.mm \ qcocoaeventdispatcher.mm \

View File

@ -363,6 +363,9 @@
#include "qnsview_keys.mm" #include "qnsview_keys.mm"
#include "qnsview_complextext.mm" #include "qnsview_complextext.mm"
#include "qnsview_menus.mm" #include "qnsview_menus.mm"
#ifndef QT_NO_ACCESSIBILITY
#include "qnsview_accessibility.mm"
#endif
// ----------------------------------------------------- // -----------------------------------------------------

View File

@ -37,22 +37,20 @@
** **
****************************************************************************/ ****************************************************************************/
#include "qnsview.h" // This file is included from qnsview.mm, and only used to organize the code
#include "qcocoahelpers.h"
#include "qcocoaaccessibility.h" #include "qcocoaaccessibility.h"
#include "qcocoaaccessibilityelement.h" #include "qcocoaaccessibilityelement.h"
#include "qcocoaintegration.h" #include "qcocoaintegration.h"
#include <QtGui/qaccessible.h> #include <QtGui/qaccessible.h>
#include <QtCore/QDebug>
#import <AppKit/NSAccessibility.h> #import <AppKit/NSAccessibility.h>
#ifndef QT_NO_ACCESSIBILITY @implementation QT_MANGLE_NAMESPACE(QNSView) (Accessibility)
@implementation QNSView (QNSViewAccessibility) - (id)childAccessibleElement
{
- (id)childAccessibleElement {
QCocoaWindow *platformWindow = self.platformWindow; QCocoaWindow *platformWindow = self.platformWindow;
if (!platformWindow || !platformWindow->window()->accessibleRoot()) if (!platformWindow || !platformWindow->window()->accessibleRoot())
return nil; return nil;
@ -63,29 +61,30 @@
// The QNSView is a container that the user does not interact directly with: // The QNSView is a container that the user does not interact directly with:
// Remove it from the user-visible accessibility tree. // Remove it from the user-visible accessibility tree.
- (BOOL)accessibilityIsIgnored { - (BOOL)accessibilityIsIgnored
{
return YES; return YES;
} }
- (id)accessibilityAttributeValue:(NSString *)attribute { - (id)accessibilityAttributeValue:(NSString *)attribute
{
// activate accessibility updates // activate accessibility updates
QCocoaIntegration::instance()->accessibility()->setActive(true); QCocoaIntegration::instance()->accessibility()->setActive(true);
if ([attribute isEqualToString:NSAccessibilityChildrenAttribute]) { if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
return NSAccessibilityUnignoredChildrenForOnlyChild([self childAccessibleElement]); return NSAccessibilityUnignoredChildrenForOnlyChild([self childAccessibleElement]);
} else { else
return [super accessibilityAttributeValue:attribute]; return [super accessibilityAttributeValue:attribute];
} }
}
- (id)accessibilityHitTest:(NSPoint)point { - (id)accessibilityHitTest:(NSPoint)point
{
return [[self childAccessibleElement] accessibilityHitTest:point]; return [[self childAccessibleElement] accessibilityHitTest:point];
} }
- (id)accessibilityFocusedUIElement { - (id)accessibilityFocusedUIElement
{
return [[self childAccessibleElement] accessibilityFocusedUIElement]; return [[self childAccessibleElement] accessibilityFocusedUIElement];
} }
@end @end
#endif // QT_NO_ACCESSIBILITY