qaccessiblebridgeutils.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/platformsupport/accessibility/qaccessiblebridgeutils.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtGui module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39#include "qaccessiblebridgeutils_p.h"-
40#include <QtCore/qmath.h>-
41-
42#ifndef QT_NO_ACCESSIBILITY-
43-
44QT_BEGIN_NAMESPACE-
45-
46namespace QAccessibleBridgeUtils {-
47-
48static bool performAction(QAccessibleInterface *iface, const QString &actionName)-
49{-
50 if (QAccessibleActionInterface *actionIface = iface->actionInterface()) {
QAccessibleAct...ionInterface()Description
TRUEnever evaluated
FALSEnever evaluated
0
51 if (actionIface->actionNames().contains(actionName)) {
actionIface->a...ns(actionName)Description
TRUEnever evaluated
FALSEnever evaluated
0
52 actionIface->doAction(actionName);-
53 return true;
never executed: return true;
0
54 }-
55 }
never executed: end of block
0
56 return false;
never executed: return false;
0
57}-
58-
59QStringList effectiveActionNames(QAccessibleInterface *iface)-
60{-
61 QStringList actions;-
62 if (QAccessibleActionInterface *actionIface = iface->actionInterface())
QAccessibleAct...ionInterface()Description
TRUEnever evaluated
FALSEnever evaluated
0
63 actions = actionIface->actionNames();
never executed: actions = actionIface->actionNames();
0
64-
65 if (iface->valueInterface()) {
iface->valueInterface()Description
TRUEnever evaluated
FALSEnever evaluated
0
66 if (!actions.contains(QAccessibleActionInterface::increaseAction()))
!actions.conta...reaseAction())Description
TRUEnever evaluated
FALSEnever evaluated
0
67 actions << QAccessibleActionInterface::increaseAction();
never executed: actions << QAccessibleActionInterface::increaseAction();
0
68 if (!actions.contains(QAccessibleActionInterface::decreaseAction()))
!actions.conta...reaseAction())Description
TRUEnever evaluated
FALSEnever evaluated
0
69 actions << QAccessibleActionInterface::decreaseAction();
never executed: actions << QAccessibleActionInterface::decreaseAction();
0
70 }
never executed: end of block
0
71 return actions;
never executed: return actions;
0
72}-
73-
74bool performEffectiveAction(QAccessibleInterface *iface, const QString &actionName)-
75{-
76 if (!iface)
!ifaceDescription
TRUEnever evaluated
FALSEnever evaluated
0
77 return false;
never executed: return false;
0
78 if (performAction(iface, actionName))
performAction(...e, actionName)Description
TRUEnever evaluated
FALSEnever evaluated
0
79 return true;
never executed: return true;
0
80 if (actionName != QAccessibleActionInterface::increaseAction()
actionName != ...creaseAction()Description
TRUEnever evaluated
FALSEnever evaluated
0
81 && actionName != QAccessibleActionInterface::decreaseAction())
actionName != ...creaseAction()Description
TRUEnever evaluated
FALSEnever evaluated
0
82 return false;
never executed: return false;
0
83-
84 QAccessibleValueInterface *valueIface = iface->valueInterface();-
85 if (!valueIface)
!valueIfaceDescription
TRUEnever evaluated
FALSEnever evaluated
0
86 return false;
never executed: return false;
0
87 bool success;-
88 const QVariant currentVariant = valueIface->currentValue();-
89 double stepSize = valueIface->minimumStepSize().toDouble(&success);-
90 if (!success || qFuzzyIsNull(stepSize)) {
!successDescription
TRUEnever evaluated
FALSEnever evaluated
qFuzzyIsNull(stepSize)Description
TRUEnever evaluated
FALSEnever evaluated
0
91 const double min = valueIface->minimumValue().toDouble(&success);-
92 if (!success)
!successDescription
TRUEnever evaluated
FALSEnever evaluated
0
93 return false;
never executed: return false;
0
94 const double max = valueIface->maximumValue().toDouble(&success);-
95 if (!success)
!successDescription
TRUEnever evaluated
FALSEnever evaluated
0
96 return false;
never executed: return false;
0
97 stepSize = (max - min) / 10; // this is pretty arbitrary, we just need to provide something-
98 const int typ = currentVariant.type();-
99 if (typ != QMetaType::Float && typ != QMetaType::Double) {
typ != QMetaType::FloatDescription
TRUEnever evaluated
FALSEnever evaluated
typ != QMetaType::DoubleDescription
TRUEnever evaluated
FALSEnever evaluated
0
100 // currentValue is an integer. Round it up to ensure stepping in case it was below 1-
101 stepSize = qCeil(stepSize);-
102 }
never executed: end of block
0
103 }
never executed: end of block
0
104 const double current = currentVariant.toDouble(&success);-
105 if (!success)
!successDescription
TRUEnever evaluated
FALSEnever evaluated
0
106 return false;
never executed: return false;
0
107 if (actionName == QAccessibleActionInterface::decreaseAction())
actionName == ...creaseAction()Description
TRUEnever evaluated
FALSEnever evaluated
0
108 stepSize = -stepSize;
never executed: stepSize = -stepSize;
0
109 valueIface->setCurrentValue(current + stepSize);-
110 return true;
never executed: return true;
0
111}-
112-
113} //namespace-
114-
115QT_END_NAMESPACE-
116-
117#endif-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9