framework/inc/uielement/genericstatusbarcontroller.hxx    |    4 +++-
 framework/source/uielement/genericstatusbarcontroller.cxx |    4 ++--
 framework/source/uielement/statusbarmanager.cxx           |   12 ++++++------
 3 files changed, 11 insertions(+), 9 deletions(-)

New commits:
commit 927b021c6cb7d3ff37fa0ae4c50720b747d0cdcc
Author:     Michael Weghorn <[email protected]>
AuthorDate: Thu Dec 11 14:13:13 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Fri Dec 12 13:27:34 2025 +0100

    framework: Switch GenericStatusbarController to StatusbarItem
    
    ... from the abstrace UNO interface XStatusbarItem.
    
    Change-Id: Ie72ca7fea341d59e163f273e63352f751a7cfa30
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195481
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/framework/inc/uielement/genericstatusbarcontroller.hxx 
b/framework/inc/uielement/genericstatusbarcontroller.hxx
index e0eae738fda0..1d79ac4fd3c4 100644
--- a/framework/inc/uielement/genericstatusbarcontroller.hxx
+++ b/framework/inc/uielement/genericstatusbarcontroller.hxx
@@ -18,6 +18,8 @@
  */
 #pragma once
 
+#include "statusbaritem.hxx"
+
 #include <svtools/statusbarcontroller.hxx>
 
 #include <com/sun/star/graphic/XGraphic.hpp>
@@ -32,7 +34,7 @@ class GenericStatusbarController final : public 
svt::StatusbarController
     public:
         GenericStatusbarController( const css::uno::Reference< 
css::uno::XComponentContext >& rxContext,
                                     const css::uno::Reference< 
css::frame::XFrame >& rFrame,
-                                    const css::uno::Reference< 
css::ui::XStatusbarItem >& rxItem,
+                                    const rtl::Reference<StatusbarItem>& 
rpItem,
                                     AddonStatusbarItemData *pItemData );
         virtual ~GenericStatusbarController() override;
 
diff --git a/framework/source/uielement/genericstatusbarcontroller.cxx 
b/framework/source/uielement/genericstatusbarcontroller.cxx
index 5c149eaeb4f2..db3559f0e3a7 100644
--- a/framework/source/uielement/genericstatusbarcontroller.cxx
+++ b/framework/source/uielement/genericstatusbarcontroller.cxx
@@ -40,14 +40,14 @@ namespace framework
 GenericStatusbarController::GenericStatusbarController(
     const Reference< XComponentContext >& rxContext,
     const Reference< XFrame >& rxFrame,
-    const Reference< ui::XStatusbarItem >& rxItem,
+    const rtl::Reference<StatusbarItem>& rpItem,
     AddonStatusbarItemData *pItemData )
     : svt::StatusbarController( rxContext, rxFrame, OUString(), 0 )
     , m_bEnabled( false )
     , m_bOwnerDraw( false )
     , m_pItemData( pItemData )
 {
-    m_xStatusbarItem = rxItem;
+    m_xStatusbarItem = rpItem;
     if ( m_xStatusbarItem.is() )
     {
         assert(m_aCommandURL.pData);
commit 38aca3df31642a0c8903f072c570be2af0ab3fae
Author:     Michael Weghorn <[email protected]>
AuthorDate: Thu Dec 11 14:07:30 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Fri Dec 12 13:27:27 2025 +0100

    framework: Use ref to concrete StatusbarItem
    
    ... instead of the abstract XStatusbarItem.
    
    This will allow switching to the concrete
    implementation class in more places in
    an upcoming commit.
    
    Change-Id: I6f97bc6aecf96fdb961bed94023c31f5fb84f5bf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195480
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/framework/source/uielement/statusbarmanager.cxx 
b/framework/source/uielement/statusbarmanager.cxx
index f44e6bb6aae8..386b4a4a528d 100644
--- a/framework/source/uielement/statusbarmanager.cxx
+++ b/framework/source/uielement/statusbarmanager.cxx
@@ -298,7 +298,8 @@ void StatusBarManager::CreateControllers()
         bool bInit( true );
         uno::Reference< frame::XStatusbarController > xController;
         AddonStatusbarItemData *pItemData = static_cast< 
AddonStatusbarItemData *>( m_pStatusBar->GetItemData( nId ) );
-        uno::Reference< ui::XStatusbarItem > xStatusbarItem = new 
StatusbarItem( m_pStatusBar, nId, aCommandURL );
+        rtl::Reference<StatusbarItem> pStatusbarItem
+            = new StatusbarItem(m_pStatusBar, nId, aCommandURL);
 
         std::vector< uno::Any > aPropVector
         {
@@ -311,7 +312,8 @@ void StatusBarManager::CreateControllers()
 
             uno::Any(comphelper::makePropertyValue(u"ParentWindow"_ustr, 
xStatusbarWindow)),
             uno::Any(comphelper::makePropertyValue(u"Identifier"_ustr, nId)),
-            uno::Any(comphelper::makePropertyValue(u"StatusbarItem"_ustr, 
xStatusbarItem))
+            uno::Any(comphelper::makePropertyValue(
+                u"StatusbarItem"_ustr, 
uno::Reference<ui::XStatusbarItem>(pStatusbarItem)))
         };
 
         uno::Sequence< uno::Any > aArgs( comphelper::containerToSequence( 
aPropVector ) );
@@ -335,10 +337,8 @@ void StatusBarManager::CreateControllers()
                 // 3) Is Add-on? Generic statusbar controller
                 if ( pItemData )
                 {
-                    xController = new GenericStatusbarController( m_xContext,
-                                                                  m_xFrame,
-                                                                  
xStatusbarItem,
-                                                                  pItemData );
+                    xController = new GenericStatusbarController(m_xContext, 
m_xFrame,
+                                                                 
pStatusbarItem, pItemData);
                 }
                 else
                 {

Reply via email to