toolkit/source/awt/vclxtabpagecontainer.cxx           |    2 ++
 toolkit/source/controls/controlmodelcontainerbase.cxx |    4 ++++
 toolkit/source/controls/tabpagemodel.cxx              |    1 +
 3 files changed, 7 insertions(+)

New commits:
commit c2930857b65856a5ee94c19ad71b5cc8e36fef02
Author:     Ilhan Yesil <ilhanye...@gmx.de>
AuthorDate: Wed Jun 15 12:52:34 2022 +0200
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Mon Aug 8 13:37:57 2022 +0200

    tdf#149575 UnoControlTabPageContainer: Handle tab image
    
    Setting a tab page's image in the tab button is done via
    method 'XTabPageModel.setImageURL'.
    
    Change-Id: Ideb096f88037dac26abe90fccae2251dcce84659
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135900
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    (cherry picked from commit 0f1837306ae5c2c2e10f256b872c46b0bfba00dd)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137603
    Tested-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>

diff --git a/toolkit/source/awt/vclxtabpagecontainer.cxx 
b/toolkit/source/awt/vclxtabpagecontainer.cxx
index 51789915de42..f44851dde3f7 100644
--- a/toolkit/source/awt/vclxtabpagecontainer.cxx
+++ b/toolkit/source/awt/vclxtabpagecontainer.cxx
@@ -228,6 +228,8 @@ void 
VCLXTabPageContainer::propertiesChange(const::css::uno::Sequence<PropertyCh
             pTabCtrl->SetPageEnabled(nId, xTabPageModel->getEnabled());
         } else if (rEvent.PropertyName == GetPropertyName(BASEPROPERTY_TITLE)) 
{
             pTabCtrl->SetPageText(nId, xTabPageModel->getTitle());
+        } else if (rEvent.PropertyName == 
GetPropertyName(BASEPROPERTY_IMAGEURL)) {
+            pTabCtrl->SetPageImage(nId, 
TkResMgr::getImageFromURL(xTabPageModel->getImageURL()));
         }
     }
 }
diff --git a/toolkit/source/controls/controlmodelcontainerbase.cxx 
b/toolkit/source/controls/controlmodelcontainerbase.cxx
index 971fc0fd0825..835b893491e3 100644
--- a/toolkit/source/controls/controlmodelcontainerbase.cxx
+++ b/toolkit/source/controls/controlmodelcontainerbase.cxx
@@ -784,6 +784,10 @@ OUString SAL_CALL ControlModelContainerBase::getImageURL()
 void SAL_CALL ControlModelContainerBase::setImageURL( const OUString& 
_imageurl )
 {
     m_sImageURL = _imageurl;
+    SolarMutexGuard aGuard;
+    Reference<XPropertySet> xThis(*this, UNO_QUERY);
+    xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_IMAGEURL), 
Any(_imageurl));
+
 }
 OUString SAL_CALL ControlModelContainerBase::getToolTip()
 {
diff --git a/toolkit/source/controls/tabpagemodel.cxx 
b/toolkit/source/controls/tabpagemodel.cxx
index cbf477e6bb86..360ca710256d 100644
--- a/toolkit/source/controls/tabpagemodel.cxx
+++ b/toolkit/source/controls/tabpagemodel.cxx
@@ -52,6 +52,7 @@ UnoControlTabPageModel::UnoControlTabPageModel( Reference< 
XComponentContext > c
     ImplRegisterProperty( BASEPROPERTY_SCROLLHEIGHT );
     ImplRegisterProperty( BASEPROPERTY_SCROLLTOP );
     ImplRegisterProperty( BASEPROPERTY_SCROLLLEFT );
+    ImplRegisterProperty( BASEPROPERTY_IMAGEURL );
 }
 
 OUString SAL_CALL UnoControlTabPageModel::getImplementationName()

Reply via email to