diff options
author | Ilhan Yesil <ilhanyesil@gmx.de> | 2022-06-15 12:52:34 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2022-06-17 08:15:14 +0200 |
commit | 0f1837306ae5c2c2e10f256b872c46b0bfba00dd (patch) | |
tree | 495865bf49f88535936383cc174a8e4b2229889d /toolkit | |
parent | 0cea5d817434c5f7ccc8816f7f5e29a4ba95f8f0 (diff) |
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>
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/awt/vclxtabpagecontainer.cxx | 2 | ||||
-rw-r--r-- | toolkit/source/controls/controlmodelcontainerbase.cxx | 4 | ||||
-rw-r--r-- | toolkit/source/controls/tabpagemodel.cxx | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/toolkit/source/awt/vclxtabpagecontainer.cxx b/toolkit/source/awt/vclxtabpagecontainer.cxx index 80124c9de868..18e12cdab488 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 677d000f9e50..9099c65cc553 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 c82e54e417c6..cbfbebd78c51 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() |