Hide "invalid" accessibility interfaces.
Those with a null object pointer and those with a null rect. Change-Id: I40e0c435ee768fc8c58098fec131eb65e89d76f2 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
This commit is contained in:
parent
cbde509965
commit
a7fd8696dd
@ -253,9 +253,21 @@ void AccessibilitySceneManager::updateItemFlags(QGraphicsRectItem *item, QAccess
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_optionsWidget->hideNullObjectItems()) {
|
||||||
|
if (interface->object() == 0) {
|
||||||
|
shouldShow = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_optionsWidget->hideNullRectItems()) {
|
||||||
|
if (interface->rect().isNull()) {
|
||||||
|
shouldShow = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
item->setVisible(shouldShow);
|
item->setVisible(shouldShow);
|
||||||
|
|
||||||
if (interface->object() == m_selectedObject)
|
if (interface->object() && interface->object() == m_selectedObject)
|
||||||
item->setBrush(QColor(Qt::yellow));
|
item->setBrush(QColor(Qt::yellow));
|
||||||
else
|
else
|
||||||
item->setBrush(QColor(Qt::white));
|
item->setBrush(QColor(Qt::white));
|
||||||
@ -392,7 +404,7 @@ void AccessibilitySceneManager::addGraphicsItems(AccessibilitySceneManager::Tree
|
|||||||
graphicsItem->setRect(0, 0, m_treeItemWidth, m_treeItemHeight);
|
graphicsItem->setRect(0, 0, m_treeItemWidth, m_treeItemHeight);
|
||||||
graphicsItem->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
|
graphicsItem->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
|
||||||
|
|
||||||
if (item.object == m_selectedObject)
|
if (item.object && item.object == m_selectedObject)
|
||||||
graphicsItem->setBrush(QColor(Qt::yellow));
|
graphicsItem->setBrush(QColor(Qt::yellow));
|
||||||
else
|
else
|
||||||
graphicsItem->setBrush(QColor(Qt::white));
|
graphicsItem->setBrush(QColor(Qt::white));
|
||||||
|
@ -77,6 +77,18 @@ public:
|
|||||||
m_hidePaneItems->setChecked(true);
|
m_hidePaneItems->setChecked(true);
|
||||||
connect(m_hidePaneItems, SIGNAL(toggled(bool)), SIGNAL(optionsChanged()));
|
connect(m_hidePaneItems, SIGNAL(toggled(bool)), SIGNAL(optionsChanged()));
|
||||||
|
|
||||||
|
m_hideNullObjectItems = new QCheckBox(this);
|
||||||
|
m_layout->addWidget(m_hideNullObjectItems);
|
||||||
|
m_hideNullObjectItems->setText("Hide Items with a null QObject pointer");
|
||||||
|
m_hideNullObjectItems->setChecked(true);
|
||||||
|
connect(m_hideNullObjectItems, SIGNAL(toggled(bool)), SIGNAL(optionsChanged()));
|
||||||
|
|
||||||
|
m_hideNullRectItems = new QCheckBox(this);
|
||||||
|
m_layout->addWidget(m_hideNullRectItems);
|
||||||
|
m_hideNullRectItems->setText("Hide Items with a null rect");
|
||||||
|
m_hideNullRectItems->setChecked(true);
|
||||||
|
connect(m_hideNullRectItems, SIGNAL(toggled(bool)), SIGNAL(optionsChanged()));
|
||||||
|
|
||||||
m_enableTextToSpeach = new QCheckBox(this);
|
m_enableTextToSpeach = new QCheckBox(this);
|
||||||
m_layout->addWidget(m_enableTextToSpeach);
|
m_layout->addWidget(m_enableTextToSpeach);
|
||||||
m_enableTextToSpeach->setText("Enable Text To Speech");
|
m_enableTextToSpeach->setText("Enable Text To Speech");
|
||||||
@ -96,6 +108,8 @@ public:
|
|||||||
bool hideInvisibleItems() { return m_hideInvisibleItems->isChecked(); }
|
bool hideInvisibleItems() { return m_hideInvisibleItems->isChecked(); }
|
||||||
bool hideOffscreenItems() { return m_hideOffscreenItems->isChecked(); }
|
bool hideOffscreenItems() { return m_hideOffscreenItems->isChecked(); }
|
||||||
bool hidePaneItems() { return m_hidePaneItems->isChecked(); }
|
bool hidePaneItems() { return m_hidePaneItems->isChecked(); }
|
||||||
|
bool hideNullObjectItems() { return m_hideNullObjectItems->isChecked(); }
|
||||||
|
bool hideNullRectItems() { return m_hideNullRectItems->isChecked(); }
|
||||||
bool enableTextToSpeach() { return m_enableTextToSpeach->isChecked(); }
|
bool enableTextToSpeach() { return m_enableTextToSpeach->isChecked(); }
|
||||||
signals:
|
signals:
|
||||||
void optionsChanged();
|
void optionsChanged();
|
||||||
@ -109,6 +123,8 @@ private:
|
|||||||
QCheckBox *m_hideInvisibleItems;
|
QCheckBox *m_hideInvisibleItems;
|
||||||
QCheckBox *m_hideOffscreenItems;
|
QCheckBox *m_hideOffscreenItems;
|
||||||
QCheckBox *m_hidePaneItems;
|
QCheckBox *m_hidePaneItems;
|
||||||
|
QCheckBox *m_hideNullObjectItems;
|
||||||
|
QCheckBox *m_hideNullRectItems;
|
||||||
QCheckBox *m_enableTextToSpeach;
|
QCheckBox *m_enableTextToSpeach;
|
||||||
QSlider *m_scale;
|
QSlider *m_scale;
|
||||||
};
|
};
|
||||||
|
@ -107,7 +107,8 @@ void ScreenReader::processTouchPoint()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_selectedInterface = currentInterface;
|
m_selectedInterface = currentInterface;
|
||||||
emit selected(m_selectedInterface->object());
|
if (m_selectedInterface->object())
|
||||||
|
emit selected(m_selectedInterface->object());
|
||||||
if (m_optionsWidget->enableTextToSpeach())
|
if (m_optionsWidget->enableTextToSpeach())
|
||||||
speak(m_selectedInterface->text(QAccessible::Name)
|
speak(m_selectedInterface->text(QAccessible::Name)
|
||||||
/*+ "," + translateRole(m_selectedInterface->role(0)) */);
|
/*+ "," + translateRole(m_selectedInterface->role(0)) */);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user