sd/source/ui/dlg/titledockwin.cxx              |    4 ++--
 sd/source/ui/inc/SlideSorter.hxx               |    3 ++-
 sd/source/ui/inc/SlideSorterViewShell.hxx      |    3 ++-
 sd/source/ui/slidesorter/shell/SlideSorter.cxx |    9 ++++-----
 4 files changed, 10 insertions(+), 9 deletions(-)

New commits:
commit 0e46139d181279be80774051b01f1c268de738de
Author:     Michael Weghorn <[email protected]>
AuthorDate: Mon Jun 30 12:16:21 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Mon Jun 30 19:34:14 2025 +0200

    tdf#100876 sd a11y: Use pane title as a11y name
    
    TitledDockingWindow::m_sTitle is used for
    the title to display for that docking window. Also
    set it as an accessible name, so it is also available
    to assistive technologies.
    
    This e.g. makes clear when the "Slides" pane gets reached (its close
    button receives focus) in Impress when cycling through panes using
    the F6 key.
    
    Change-Id: I5e6221cdf5ee9365372c639db59b0156d278d4ec
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187183
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/sd/source/ui/dlg/titledockwin.cxx 
b/sd/source/ui/dlg/titledockwin.cxx
index d545170da688..c01a36252004 100644
--- a/sd/source/ui/dlg/titledockwin.cxx
+++ b/sd/source/ui/dlg/titledockwin.cxx
@@ -51,8 +51,7 @@ namespace sd
 
         m_aContentWindow->Show();
 
-        m_sTitle = rsTitle;
-        Invalidate();
+        SetTitle(rsTitle);
         SetSizePixel(LogicToPixel(Size(80,200), MapMode(MapUnit::MapAppFont)));
     }
 
@@ -71,6 +70,7 @@ namespace sd
     void TitledDockingWindow::SetTitle(const OUString& i_rText)
     {
         m_sTitle = i_rText;
+        SetAccessibleName(m_sTitle);
         Invalidate();
     }
 
commit 2efb920c960b9b9a80e5cfdaf4aef9b77b7a983a
Author:     Michael Weghorn <[email protected]>
AuthorDate: Mon Jun 30 11:47:51 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Mon Jun 30 19:34:08 2025 +0200

    sd: Switch SlideSorterViewShell::mpSlideSorter to unique_ptr
    
    It's created and uniquely owned by the
    SlideSorterViewShell, so there's no need to
    use a std::shared_ptr.
    
    Change-Id: I80472cc0c61a860c82b27bdf3b5b642aafcac4ce
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187182
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/sd/source/ui/inc/SlideSorter.hxx b/sd/source/ui/inc/SlideSorter.hxx
index 6c27791fc21e..eeaa1064b1cb 100644
--- a/sd/source/ui/inc/SlideSorter.hxx
+++ b/sd/source/ui/inc/SlideSorter.hxx
@@ -20,6 +20,7 @@
 #pragma once
 
 #include <cppuhelper/weakref.hxx>
+#include <o3tl/deleter.hxx>
 #include <svtools/scrolladaptor.hxx>
 #include <sddllapi.h>
 #include <memory>
@@ -81,7 +82,7 @@ public:
         @param rpVerticalScrollBar
             Typically the vertical scroll bar of the ViewShell.
     */
-    static std::shared_ptr<SlideSorter> CreateSlideSorter (
+    static std::unique_ptr<SlideSorter, o3tl::default_delete<SlideSorter>> 
CreateSlideSorter (
         ViewShell& rViewShell,
         sd::Window* pContentWindow,
         ScrollAdaptor* pHorizontalScrollBar,
diff --git a/sd/source/ui/inc/SlideSorterViewShell.hxx 
b/sd/source/ui/inc/SlideSorterViewShell.hxx
index d91332c3e900..e36f643e0df7 100644
--- a/sd/source/ui/inc/SlideSorterViewShell.hxx
+++ b/sd/source/ui/inc/SlideSorterViewShell.hxx
@@ -21,6 +21,7 @@
 
 #include "ViewShell.hxx"
 #include <glob.hxx>
+#include <o3tl/deleter.hxx>
 #include <sfx2/shell.hxx>
 #include <sddllapi.h>
 #include <memory>
@@ -196,7 +197,7 @@ private:
     */
     virtual SfxUndoManager* ImpGetUndoManager() const override;
 
-    std::shared_ptr<SlideSorter> mpSlideSorter;
+    std::unique_ptr<SlideSorter, o3tl::default_delete<SlideSorter>> 
mpSlideSorter;
     bool mbIsArrangeGUIElementsPending;
 
     SlideSorterViewShell (
diff --git a/sd/source/ui/slidesorter/shell/SlideSorter.cxx 
b/sd/source/ui/slidesorter/shell/SlideSorter.cxx
index 1f1d050830e5..a37abc23e71c 100644
--- a/sd/source/ui/slidesorter/shell/SlideSorter.cxx
+++ b/sd/source/ui/slidesorter/shell/SlideSorter.cxx
@@ -25,7 +25,6 @@
 #include <controller/SlsScrollBarManager.hxx>
 #include <controller/SlsProperties.hxx>
 #include <controller/SlsAnimator.hxx>
-#include <o3tl/deleter.hxx>
 #include <view/SlideSorterView.hxx>
 #include <view/SlsTheme.hxx>
 #include <model/SlideSorterModel.hxx>
@@ -45,19 +44,19 @@ namespace sd::slidesorter {
 
 //===== SlideSorter ===========================================================
 
-std::shared_ptr<SlideSorter> SlideSorter::CreateSlideSorter(
+std::unique_ptr<SlideSorter, o3tl::default_delete<SlideSorter>> 
SlideSorter::CreateSlideSorter(
     ViewShell& rViewShell,
     sd::Window* pContentWindow,
     ScrollAdaptor* pHorizontalScrollBar,
     ScrollAdaptor* pVerticalScrollBar)
 {
-    std::shared_ptr<SlideSorter> pSlideSorter(
+    std::unique_ptr<SlideSorter, o3tl::default_delete<SlideSorter>> 
pSlideSorter(
         new SlideSorter(
             rViewShell,
             pContentWindow,
             pHorizontalScrollBar,
-            pVerticalScrollBar),
-        o3tl::default_delete<SlideSorter>());
+            pVerticalScrollBar)
+        );
     pSlideSorter->Init();
     return pSlideSorter;
 }

Reply via email to