Changeset 561 for trunk/src/gui/accessible
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/gui/accessible/accessible.pri
r2 r561 15 15 mac:!embedded { 16 16 HEADERS += accessible/qaccessible_mac_p.h 17 OBJECTIVE_SOURCES += accessible/qaccessible_mac.mm 17 OBJECTIVE_SOURCES += accessible/qaccessible_mac.mm \ 18 accessible/qaccessible_mac_cocoa.mm 18 19 } else:win32 { 19 20 SOURCES += accessible/qaccessible_win.cpp -
trunk/src/gui/accessible/qaccessible.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 62 62 63 63 \ingroup accessibility 64 \mainclass 64 65 65 66 66 Accessible applications can be used by people who are not able to … … 395 395 #endif 396 396 397 Q_GLOBAL_STATIC(QList<QAccessible::InterfaceFactory>, qAccessibleFactories) ;397 Q_GLOBAL_STATIC(QList<QAccessible::InterfaceFactory>, qAccessibleFactories) 398 398 399 399 QAccessible::UpdateHandler QAccessible::updateHandler = 0; … … 985 985 986 986 /*! 987 \fn QAccessibleActionInterface *QAccessibleInterface::actionInterface() 988 \internal 989 */ 990 991 /*! 992 \fn QAccessibleImageInterface *QAccessibleInterface::imageInterface() 993 \internal 994 */ 995 996 /*! 987 997 \class QAccessibleEvent 988 998 \brief The QAccessibleEvent class is used to query addition -
trunk/src/gui/accessible/qaccessible.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 211 211 Clock = 0x0000003D, 212 212 Splitter = 0x0000003E, 213 // Additional Qt roles where enum value does not map directly to MSAA: 213 214 LayeredPane = 0x0000003F, 214 215 UserRole = 0x0000ffff … … 310 311 EditableTextInterface, 311 312 ValueInterface, 312 TableInterface 313 TableInterface, 314 ActionInterface, 315 ImageInterface 313 316 }; 314 317 } … … 319 322 class QAccessibleValueInterface; 320 323 class QAccessibleTableInterface; 324 class QAccessibleActionInterface; 325 class QAccessibleImageInterface; 321 326 322 327 class Q_GUI_EXPORT QAccessibleInterface : public QAccessible … … 375 380 inline QAccessibleTableInterface *tableInterface() 376 381 { return reinterpret_cast<QAccessibleTableInterface *>(cast_helper(QAccessible2::TableInterface)); } 382 383 inline QAccessibleActionInterface *actionInterface() 384 { return reinterpret_cast<QAccessibleActionInterface *>(cast_helper(QAccessible2::ActionInterface)); } 385 386 inline QAccessibleImageInterface *imageInterface() 387 { return reinterpret_cast<QAccessibleImageInterface *>(cast_helper(QAccessible2::ImageInterface)); } 377 388 378 389 private: -
trunk/src/gui/accessible/qaccessible2.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 105 105 \brief The QAccessibleValueInterface class implements support for 106 106 the IAccessibleValue interface. 107 108 \link http://www.linux-foundation.org/en/Accessibility/IAccessible2 IAccessible2 Specification \endlink 109 */ 110 111 /*! 112 \class QAccessibleActionInterface 113 \ingroup accessibility 114 \internal 115 \preliminary 116 117 \brief The QAccessibleActionInterface class implements support for 118 the IAccessibleAction interface. 119 120 \link http://www.linux-foundation.org/en/Accessibility/IAccessible2 IAccessible2 Specification \endlink 121 */ 122 123 /*! 124 \class QAccessibleImageInterface 125 \ingroup accessibility 126 \internal 127 \preliminary 128 129 \brief The QAccessibleImageInterface class implements support for 130 the IAccessibleImage interface. 107 131 108 132 \link http://www.linux-foundation.org/en/Accessibility/IAccessible2 IAccessible2 Specification \endlink -
trunk/src/gui/accessible/qaccessible2.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 82 82 inline QAccessible2Interface *qAccessibleEditableTextCastHelper() { return 0; } 83 83 inline QAccessible2Interface *qAccessibleTableCastHelper() { return 0; } 84 inline QAccessible2Interface *qAccessibleActionCastHelper() { return 0; } 85 inline QAccessible2Interface *qAccessibleImageCastHelper() { return 0; } 84 86 85 87 #define Q_ACCESSIBLE_OBJECT \ … … 96 98 case QAccessible2::TableInterface: \ 97 99 return qAccessibleTableCastHelper(); \ 100 case QAccessible2::ActionInterface: \ 101 return qAccessibleActionCastHelper(); \ 102 case QAccessible2::ImageInterface: \ 103 return qAccessibleImageCastHelper(); \ 98 104 } \ 99 105 return 0; \ … … 209 215 }; 210 216 217 class Q_GUI_EXPORT QAccessibleActionInterface : public QAccessible2Interface 218 { 219 public: 220 inline QAccessible2Interface *qAccessibleActionCastHelper() { return this; } 221 222 virtual int actionCount() = 0; 223 virtual void doAction(int actionIndex) = 0; 224 virtual QString description(int actionIndex) = 0; 225 virtual QString name(int actionIndex) = 0; 226 virtual QString localizedName(int actionIndex) = 0; 227 virtual QStringList keyBindings(int actionIndex) = 0; 228 }; 229 230 class Q_GUI_EXPORT QAccessibleImageInterface : public QAccessible2Interface 231 { 232 public: 233 inline QAccessible2Interface *qAccessibleImageCastHelper() { return this; } 234 235 virtual QString imageDescription() = 0; 236 virtual QSize imageSize() = 0; 237 virtual QRect imagePosition(QAccessible2::CoordinateType coordType) = 0; 238 }; 239 211 240 #endif // QT_NO_ACCESSIBILITY 212 241 -
trunk/src/gui/accessible/qaccessible_mac.mm
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 505 505 506 506 QAElement::QAElement(HIObjectRef object, int child) 507 :elementRef(508 #ifndef QT_MAC_USE_COCOA509 AXUIElementCreateWithHIObjectAndIdentifier(object, child)510 #endif511 )512 507 { 513 508 #ifndef QT_MAC_USE_COCOA … … 1233 1228 else if (CFStringCompare(attribute, CFStringRef(QAXHelpAttribute), 0) == kCFCompareEqualTo) 1234 1229 return QAccessible::Help; 1235 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)1236 1230 else if (CFStringCompare(attribute, CFStringRef(QAXDescriptionAttribute), 0) == kCFCompareEqualTo) 1237 1231 return QAccessible::Description; 1238 #endif1239 1232 else 1240 1233 return -1; … … 1443 1436 qt_mac_append_cf_uniq(attrs, CFStringRef(QAXEnabledAttribute)); 1444 1437 qt_mac_append_cf_uniq(attrs, CFStringRef(QAXWindowAttribute)); 1445 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)1446 1438 qt_mac_append_cf_uniq(attrs, CFStringRef(QAXTopLevelUIElementAttribute)); 1447 #endif1448 1439 1449 1440 // Append these names if the QInterafceItem returns any data for them. 1450 1441 appendIfSupported(attrs, CFStringRef(QAXTitleAttribute), interface); 1451 1442 appendIfSupported(attrs, CFStringRef(QAXValueAttribute), interface); 1452 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)1453 1443 appendIfSupported(attrs, CFStringRef(QAXDescriptionAttribute), interface); 1454 1444 appendIfSupported(attrs, CFStringRef(QAXLinkedUIElementsAttribute), interface); 1455 #endif1456 1445 appendIfSupported(attrs, CFStringRef(QAXHelpAttribute), interface); 1457 1446 appendIfSupported(attrs, CFStringRef(QAXTitleUIElementAttribute), interface); … … 1706 1695 has the Window role. (Can also be a sheet or a drawer) 1707 1696 */ 1708 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)1709 1697 static OSStatus handleTopLevelUIElementAttribute(EventHandlerCallRef next_ref, EventRef event, const QAInterface &interface) 1710 1698 { 1711 1699 return navigateAncestors<IsWindowTest>(next_ref, event, interface, CFStringRef(QAXTopLevelUIElementAttribute)); 1712 1700 } 1713 #endif1714 1701 1715 1702 /* … … 1889 1876 if (CFStringCompare(var, CFStringRef(QAXChildrenAttribute), 0) == kCFCompareEqualTo) { 1890 1877 return handleChildrenAttribute(next_ref, event, interface); 1891 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)1892 1878 } else if(CFStringCompare(var, CFStringRef(QAXTopLevelUIElementAttribute), 0) == kCFCompareEqualTo) { 1893 1879 return handleTopLevelUIElementAttribute(next_ref, event, interface); 1894 #endif1895 1880 } else if(CFStringCompare(var, CFStringRef(QAXWindowAttribute), 0) == kCFCompareEqualTo) { 1896 1881 return handleWindowAttribute(next_ref, event, interface); … … 1982 1967 return handleSubroleAttribute(next_ref, event, interface); 1983 1968 } else if (CFStringCompare(var, CFStringRef(QAXRoleDescriptionAttribute), 0) == kCFCompareEqualTo) { 1984 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4) &&!defined(QT_MAC_USE_COCOA)1969 #if !defined(QT_MAC_USE_COCOA) 1985 1970 if (HICopyAccessibilityRoleDescription) { 1986 1971 const CFStringRef roleDescription = HICopyAccessibilityRoleDescription(macRole(interface), 0); … … 2006 1991 handleStringAttribute(event, text, interface); 2007 1992 } 2008 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)2009 1993 } else if (CFStringCompare(var, CFStringRef(QAXDescriptionAttribute), 0) == kCFCompareEqualTo) { 2010 1994 const QAccessible::Role role = interface.role(); … … 2013 1997 } else if (CFStringCompare(var, CFStringRef(QAXLinkedUIElementsAttribute), 0) == kCFCompareEqualTo) { 2014 1998 return CallNextEventHandler(next_ref, event); 2015 #endif2016 1999 } else if (CFStringCompare(var, CFStringRef(QAXHelpAttribute), 0) == kCFCompareEqualTo) { 2017 2000 const QAccessible::Role role = interface.role(); -
trunk/src/gui/accessible/qaccessible_mac_carbon.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessible_mac_cocoa.mm
r2 r561 1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 6 ** 7 ** This file is part of the QtGui module of the Qt Toolkit. 8 ** 9 ** $QT_BEGIN_LICENSE:LGPL$ 10 ** Commercial Usage 11 ** Licensees holding valid Qt Commercial licenses may use this file in 12 ** accordance with the Qt Commercial License Agreement provided with the 13 ** Software or, alternatively, in accordance with the terms contained in 14 ** a written agreement between you and Nokia. 15 ** 16 ** GNU Lesser General Public License Usage 17 ** Alternatively, this file may be used under the terms of the GNU Lesser 18 ** General Public License version 2.1 as published by the Free Software 19 ** Foundation and appearing in the file LICENSE.LGPL included in the 20 ** packaging of this file. Please review the following information to 21 ** ensure the GNU Lesser General Public License version 2.1 requirements 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 23 ** 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 ** 28 ** GNU General Public License Usage 29 ** Alternatively, this file may be used under the terms of the GNU 30 ** General Public License version 3.0 as published by the Free Software 31 ** Foundation and appearing in the file LICENSE.GPL included in the 32 ** packaging of this file. Please review the following information to 33 ** ensure the GNU General Public License version 3.0 requirements will be 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 ** 36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 ** $QT_END_LICENSE$ 39 ** 40 ****************************************************************************/ 41 42 43 #include "qaccessible.h" 44 #include "qaccessible_mac_p.h" 45 #include "qdebug.h" 46 #include "qtabwidget.h" 47 48 #include <private/qt_mac_p.h> 49 #include <private/qcocoaview_mac_p.h> 50 #include <private/qwidget_p.h> 51 52 53 #ifndef QT_NO_ACCESSIBILITY 54 55 #ifdef QT_MAC_USE_COCOA 56 57 QT_BEGIN_NAMESPACE 58 59 //#define MAC_ACCESSIBILTY_DEVELOPER_MODE 60 61 #ifdef MAC_ACCESSIBILTY_DEVELOPER_MODE 62 #define MAC_ACCESSIBILTY_DEBUG QT_PREPEND_NAMESPACE(qDebug) 63 #else 64 #define MAC_ACCESSIBILTY_DEBUG if (0) QT_PREPEND_NAMESPACE(qDebug) 65 #endif 66 67 typedef QMap<QAccessible::Role, NSString *> QMacAccessibiltyRoleMap; 68 Q_GLOBAL_STATIC(QMacAccessibiltyRoleMap, qMacAccessibiltyRoleMap); 69 70 static QAInterface interfaceForView(QT_MANGLE_NAMESPACE(QCocoaView) *view) 71 { 72 return QAInterface(QAccessible::queryAccessibleInterface([view qt_qwidget])); 73 } 74 75 /* 76 Set up mappings from Qt accessibilty roles to Mac accessibilty roles. 77 */ 78 static void populateRoleMap() 79 { 80 QMacAccessibiltyRoleMap &roleMap = *qMacAccessibiltyRoleMap(); 81 roleMap[QAccessible::MenuItem] = NSAccessibilityMenuItemRole; 82 roleMap[QAccessible::MenuBar] = NSAccessibilityMenuBarRole; 83 roleMap[QAccessible::ScrollBar] = NSAccessibilityScrollBarRole; 84 roleMap[QAccessible::Grip] = NSAccessibilityGrowAreaRole; 85 roleMap[QAccessible::Window] = NSAccessibilityWindowRole; 86 roleMap[QAccessible::Dialog] = NSAccessibilityWindowRole; 87 roleMap[QAccessible::AlertMessage] = NSAccessibilityWindowRole; 88 roleMap[QAccessible::ToolTip] = NSAccessibilityWindowRole; 89 roleMap[QAccessible::HelpBalloon] = NSAccessibilityWindowRole; 90 roleMap[QAccessible::PopupMenu] = NSAccessibilityMenuRole; 91 roleMap[QAccessible::Application] = NSAccessibilityApplicationRole; 92 roleMap[QAccessible::Pane] = NSAccessibilityGroupRole; 93 roleMap[QAccessible::Grouping] = NSAccessibilityGroupRole; 94 roleMap[QAccessible::Separator] = NSAccessibilitySplitterRole; 95 roleMap[QAccessible::ToolBar] = NSAccessibilityToolbarRole; 96 roleMap[QAccessible::PageTab] = NSAccessibilityRadioButtonRole; 97 roleMap[QAccessible::ButtonMenu] = NSAccessibilityMenuButtonRole; 98 roleMap[QAccessible::ButtonDropDown] = NSAccessibilityPopUpButtonRole; 99 roleMap[QAccessible::SpinBox] = NSAccessibilityIncrementorRole; 100 roleMap[QAccessible::Slider] = NSAccessibilitySliderRole; 101 roleMap[QAccessible::ProgressBar] = NSAccessibilityProgressIndicatorRole; 102 roleMap[QAccessible::ComboBox] = NSAccessibilityPopUpButtonRole; 103 roleMap[QAccessible::RadioButton] = NSAccessibilityRadioButtonRole; 104 roleMap[QAccessible::CheckBox] = NSAccessibilityCheckBoxRole; 105 roleMap[QAccessible::StaticText] = NSAccessibilityStaticTextRole; 106 roleMap[QAccessible::Table] = NSAccessibilityTableRole; 107 roleMap[QAccessible::StatusBar] = NSAccessibilityStaticTextRole; 108 roleMap[QAccessible::Column] = NSAccessibilityColumnRole; 109 roleMap[QAccessible::ColumnHeader] = NSAccessibilityColumnRole; 110 roleMap[QAccessible::Row] = NSAccessibilityRowRole; 111 roleMap[QAccessible::RowHeader] = NSAccessibilityRowRole; 112 roleMap[QAccessible::Cell] = NSAccessibilityTextFieldRole; 113 roleMap[QAccessible::PushButton] = NSAccessibilityButtonRole; 114 roleMap[QAccessible::EditableText] = NSAccessibilityTextFieldRole; 115 roleMap[QAccessible::Link] = NSAccessibilityTextFieldRole; 116 roleMap[QAccessible::Indicator] = NSAccessibilityValueIndicatorRole; 117 roleMap[QAccessible::Splitter] = NSAccessibilitySplitGroupRole; 118 roleMap[QAccessible::List] = NSAccessibilityListRole; 119 roleMap[QAccessible::ListItem] = NSAccessibilityStaticTextRole; 120 roleMap[QAccessible::Cell] = NSAccessibilityStaticTextRole; 121 } 122 123 /* 124 Returns a Mac accessibility role for the given interface, or 125 NSAccessibilityUnknownRole if no role mapping is found. 126 */ 127 static NSString *macRoleForInterface(QAInterface interface) 128 { 129 const QAccessible::Role qtRole = interface.role(); 130 QMacAccessibiltyRoleMap &roleMap = *qMacAccessibiltyRoleMap(); 131 132 if (roleMap.isEmpty()) 133 populateRoleMap(); 134 135 MAC_ACCESSIBILTY_DEBUG() << "role for" << interface.object() << "interface role" << hex << qtRole; 136 137 if (roleMap.contains(qtRole)) { 138 MAC_ACCESSIBILTY_DEBUG() << "return" << roleMap[qtRole]; 139 return roleMap[qtRole]; 140 } 141 142 MAC_ACCESSIBILTY_DEBUG() << "return NSAccessibilityUnknownRole"; 143 return NSAccessibilityUnknownRole; 144 } 145 146 /* 147 Is the interface a QTabBar embedded in a QTabWidget? 148 (as opposed to a stand-alone tab bar) 149 */ 150 static bool isEmbeddedTabBar(const QAInterface &interface) 151 { 152 QObject *object = interface.object(); 153 if (interface.role() == QAccessible::PageTabList && object) 154 return (qobject_cast<QTabWidget *>(object->parent())); 155 156 return false; 157 } 158 159 static bool isInterfaceIgnored(QAInterface interface) 160 { 161 // Mac accessibility does not have an attribute that corresponds to the 162 // Invisible/Offscreen state. Use the ignore facility to disable them. 163 const QAccessible::State state = interface.state(); 164 if (state & QAccessible::Invisible || 165 state & QAccessible::Offscreen ) 166 return false; 167 168 // Hide QTabBars that has a QTabWidget parent (the QTabWidget handles the accessibility) 169 if (isEmbeddedTabBar(interface)) 170 return false; 171 172 if (QObject * const object = interface.object()) { 173 const QString className = QLatin1String(object->metaObject()->className()); 174 175 // Prevent VoiceOver from focusing on tool tips by ignoring those 176 // interfaces. Shifting VoiceOver focus to the tool tip is confusing 177 // and the contents of the tool tip is avalible through the description 178 // attribute anyway. 179 if (className == QLatin1String("QTipLabel")) 180 return false; 181 } 182 183 // Hide interfaces with an unknown role. When developing it's often useful to disable 184 // this check to see all interfaces in the hierarchy. 185 #ifndef MAC_ACCESSIBILTY_DEVELOPER_MODE 186 return [macRoleForInterface(interface) isEqualToString: NSAccessibilityUnknownRole]; 187 #else 188 return NO; 189 #endif 190 } 191 192 QT_END_NAMESPACE 193 194 @implementation QT_MANGLE_NAMESPACE(QCocoaView) (Accessibility) 195 196 - (BOOL)accessibilityIsIgnored 197 { 198 QT_PREPEND_NAMESPACE(QAInterface) interface = QT_PREPEND_NAMESPACE(interfaceForView)(self); 199 return isInterfaceIgnored(interface); 200 } 201 202 - (NSArray *)accessibilityAttributeNames 203 { 204 QT_PREPEND_NAMESPACE(QAInterface) interface = QT_PREPEND_NAMESPACE(interfaceForView)(self); 205 206 static NSArray *attributes = nil; 207 if (attributes == nil) { 208 attributes = [super accessibilityAttributeNames]; 209 210 } 211 return attributes; 212 } 213 214 - (id)accessibilityAttributeValue:(NSString *)attribute 215 { 216 MAC_ACCESSIBILTY_DEBUG() << "accessibilityAttributeValue" << self << 217 QT_PREPEND_NAMESPACE(QCFString)::toQString(reinterpret_cast<CFStringRef>(attribute)); 218 219 QT_PREPEND_NAMESPACE(QAInterface) interface = QT_PREPEND_NAMESPACE(interfaceForView)(self); 220 221 // Switch on the attribute name and call the appropriate handler function. 222 // Pass the call on to the NSView class for attributes we don't handle. 223 if ([attribute isEqualToString:@"AXRole"]) { 224 return macRoleForInterface(interface); 225 } else { 226 return [super accessibilityAttributeValue:attribute]; 227 } 228 } 229 230 @end 231 232 #endif // QT_MAC_USE_COCOA 233 234 #endif // QT_NO_ACCESSIBILITY 235 -
trunk/src/gui/accessible/qaccessible_mac_p.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessible_unix.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessible_win.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 51 51 #include <winuser.h> 52 52 #if !defined(WINABLEAPI) 53 # if defined(Q_ OS_WINCE)53 # if defined(Q_WS_WINCE) 54 54 # include <bldver.h> 55 55 # endif … … 62 62 #endif 63 63 64 #ifdef Q_ OS_WINCE64 #ifdef Q_WS_WINCE 65 65 #include "qguifunctions_wince.h" 66 66 #endif … … 178 178 } 179 179 180 Q ByteArraysoundName;180 QString soundName; 181 181 switch (reason) { 182 182 case PopupMenuStart: 183 soundName = "MenuPopup";183 soundName = QLatin1String("MenuPopup"); 184 184 break; 185 185 186 186 case MenuCommand: 187 soundName = "MenuCommand";187 soundName = QLatin1String("MenuCommand"); 188 188 break; 189 189 … … 195 195 switch (mb->icon()) { 196 196 case QMessageBox::Warning: 197 soundName = "SystemExclamation";197 soundName = QLatin1String("SystemExclamation"); 198 198 break; 199 199 case QMessageBox::Critical: 200 soundName = "SystemHand";200 soundName = QLatin1String("SystemHand"); 201 201 break; 202 202 case QMessageBox::Information: 203 soundName = "SystemAsterisk";203 soundName = QLatin1String("SystemAsterisk"); 204 204 break; 205 205 default: … … 209 209 #endif // QT_NO_MESSAGEBOX 210 210 { 211 soundName = "SystemAsterisk";211 soundName = QLatin1String("SystemAsterisk"); 212 212 } 213 213 … … 220 220 if (soundName.size()) { 221 221 #ifndef QT_NO_SETTINGS 222 QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") + 223 QString::fromLatin1(soundName.constData()),QSettings::NativeFormat);222 QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") + soundName, 223 QSettings::NativeFormat); 224 224 QString file = settings.value(QLatin1String(".Current/.")).toString(); 225 225 #else 226 226 QString file; 227 227 #endif 228 if (!file.isEmpty()) { 229 QT_WA({ 230 PlaySoundW(reinterpret_cast<const wchar_t *> (QString::fromLatin1(soundName).utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT ); 231 } , { 232 PlaySoundA(soundName.constData(), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT ); 233 }); 234 } 235 } 228 if (!file.isEmpty()) { 229 PlaySound(reinterpret_cast<const wchar_t *>(soundName.utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT); 230 } 231 } 236 232 237 233 if (!isActive()) … … 240 236 typedef void (WINAPI *PtrNotifyWinEvent)(DWORD, HWND, LONG, LONG); 241 237 242 #if defined(Q_ OS_WINCE) // ### TODO: check for NotifyWinEvent in CE 6.0238 #if defined(Q_WS_WINCE) // ### TODO: check for NotifyWinEvent in CE 6.0 243 239 // There is no user32.lib nor NotifyWinEvent for CE 244 240 return; … … 271 267 if (reason != QAccessible::ContextHelpStart && 272 268 reason != QAccessible::ContextHelpEnd) 273 w = qApp->focusWidget();269 w = QApplication::focusWidget(); 274 270 if (!w) { 275 w = qApp->activeWindow();271 w = QApplication::activeWindow(); 276 272 277 273 if (!w) … … 290 286 ptrNotifyWinEvent(reason, w->winId(), OBJID_CLIENT, who); 291 287 } 292 #endif // Q_ OS_WINCE288 #endif // Q_WS_WINCE 293 289 } 294 290 … … 1056 1052 Role role = accessible->role(varID.lVal); 1057 1053 if (role != NoRole) { 1054 if (role == LayeredPane) 1055 role = QAccessible::Pane; 1058 1056 (*pvarRole).vt = VT_I4; 1059 1057 (*pvarRole).lVal = role; -
trunk/src/gui/accessible/qaccessiblebridge.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessiblebridge.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessibleobject.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 213 213 { 214 214 QWidgetList list; 215 const QWidgetList tlw( qApp->topLevelWidgets());215 const QWidgetList tlw(QApplication::topLevelWidgets()); 216 216 for (int i = 0; i < tlw.count(); ++i) { 217 217 QWidget *w = tlw.at(i); … … 309 309 break; 310 310 case FocusChild: 311 targetObject = qApp->activeWindow();311 targetObject = QApplication::activeWindow(); 312 312 break; 313 313 default: … … 323 323 switch (t) { 324 324 case Name: 325 if ( qApp->activeWindow())326 return qApp->activeWindow()->windowTitle();325 if (QApplication::activeWindow()) 326 return QApplication::activeWindow()->windowTitle(); 327 327 break; 328 328 case Description: 329 return qApp->applicationFilePath();329 return QApplication::applicationFilePath(); 330 330 default: 331 331 break; … … 343 343 QAccessible::State QAccessibleApplication::state(int) const 344 344 { 345 return qApp->activeWindow() ? Focused : Normal;345 return QApplication::activeWindow() ? Focused : Normal; 346 346 } 347 347 … … 357 357 if (action == 0 || action == 1) { 358 358 QWidget *w = 0; 359 w = qApp->activeWindow();359 w = QApplication::activeWindow(); 360 360 if (!w) 361 361 w = topLevelWidgets().at(0); -
trunk/src/gui/accessible/qaccessibleobject.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessibleplugin.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessibleplugin.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** -
trunk/src/gui/accessible/qaccessiblewidget.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 103 103 QString Q_GUI_EXPORT qt_accStripAmp(const QString &text) 104 104 { 105 if (text.isEmpty()) 106 return text; 107 108 const QChar *ch = text.unicode(); 109 int length = text.length(); 110 QString str; 111 while (length > 0) { 112 if (*ch == QLatin1Char('&')) { 113 ++ch; 114 --length; 115 if (!ch) 116 --ch; 117 } 118 str += *ch; 119 ++ch; 120 --length; 121 } 122 return str; 105 return QString(text).remove(QLatin1Char('&')); 123 106 } 124 107 -
trunk/src/gui/accessible/qaccessiblewidget.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtGui module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 **
Note:
See TracChangeset
for help on using the changeset viewer.