vcl/inc/salvtables.hxx | 5 ++-- vcl/source/app/salvtables.cxx | 44 +++++++----------------------------------- 2 files changed, 11 insertions(+), 38 deletions(-)
New commits: commit 005d7e91a2f3694cbcec7da367be404795f1ab4c Author: Michael Weghorn <[email protected]> AuthorDate: Thu Dec 4 19:59:03 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 6 08:40:34 2025 +0100 tdf#169505 Drop one level of abstraction for ColorPickerDialog Now after Change-Id: Ie3b0d1090300e249e40e1479a40d01caabbdf573 Author: Michael Weghorn <[email protected]> Date: Thu Dec 4 19:37:17 2025 +0100 tdf#169505 Move ColorPickerDialog from cui to vcl , there is no more need for AbstractColorPickerDialog, but ColorPickerDialog can be used directly. Change-Id: I0048c3fbabc4331e4bceac36155051a09d471372 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195095 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index d24bc1959f6f..875eb912c9da 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -30,6 +30,7 @@ #include <vcl/toolkit/svlbitm.hxx> #include <o3tl/sorted_vector.hxx> #include "calendar.hxx" +#include "colorpicker.hxx" #include "iconview.hxx" #include "messagedialog.hxx" #include "verticaltabctrl.hxx" @@ -2312,10 +2313,10 @@ public: class SalInstanceColorChooserDialog : public SalInstanceDialog, public virtual weld::ColorChooserDialog { - ScopedVclPtr<AbstractColorPickerDialog> m_pAbstractColorPickerDialog; + std::unique_ptr<ColorPickerDialog> m_pColorPickerDialog; public: - SalInstanceColorChooserDialog(AbstractColorPickerDialog* pColorDialog); + SalInstanceColorChooserDialog(std::unique_ptr<ColorPickerDialog> pColorDialog); virtual ~SalInstanceColorChooserDialog() override; virtual void set_color(const Color& rColor) override; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 38b0501771ed..5f7abc62d94b 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -50,7 +50,6 @@ #include <utility> #include <tools/helpers.hxx> #include <vcl/abstdlg.hxx> -#include <vcl/abstdlgimpl.hxx> #include <vcl/builder.hxx> #include <vcl/dndlistenercontainer.hxx> #include <vcl/toolkit/combobox.hxx> @@ -6860,10 +6859,10 @@ void SalInstancePopover::resize_to_request() IMPL_LINK_NOARG(SalInstancePopover, PopupModeEndHdl, FloatingWindow*, void) { signal_closed(); } SalInstanceColorChooserDialog::SalInstanceColorChooserDialog( - AbstractColorPickerDialog* pColorDialog) - : SalInstanceDialog(dynamic_cast<SalInstanceDialog&>(*pColorDialog->GetDialog()).getDialog(), + std::unique_ptr<ColorPickerDialog> pColorDialog) + : SalInstanceDialog(dynamic_cast<SalInstanceDialog&>(*pColorDialog->getDialog()).getDialog(), nullptr, false) - , m_pAbstractColorPickerDialog(pColorDialog) + , m_pColorPickerDialog(std::move(pColorDialog)) { } @@ -6871,13 +6870,10 @@ SalInstanceColorChooserDialog::~SalInstanceColorChooserDialog() {} void SalInstanceColorChooserDialog::set_color(const Color& rColor) { - m_pAbstractColorPickerDialog->SetColor(rColor); + m_pColorPickerDialog->SetColor(rColor); } -Color SalInstanceColorChooserDialog::get_color() const -{ - return m_pAbstractColorPickerDialog->GetColor(); -} +Color SalInstanceColorChooserDialog::get_color() const { return m_pColorPickerDialog->GetColor(); } SalInstanceBuilder::SalInstanceBuilder(vcl::Window* pParent, std::u16string_view sUIRoot, const OUString& rUIFile, @@ -7354,36 +7350,12 @@ weld::MessageDialog* SalInstance::CreateMessageDialog(weld::Widget* pParent, return new SalInstanceMessageDialog(xMessageDialog, nullptr, true); } -namespace -{ -class AbstractColorPickerDialog_Impl - : public vcl::AbstractDialogImpl_Async<AbstractColorPickerDialog, ColorPickerDialog> -{ -public: - using AbstractDialogImpl_BASE::AbstractDialogImpl_BASE; - - virtual void SetColor(const Color& rColor) override { m_pDlg->SetColor(rColor); } - - virtual Color GetColor() const override { return m_pDlg->GetColor(); } - - virtual weld::Dialog* GetDialog() const override { return m_pDlg->getDialog(); } -}; - -VclPtr<AbstractColorPickerDialog> CreateColorPickerDialog(weld::Window* pParent, Color nColor, - vcl::ColorPickerMode eMode) -{ - std::unique_ptr<ColorPickerDialog> pColorPickerDialog( - std::make_unique<ColorPickerDialog>(pParent, nColor, eMode)); - return VclPtr<AbstractColorPickerDialog_Impl>::Create(std::move(pColorPickerDialog)); -} -} - std::unique_ptr<weld::ColorChooserDialog> SalInstance::CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode) { - VclPtr<AbstractColorPickerDialog> pDialog = CreateColorPickerDialog(pParent, COL_BLACK, eMode); - assert(pDialog); - return std::make_unique<SalInstanceColorChooserDialog>(pDialog); + std::unique_ptr<ColorPickerDialog> pColorPickerDialog + = std::make_unique<ColorPickerDialog>(pParent, COL_BLACK, eMode); + return std::make_unique<SalInstanceColorChooserDialog>(std::move(pColorPickerDialog)); } weld::Window* SalInstance::GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow)
