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.weghorn@posteo.de>
diff --git a/toolkit/source/awt/vclxtabpagecontainer.cxx b/toolkit/source/awt/vclxtabpagecontainer.cxx
index 80124c9..18e12cd 100644
--- a/toolkit/source/awt/vclxtabpagecontainer.cxx
+++ b/toolkit/source/awt/vclxtabpagecontainer.cxx
@@ -224,6 +224,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 677d000..9099c65 100644
--- a/toolkit/source/controls/controlmodelcontainerbase.cxx
+++ b/toolkit/source/controls/controlmodelcontainerbase.cxx
@@ -768,6 +768,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 c82e54e..cbfbebd 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()