24 if (QAccessibleActionInterface *actionIface = iface->actionInterface())
25 actions = actionIface->actionNames();
27 if (iface->valueInterface()) {
28 if (!actions.contains(QAccessibleActionInterface::increaseAction()))
29 actions << QAccessibleActionInterface::increaseAction();
30 if (!actions.contains(QAccessibleActionInterface::decreaseAction()))
31 actions << QAccessibleActionInterface::decreaseAction();
40 if (performAction(iface, actionName))
42 if (actionName != QAccessibleActionInterface::increaseAction()
43 && actionName != QAccessibleActionInterface::decreaseAction())
46 QAccessibleValueInterface *valueIface = iface->valueInterface();
50 const QVariant currentVariant = valueIface->currentValue();
51 double stepSize = valueIface->minimumStepSize().toDouble(&success);
52 if (!success || qFuzzyIsNull(stepSize)) {
53 const double min = valueIface->minimumValue().toDouble(&success);
56 const double max = valueIface->maximumValue().toDouble(&success);
59 stepSize = (max - min) / 10;
60 const int typ = currentVariant.userType();
61 if (typ != QMetaType::Float && typ != QMetaType::Double) {
63 stepSize = qCeil(stepSize);
66 const double current = currentVariant.toDouble(&success);
69 if (actionName == QAccessibleActionInterface::decreaseAction())
71 valueIface->setCurrentValue(current + stepSize);
79 result = accessible->text(QAccessible::Identifier);
80 if (!result.isEmpty())
83 if (!result.isEmpty())
85 if (
auto obj = accessible->object()) {
86 const QString name = obj->objectName();
90 result.prepend(QString::fromUtf8(obj->metaObject()->className()));
92 accessible = accessible->parent();