return text_to_read;
}
+static char *spi_on_name_changed_get_text(SpiData *spi, AtspiEvent *event)
+{
+ char *text_to_read = NULL;
+ spi->currently_focused = event->source;
+ text_to_read = reading_composer_name_get(spi->currently_focused);
+ return text_to_read;
+}
+
static char *spi_get_password_text(SpiData *spi, AtspiEvent *event)
{
AtspiText *iface_text = NULL;
*text_to_read = g_strdup(_("IDS_ACCS_TBOPT_CHECKED_TTS"));
else
*text_to_read = g_strdup(_("IDS_ACCS_TBOPT_NOT_CHECKED_TTS"));
+ } else if (!g_strcmp0(event->type, NAME_CHANGED_SIG)) {
+ Live_Region_Politeness mode = try_parse_politeness(attrs, object_has_focused_state(event->source));
+ if (mode != ACCESSIBLE_LIVE_REGION_OFF) {
+ *text_to_read = spi_on_name_changed_get_text(spi, event);
+ if (cancel)
+ *cancel = mode == ACCESSIBLE_LIVE_REGION_ASSERTIVE ? 1 : 0;
+ }
} else {
ERROR("Unknown event type");
}
spi_listener_register(spi->listener, STATE_FOCUSED_SIG);
spi_listener_register(spi->listener, CARET_MOVED_SIG);
spi_listener_register(spi->listener, VALUE_CHANGED_SIG);
+ spi_listener_register(spi->listener, NAME_CHANGED_SIG);
spi_listener_register(spi->listener, TEXT_INSERT_SIG);
spi_listener_register(spi->listener, TEXT_DELETE_SIG);
spi_listener_register(spi->listener, STATE_CHECKED_SIG);
spi_listener_deregister(spi->listener, STATE_FOCUSED_SIG);
spi_listener_deregister(spi->listener, CARET_MOVED_SIG);
spi_listener_deregister(spi->listener, VALUE_CHANGED_SIG);
+ spi_listener_deregister(spi->listener, NAME_CHANGED_SIG);
spi_listener_deregister(spi->listener, TEXT_INSERT_SIG);
spi_listener_deregister(spi->listener, TEXT_DELETE_SIG);
g_object_unref(spi->listener);