include/sfx2/charmapcontainer.hxx | 3 + sd/source/ui/sidebar/LayoutMenu.cxx | 1 sfx2/source/control/charmapcontainer.cxx | 48 ++++++++++++++----------------- 3 files changed, 26 insertions(+), 26 deletions(-)
New commits: commit 9cbf62017bba23b62fd3ada2274dd8ca3392f177 Author: Michael Weghorn <[email protected]> AuthorDate: Tue Dec 16 16:01:38 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Dec 16 23:17:56 2025 +0100 tdf#168594 sfx2: Deduplicate SvxCharView update logic Extract the logic to update the SvxCharView instances used for the recently used and favorite characters into a new helper method and reuse it for both instead of implementing it twice. Change-Id: I13482d0fbc935e1da47bff81a37276128992d82c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195735 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/include/sfx2/charmapcontainer.hxx b/include/sfx2/charmapcontainer.hxx index 65e982a6255e..29a139184272 100644 --- a/include/sfx2/charmapcontainer.hxx +++ b/include/sfx2/charmapcontainer.hxx @@ -69,6 +69,9 @@ class SFX2_DLLPUBLIC SfxCharmapContainer const Link<SvxCharView&, void>& rClearAllHdl, const CommandEvent& rCmdEvent); + static void updateCharControl(std::span<SvxCharView> aCharViews, + const std::deque<CharAndFont>& rChars); + public: SfxCharmapContainer(weld::Builder& rBuilder, const VclPtr<VirtualDevice>& rVirDev, bool bLockGridSizes); diff --git a/sfx2/source/control/charmapcontainer.cxx b/sfx2/source/control/charmapcontainer.cxx index 953522cba169..4374e9e625d4 100644 --- a/sfx2/source/control/charmapcontainer.cxx +++ b/sfx2/source/control/charmapcontainer.cxx @@ -148,19 +148,7 @@ void SfxCharmapContainer::getFavCharacterList() void SfxCharmapContainer::updateFavCharControl() { - int i = 0; - for (auto it = m_aFavChars.begin(); it != m_aFavChars.end(); ++it, i++) - { - m_aFavCharView[i].SetText(it->sChar); - m_aFavCharView[i].UpdateFont(it->sFont); - m_aFavCharView[i].Show(); - } - - for(; i < 16 ; i++) - { - m_aFavCharView[i].SetText(OUString()); - m_aFavCharView[i].Hide(); - } + updateCharControl(m_aFavCharView, m_aFavChars); m_aUpdateFavHdl.Call(nullptr); } @@ -187,19 +175,7 @@ void SfxCharmapContainer::GrabFocusToFirstFavorite() void SfxCharmapContainer::updateRecentCharControl() { - int i = 0; - for (auto it = m_aRecentChars.begin(); it != m_aRecentChars.end(); ++it, i++) - { - m_aRecentCharView[i].SetText(it->sChar); - m_aRecentCharView[i].UpdateFont(it->sFont); - m_aRecentCharView[i].Show(); - } - - for(; i < 16 ; i++) - { - m_aRecentCharView[i].SetText(OUString()); - m_aRecentCharView[i].Hide(); - } + updateCharControl(m_aRecentCharView, m_aRecentChars); m_aUpdateRecentHdl.Call(nullptr); } @@ -322,6 +298,26 @@ void SfxCharmapContainer::HandleContextMenu(std::span<SvxCharView> aCharViews, } } +void SfxCharmapContainer::updateCharControl(std::span<SvxCharView> aCharViews, + const std::deque<CharAndFont>& rChars) +{ + assert(rChars.size() <= aCharViews.size()); + + int i = 0; + for (auto it = rChars.begin(); it != rChars.end(); ++it, i++) + { + aCharViews[i].SetText(it->sChar); + aCharViews[i].UpdateFont(it->sFont); + aCharViews[i].Show(); + } + + for (; i < 16; i++) + { + aCharViews[i].SetText(OUString()); + aCharViews[i].Hide(); + } +} + IMPL_LINK(SfxCharmapContainer, RecentContextMenuHdl, const CommandEvent&, rCmdEvent, void) { HandleContextMenu(m_aRecentCharView, (LINK(this, SfxCharmapContainer, RecentClearClickHdl)), commit 21a544592cdfc7c12a75bc77e012c22e710ca2ed Author: Michael Weghorn <[email protected]> AuthorDate: Tue Dec 16 14:32:05 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Dec 16 23:17:49 2025 +0100 sd a11y: Set a11y names for "Layout" icon view items For the layout items in the Impress sidebar, "Properties" panel, section "Layout", set the layout names already used for the tooltips also as the accessible names. This makes e.g. the Orca screen reader on Linux with the gtk3 VCL plugin announce those names when focus moves between the items, instead of just saying "Icon". Change-Id: I069673ebff142b0b321ffe9fca72ab5da3a459af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195715 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/sd/source/ui/sidebar/LayoutMenu.cxx b/sd/source/ui/sidebar/LayoutMenu.cxx index 5005d72e8fb3..9732ad120011 100644 --- a/sd/source/ui/sidebar/LayoutMenu.cxx +++ b/sd/source/ui/sidebar/LayoutMenu.cxx @@ -507,6 +507,7 @@ void LayoutMenu::Fill() { Bitmap aPreviewBitmap = GetPreviewAsBitmap(aImg); mxLayoutIconView->insert(id, &sLayoutName, &sId, &aPreviewBitmap, nullptr); + mxLayoutIconView->set_item_accessible_name(id, sLayoutName); mxLayoutIconView->set_item_tooltip_text(id, sLayoutName); }
