svx/uiconfig/ui/accessibilitycheckentry.ui | 20 +++++++++++++------- sw/source/uibase/sidebar/A11yCheckIssuesPanel.cxx | 22 +++++++++++++++++----- sw/source/uibase/sidebar/A11yCheckIssuesPanel.hxx | 4 ++-- sw/uiconfig/swriter/ui/a11ycheckissuespanel.ui | 12 +++++++++++- 4 files changed, 43 insertions(+), 15 deletions(-)
New commits: commit 40725c05ae1eee580a9b974363fd8921c65b5d17 Author: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de> AuthorDate: Mon Jun 5 16:14:35 2023 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de> CommitDate: Thu Jun 8 09:17:45 2023 +0200 tdf#155505 Improve display of individual entries * Remove "Go to" button and link the issue text directly * Improve layout a bit Change-Id: I3b0dbe7fa5ee0f2fcaeddbf12533ba9169171a57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152621 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de> diff --git a/svx/uiconfig/ui/accessibilitycheckentry.ui b/svx/uiconfig/ui/accessibilitycheckentry.ui index 19f14d8f3779..ea4b63c5fe88 100644 --- a/svx/uiconfig/ui/accessibilitycheckentry.ui +++ b/svx/uiconfig/ui/accessibilitycheckentry.ui @@ -5,13 +5,15 @@ <object class="GtkBox" id="accessibilityCheckEntryBox"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="margin-start">3</property> - <property name="margin-end">3</property> + <property name="margin-top">1</property> + <property name="margin-bottom">1</property> + <property name="hexpand">True</property> <property name="spacing">6</property> <child> <object class="GtkLabel" id="accessibilityCheckEntryLabel"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="hexpand">True</property> <property name="wrap">True</property> <property name="selectable">True</property> @@ -23,21 +25,23 @@ </child> </object> <packing> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkButton" id="accessibilityCheckEntryGotoButton"> - <property name="label" translatable="yes" context="accessibilitycheckentry|accessibilityCheckEntryGotoButton">Go to</property> + <object class="GtkLinkButton" id="accessibilityCheckEntryLinkButton"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> + <property name="halign">start</property> + <property name="hexpand">True</property> + <property name="relief">none</property> </object> <packing> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">1</property> </packing> </child> @@ -47,6 +51,8 @@ <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> + <property name="halign">end</property> + <property name="valign">center</property> </object> <packing> <property name="expand">False</property> diff --git a/sw/source/uibase/sidebar/A11yCheckIssuesPanel.cxx b/sw/source/uibase/sidebar/A11yCheckIssuesPanel.cxx index 1728ed58e266..123ce7e1fa57 100644 --- a/sw/source/uibase/sidebar/A11yCheckIssuesPanel.cxx +++ b/sw/source/uibase/sidebar/A11yCheckIssuesPanel.cxx @@ -33,24 +33,36 @@ AccessibilityCheckEntry::AccessibilityCheckEntry( : m_xBuilder(Application::CreateBuilder(pParent, "svx/ui/accessibilitycheckentry.ui")) , m_xContainer(m_xBuilder->weld_container("accessibilityCheckEntryBox")) , m_xLabel(m_xBuilder->weld_label("accessibilityCheckEntryLabel")) - , m_xGotoButton(m_xBuilder->weld_button("accessibilityCheckEntryGotoButton")) + , m_xGotoButton(m_xBuilder->weld_link_button("accessibilityCheckEntryLinkButton")) , m_xFixButton(m_xBuilder->weld_button("accessibilityCheckEntryFixButton")) , m_pAccessibilityIssue(rAccessibilityIssue) { - m_xLabel->set_label(m_pAccessibilityIssue->m_aIssueText); // lock in the height as including the button so all rows are the same height m_xContainer->set_size_request(-1, m_xContainer->get_preferred_size().Height()); - m_xGotoButton->set_visible(m_pAccessibilityIssue->canGotoIssue()); - m_xGotoButton->connect_clicked(LINK(this, AccessibilityCheckEntry, GotoButtonClicked)); + + if (m_pAccessibilityIssue->canGotoIssue()) + { + m_xGotoButton->set_label(m_pAccessibilityIssue->m_aIssueText); + m_xGotoButton->connect_activate_link( + LINK(this, AccessibilityCheckEntry, GotoButtonClicked)); + m_xLabel->set_visible(false); + } + else + { + m_xLabel->set_label(m_pAccessibilityIssue->m_aIssueText); + m_xGotoButton->set_visible(false); + } + m_xFixButton->set_visible(m_pAccessibilityIssue->canQuickFixIssue()); m_xFixButton->connect_clicked(LINK(this, AccessibilityCheckEntry, FixButtonClicked)); m_pAccessibilityIssue->setParent(dynamic_cast<weld::Window*>(get_widget())); } -IMPL_LINK_NOARG(AccessibilityCheckEntry, GotoButtonClicked, weld::Button&, void) +IMPL_LINK_NOARG(AccessibilityCheckEntry, GotoButtonClicked, weld::LinkButton&, bool) { m_pAccessibilityIssue->gotoIssue(); + return true; } IMPL_LINK_NOARG(AccessibilityCheckEntry, FixButtonClicked, weld::Button&, void) diff --git a/sw/source/uibase/sidebar/A11yCheckIssuesPanel.hxx b/sw/source/uibase/sidebar/A11yCheckIssuesPanel.hxx index 1bea8eee98d9..d48f4cae2906 100644 --- a/sw/source/uibase/sidebar/A11yCheckIssuesPanel.hxx +++ b/sw/source/uibase/sidebar/A11yCheckIssuesPanel.hxx @@ -28,7 +28,7 @@ private: std::unique_ptr<weld::Builder> m_xBuilder; std::unique_ptr<weld::Container> m_xContainer; std::unique_ptr<weld::Label> m_xLabel; - std::unique_ptr<weld::Button> m_xGotoButton; + std::unique_ptr<weld::LinkButton> m_xGotoButton; std::unique_ptr<weld::Button> m_xFixButton; std::shared_ptr<sfx::AccessibilityIssue> const& m_pAccessibilityIssue; @@ -39,7 +39,7 @@ public: weld::Widget* get_widget() const { return m_xContainer.get(); } - DECL_LINK(GotoButtonClicked, weld::Button&, void); + DECL_LINK(GotoButtonClicked, weld::LinkButton&, bool); DECL_LINK(FixButtonClicked, weld::Button&, void); }; diff --git a/sw/uiconfig/swriter/ui/a11ycheckissuespanel.ui b/sw/uiconfig/swriter/ui/a11ycheckissuespanel.ui index 317897eeb3b3..35cae66a0b04 100644 --- a/sw/uiconfig/swriter/ui/a11ycheckissuespanel.ui +++ b/sw/uiconfig/swriter/ui/a11ycheckissuespanel.ui @@ -18,7 +18,7 @@ <property name="vexpand">True</property> <property name="orientation">vertical</property> <property name="spacing">6</property> - <property name="homogeneous">True</property> + <property name="baseline-position">top</property> <child> <object class="GtkExpander" id="expand_document"> <property name="can-focus">True</property> @@ -27,6 +27,7 @@ <object class="GtkBox" id="box_document"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -55,6 +56,7 @@ <object class="GtkBox" id="box_styles"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -83,6 +85,8 @@ <object class="GtkBox" id="box_no_alt"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> + <property name="hexpand">True</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -111,6 +115,7 @@ <object class="GtkBox" id="box_table"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -139,6 +144,7 @@ <object class="GtkBox" id="box_formatting"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -167,6 +173,7 @@ <object class="GtkBox" id="box_hyperlink"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -195,6 +202,7 @@ <object class="GtkBox" id="box_fakes"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -223,6 +231,7 @@ <object class="GtkBox" id="box_numbering"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/> @@ -251,6 +260,7 @@ <object class="GtkBox" id="box_other"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">6</property> <property name="orientation">vertical</property> <child> <placeholder/>