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()