diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-03-29 15:23:28 +0000 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2019-06-06 13:46:32 +0200 |
commit | c132889c2430afd007c71afd42d71420df4caa5a (patch) | |
tree | 03ffea741ebc00f1c95174e259f139f84822af7f /vcl | |
parent | e70af1096275e7705fa71bb5ca0fc564746a98c7 (diff) |
Resolves: rhbz#1712823 prefer help strings to a11y strings when available
Reviewed-on: https://gerrit.libreoffice.org/69934
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit b70053ba681a9b62afd6fa700ad94256d98d8dc7)
Change-Id: I50b36f697b8dd9ff8108392d48a7050702edbfbe
Reviewed-on: https://gerrit.libreoffice.org/72880
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index a69e4df05806..5123db7c9f2e 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -6514,6 +6514,13 @@ public: return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8); } + virtual OUString get_accessible_description() const override + { + AtkObject* pAtkObject = default_drawing_area_get_accessible(m_pWidget); + const char* pStr = pAtkObject ? atk_object_get_description(pAtkObject) : nullptr; + return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8); + } + virtual ~GtkInstanceDrawingArea() override { g_object_steal_data(G_OBJECT(m_pDrawingArea), "g-lo-GtkInstanceDrawingArea"); @@ -7579,16 +7586,7 @@ namespace const ImplSVData* pSVData = ImplGetSVData(); if (pSVData->maHelpData.mbBalloonHelp) { - /*This is how I would prefer things to be, only a few like this though*/ - AtkObject* pAtkObject = gtk_widget_get_accessible(pWidget); - const char* pDesc = pAtkObject ? atk_object_get_description(pAtkObject) : nullptr; - if (pDesc) - { - gtk_tooltip_set_text(tooltip, pDesc); - return true; - } - - /*So fallback to existing mechanism which needs help installed*/ + /*Current mechanism which needs help installed*/ OString sHelpId = ::get_help_id(pWidget); Help* pHelp = !sHelpId.isEmpty() ? Application::GetHelp() : nullptr; if (pHelp) @@ -7600,10 +7598,19 @@ namespace return true; } } + + /*This is how I would prefer things to be, only a few like this though*/ + AtkObject* pAtkObject = gtk_widget_get_accessible(pWidget); + const char* pDesc = pAtkObject ? atk_object_get_description(pAtkObject) : nullptr; + if (pDesc && pDesc[0]) + { + gtk_tooltip_set_text(tooltip, pDesc); + return true; + } } const char* pDesc = gtk_widget_get_tooltip_text(pWidget); - if (pDesc) + if (pDesc && pDesc[0]) { gtk_tooltip_set_text(tooltip, pDesc); return true; |