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);
                 }
 

Reply via email to