include/vcl/toolkit/svlbitm.hxx | 14 +++++----- vcl/source/app/salvtables.cxx | 4 +-- vcl/source/treelist/svlbitm.cxx | 48 ++++++++++++------------------------ vcl/source/treelist/treelistbox.cxx | 4 +-- 4 files changed, 28 insertions(+), 42 deletions(-)
New commits: commit a697539819386b56df0ea89b8202ffc2910b470b Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Feb 21 11:53:06 2025 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Feb 21 16:49:17 2025 +0100 vcl: Merge SvLBoxButtonData_Impl into SvLBoxButtonData Change-Id: Icde3ef5effd893ade779002514f7a4132c9b2390 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181990 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/include/vcl/toolkit/svlbitm.hxx b/include/vcl/toolkit/svlbitm.hxx index bb480ff53701..87ac3c9ee88b 100644 --- a/include/vcl/toolkit/svlbitm.hxx +++ b/include/vcl/toolkit/svlbitm.hxx @@ -57,18 +57,20 @@ namespace o3tl template<> struct typed_flags<SvItemStateFlags> : is_typed_flags<SvItemStateFlags, 0x0f> {}; } -struct SvLBoxButtonData_Impl; - class SvLBoxButtonData { private: Link<SvLBoxButtonData*,void> aLink; tools::Long nWidth; tools::Long nHeight; - std::unique_ptr<SvLBoxButtonData_Impl> pImpl; bool bDataOk; std::vector<Image> aBmps; // indices s. constants BMP_... + SvTreeListEntry* m_pEntry; + SvLBoxButton* m_pBox; + bool m_bDefaultImages; + bool m_bShowRadioButton; + void SetWidthAndHeight(); public: // include creating default images (CheckBox or RadioButton) diff --git a/vcl/source/treelist/svlbitm.cxx b/vcl/source/treelist/svlbitm.cxx index 8fb88f9feeb1..13b8d6d8be53 100644 --- a/vcl/source/treelist/svlbitm.cxx +++ b/vcl/source/treelist/svlbitm.cxx @@ -28,26 +28,19 @@ #include <vcl/salnativewidgets.hxx> #include <vcl/settings.hxx> -struct SvLBoxButtonData_Impl -{ - SvTreeListEntry* pEntry; - SvLBoxButton* pBox; - bool bDefaultImages; - bool bShowRadioButton; - - SvLBoxButtonData_Impl() : pEntry(nullptr), pBox(nullptr), bDefaultImages(false), bShowRadioButton(false) {} -}; - SvLBoxButtonData::SvLBoxButtonData(const Control& rControlForSettings, bool _bRadioBtn) - : pImpl( new SvLBoxButtonData_Impl ) + : m_pEntry(nullptr) + , m_pBox(nullptr) + , m_bDefaultImages(false) + , m_bShowRadioButton(false) { nWidth = nHeight = 0; aBmps.resize(int(SvBmp::HITRISTATE)+1); bDataOk = false; - pImpl->bDefaultImages = true; - pImpl->bShowRadioButton = _bRadioBtn; + m_bDefaultImages = true; + m_bShowRadioButton = _bRadioBtn; SetDefaultImages(rControlForSettings); } @@ -91,8 +84,8 @@ void SvLBoxButtonData::SetWidthAndHeight() void SvLBoxButtonData::StoreButtonState(SvTreeListEntry* pActEntry, SvLBoxButton* pActBox) { - pImpl->pEntry = pActEntry; - pImpl->pBox = pActBox; + m_pEntry = pActEntry; + m_pBox = pActBox; } SvButtonState SvLBoxButtonData::ConvertToButtonState( SvItemStateFlags nItemFlags ) @@ -115,21 +108,19 @@ SvButtonState SvLBoxButtonData::ConvertToButtonState( SvItemStateFlags nItemFlag SvTreeListEntry* SvLBoxButtonData::GetActEntry() const { - assert(pImpl && "-SvLBoxButtonData::GetActEntry(): don't use me that way!"); - return pImpl->pEntry; + return m_pEntry; } SvLBoxButton* SvLBoxButtonData::GetActBox() const { - assert(pImpl && "-SvLBoxButtonData::GetActBox(): don't use me that way!"); - return pImpl->pBox; + return m_pBox; } void SvLBoxButtonData::SetDefaultImages(const Control& rCtrl) { const AllSettings& rSettings = rCtrl.GetSettings(); - if ( pImpl->bShowRadioButton ) + if (m_bShowRadioButton) { SetImage(SvBmp::UNCHECKED, RadioButton::GetRadioImage( rSettings, DrawButtonFlags::Default ) ); SetImage(SvBmp::CHECKED, RadioButton::GetRadioImage( rSettings, DrawButtonFlags::Checked ) ); @@ -151,11 +142,11 @@ void SvLBoxButtonData::SetDefaultImages(const Control& rCtrl) bool SvLBoxButtonData::HasDefaultImages() const { - return pImpl->bDefaultImages; + return m_bDefaultImages; } bool SvLBoxButtonData::IsRadio() const { - return pImpl->bShowRadioButton; + return m_bShowRadioButton; } // *************************************************************** commit ffe3ac6192f952a0604aafdd1a0f93004026b948 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Feb 21 11:44:56 2025 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Feb 21 16:49:11 2025 +0100 vcl: Pass control by ref to SvLBoxButtonData::SetDefaultImages and in the SvLBoxButtonData ctor. Drop the (unused) fallback to application settings. Change-Id: I3275551ef20c1d982b99c19573f8da09d0f46acc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181989 Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/include/vcl/toolkit/svlbitm.hxx b/include/vcl/toolkit/svlbitm.hxx index 698dca970bd9..bb480ff53701 100644 --- a/include/vcl/toolkit/svlbitm.hxx +++ b/include/vcl/toolkit/svlbitm.hxx @@ -72,7 +72,7 @@ private: void SetWidthAndHeight(); public: // include creating default images (CheckBox or RadioButton) - SvLBoxButtonData( const Control* pControlForSettings, bool _bRadioBtn ); + SvLBoxButtonData(const Control& rControlForSettings, bool _bRadioBtn); ~SvLBoxButtonData(); @@ -93,9 +93,8 @@ public: void SetImage(SvBmp nIndex, const Image& aImage) { aBmps[static_cast<int>(nIndex)] = aImage; } Image& GetImage(SvBmp nIndex) { return aBmps[static_cast<int>(nIndex)]; } - void SetDefaultImages( const Control* pControlForSettings ); + void SetDefaultImages(const Control& rControlForSettings); // set images according to the color scheme of the Control - // pControlForSettings == NULL: settings are taken from Application bool HasDefaultImages() const; }; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 172f889ccfec..4d6647c9bce0 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3861,8 +3861,8 @@ SalInstanceTreeView::SalInstanceTreeView(SvTabListBox* pTreeView, SalInstanceBui bool bTakeOwnership) : SalInstanceWidget(pTreeView, pBuilder, bTakeOwnership) , m_xTreeView(pTreeView) - , m_aCheckButtonData(pTreeView, false) - , m_aRadioButtonData(pTreeView, true) + , m_aCheckButtonData(*pTreeView, false) + , m_aRadioButtonData(*pTreeView, true) , m_bTogglesAsRadio(false) , m_nSortColumn(-1) { diff --git a/vcl/source/treelist/svlbitm.cxx b/vcl/source/treelist/svlbitm.cxx index 82214e3f8ff9..8fb88f9feeb1 100644 --- a/vcl/source/treelist/svlbitm.cxx +++ b/vcl/source/treelist/svlbitm.cxx @@ -38,7 +38,7 @@ struct SvLBoxButtonData_Impl SvLBoxButtonData_Impl() : pEntry(nullptr), pBox(nullptr), bDefaultImages(false), bShowRadioButton(false) {} }; -SvLBoxButtonData::SvLBoxButtonData( const Control* pControlForSettings, bool _bRadioBtn ) +SvLBoxButtonData::SvLBoxButtonData(const Control& rControlForSettings, bool _bRadioBtn) : pImpl( new SvLBoxButtonData_Impl ) { nWidth = nHeight = 0; @@ -49,7 +49,7 @@ SvLBoxButtonData::SvLBoxButtonData( const Control* pControlForSettings, bool _bR pImpl->bDefaultImages = true; pImpl->bShowRadioButton = _bRadioBtn; - SetDefaultImages(pControlForSettings); + SetDefaultImages(rControlForSettings); } SvLBoxButtonData::~SvLBoxButtonData() @@ -125,9 +125,9 @@ SvLBoxButton* SvLBoxButtonData::GetActBox() const return pImpl->pBox; } -void SvLBoxButtonData::SetDefaultImages( const Control* pCtrl ) +void SvLBoxButtonData::SetDefaultImages(const Control& rCtrl) { - const AllSettings& rSettings = pCtrl? pCtrl->GetSettings() : Application::GetSettings(); + const AllSettings& rSettings = rCtrl.GetSettings(); if ( pImpl->bShowRadioButton ) { diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index 5dd1dff72688..fa58641c6bfe 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -3435,7 +3435,7 @@ void SvTreeListBox::ApplySettings(vcl::RenderContext& rRenderContext) // always try to re-create default-SvLBoxButtonData if (pCheckButtonData && pCheckButtonData->HasDefaultImages()) - pCheckButtonData->SetDefaultImages(this); + pCheckButtonData->SetDefaultImages(*this); } void SvTreeListBox::InitSettings() @@ -3452,7 +3452,7 @@ void SvTreeListBox::InitSettings() // always try to re-create default-SvLBoxButtonData if( pCheckButtonData && pCheckButtonData->HasDefaultImages() ) - pCheckButtonData->SetDefaultImages(this); + pCheckButtonData->SetDefaultImages(*this); } css::uno::Reference< XAccessible > SvTreeListBox::CreateAccessible() commit 8b794cfbe3d4b3429f5a5e5128947f95444f82be Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Feb 21 11:36:46 2025 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Feb 21 16:49:05 2025 +0100 vcl: Merge SvLBoxButtonData::InitData into ctor Change-Id: Ia6634d886943264fd197e5234278463b9cacbdc7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181988 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/include/vcl/toolkit/svlbitm.hxx b/include/vcl/toolkit/svlbitm.hxx index b4001287d012..698dca970bd9 100644 --- a/include/vcl/toolkit/svlbitm.hxx +++ b/include/vcl/toolkit/svlbitm.hxx @@ -70,7 +70,6 @@ private: std::vector<Image> aBmps; // indices s. constants BMP_... void SetWidthAndHeight(); - void InitData( bool _bRadioBtn, const Control* pControlForSettings ); public: // include creating default images (CheckBox or RadioButton) SvLBoxButtonData( const Control* pControlForSettings, bool _bRadioBtn ); diff --git a/vcl/source/treelist/svlbitm.cxx b/vcl/source/treelist/svlbitm.cxx index 26b3da45476e..82214e3f8ff9 100644 --- a/vcl/source/treelist/svlbitm.cxx +++ b/vcl/source/treelist/svlbitm.cxx @@ -38,7 +38,8 @@ struct SvLBoxButtonData_Impl SvLBoxButtonData_Impl() : pEntry(nullptr), pBox(nullptr), bDefaultImages(false), bShowRadioButton(false) {} }; -void SvLBoxButtonData::InitData( bool _bRadioBtn, const Control* pCtrl ) +SvLBoxButtonData::SvLBoxButtonData( const Control* pControlForSettings, bool _bRadioBtn ) + : pImpl( new SvLBoxButtonData_Impl ) { nWidth = nHeight = 0; @@ -48,13 +49,7 @@ void SvLBoxButtonData::InitData( bool _bRadioBtn, const Control* pCtrl ) pImpl->bDefaultImages = true; pImpl->bShowRadioButton = _bRadioBtn; - SetDefaultImages( pCtrl ); -} - -SvLBoxButtonData::SvLBoxButtonData( const Control* pControlForSettings, bool _bRadioBtn ) - : pImpl( new SvLBoxButtonData_Impl ) -{ - InitData( _bRadioBtn, pControlForSettings ); + SetDefaultImages(pControlForSettings); } SvLBoxButtonData::~SvLBoxButtonData()