include/vcl/jsdialog/executor.hxx | 1 include/vcl/weld/Popover.hxx | 39 ++++++++++++++++++++++++++ include/vcl/weld/weld.hxx | 21 -------------- sc/source/ui/cctrl/checklistmenu.cxx | 1 sc/source/ui/inc/FilterListBox.hxx | 1 sd/source/ui/annotations/AnnotationPopup.hxx | 1 sd/source/ui/annotations/annotationwindow.hxx | 1 sfx2/inc/commandpopup/CommandPopup.hxx | 1 svtools/source/control/ctrlbox.cxx | 1 svtools/source/control/toolbarmenu.cxx | 1 sw/source/core/inc/FormFieldButton.hxx | 1 sw/source/core/inc/contentcontrolbutton.hxx | 1 vcl/inc/qt5/QtInstancePopover.hxx | 2 + vcl/inc/salvtables.hxx | 1 vcl/qt5/QtInstanceBuilder.cxx | 1 vcl/unx/gtk3/gtkinst.cxx | 1 16 files changed, 54 insertions(+), 21 deletions(-)
New commits: commit c32fcaa866ebdf11edab53e08bc62562e520ef0f Author: Michael Weghorn <[email protected]> AuthorDate: Fri Feb 13 18:07:48 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Feb 14 00:50:32 2026 +0100 weld: Move weld::Popover to own header Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: I44028ff11aaa286bace727e4efdab361823fb702 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199360 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/include/vcl/jsdialog/executor.hxx b/include/vcl/jsdialog/executor.hxx index 9b3561c56679..04b6ca1d1ccc 100644 --- a/include/vcl/jsdialog/executor.hxx +++ b/include/vcl/jsdialog/executor.hxx @@ -19,6 +19,7 @@ #include <vcl/weld/Menu.hxx> #include <vcl/weld/MenuButton.hxx> #include <vcl/weld/Notebook.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/ScrolledWindow.hxx> #include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> diff --git a/include/vcl/weld/Popover.hxx b/include/vcl/weld/Popover.hxx new file mode 100644 index 000000000000..af7734e65ca4 --- /dev/null +++ b/include/vcl/weld/Popover.hxx @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#pragma once + +#include <vcl/dllapi.h> +#include <vcl/weld/weld.hxx> + +namespace weld +{ +class VCL_DLLPUBLIC Popover : virtual public Container +{ + friend class ::LOKTrigger; + +private: + Link<weld::Popover&, void> m_aCloseHdl; + +protected: + void signal_closed() { m_aCloseHdl.Call(*this); } + +public: + virtual void popup_at_rect(weld::Widget* pParent, const tools::Rectangle& rRect, + Placement ePlace = Placement::Under) + = 0; + virtual void popdown() = 0; + + virtual void resize_to_request() = 0; + + void connect_closed(const Link<weld::Popover&, void>& rLink) { m_aCloseHdl = rLink; } +}; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/include/vcl/weld/weld.hxx b/include/vcl/weld/weld.hxx index 4bf7601fcd56..c4285e20ab22 100644 --- a/include/vcl/weld/weld.hxx +++ b/include/vcl/weld/weld.hxx @@ -829,27 +829,6 @@ enum class Placement End }; -class VCL_DLLPUBLIC Popover : virtual public Container -{ - friend class ::LOKTrigger; - -private: - Link<weld::Popover&, void> m_aCloseHdl; - -protected: - void signal_closed() { m_aCloseHdl.Call(*this); } - -public: - virtual void popup_at_rect(weld::Widget* pParent, const tools::Rectangle& rRect, - Placement ePlace = Placement::Under) - = 0; - virtual void popdown() = 0; - - virtual void resize_to_request() = 0; - - void connect_closed(const Link<weld::Popover&, void>& rLink) { m_aCloseHdl = rLink; } -}; - class VCL_DLLPUBLIC SizeGroup { public: diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx index 9fb7ce93ed4c..79aa2739a02f 100644 --- a/sc/source/ui/cctrl/checklistmenu.cxx +++ b/sc/source/ui/cctrl/checklistmenu.cxx @@ -30,6 +30,7 @@ #include <vcl/svapp.hxx> #include <vcl/virdev.hxx> #include <vcl/weld/Menu.hxx> +#include <vcl/weld/Popover.hxx> #include <rtl/math.hxx> #include <unotools/charclass.hxx> #include <comphelper/lok.hxx> diff --git a/sc/source/ui/inc/FilterListBox.hxx b/sc/source/ui/inc/FilterListBox.hxx index dff9c3dea2c3..af3ace73be57 100644 --- a/sc/source/ui/inc/FilterListBox.hxx +++ b/sc/source/ui/inc/FilterListBox.hxx @@ -23,6 +23,7 @@ #include <tools/solar.h> #include <vcl/weld/Builder.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/sd/source/ui/annotations/AnnotationPopup.hxx b/sd/source/ui/annotations/AnnotationPopup.hxx index c083eb6a36a4..4956373eacf2 100644 --- a/sd/source/ui/annotations/AnnotationPopup.hxx +++ b/sd/source/ui/annotations/AnnotationPopup.hxx @@ -10,6 +10,7 @@ #pragma once #include <svx/annotation/IAnnotationPopup.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/weld.hxx> namespace sdr::annotation diff --git a/sd/source/ui/annotations/annotationwindow.hxx b/sd/source/ui/annotations/annotationwindow.hxx index 6bc031f7f64f..86315def3a97 100644 --- a/sd/source/ui/annotations/annotationwindow.hxx +++ b/sd/source/ui/annotations/annotationwindow.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/Builder.hxx> #include <vcl/weld/MenuButton.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/ScrolledWindow.hxx> #include <vcl/weld/weld.hxx> #include <tools/long.hxx> diff --git a/sfx2/inc/commandpopup/CommandPopup.hxx b/sfx2/inc/commandpopup/CommandPopup.hxx index a0329c29f325..c9f0f4faf56a 100644 --- a/sfx2/inc/commandpopup/CommandPopup.hxx +++ b/sfx2/inc/commandpopup/CommandPopup.hxx @@ -12,6 +12,7 @@ #include <utility> #include <vcl/weld/Builder.hxx> #include <vcl/weld/Entry.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx index 0d6a484fb950..6ce36d475ca9 100644 --- a/svtools/source/control/ctrlbox.cxx +++ b/svtools/source/control/ctrlbox.cxx @@ -36,6 +36,7 @@ #include <vcl/vclevent.hxx> #include <vcl/virdev.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weldutils.hxx> #include <rtl/math.hxx> diff --git a/svtools/source/control/toolbarmenu.cxx b/svtools/source/control/toolbarmenu.cxx index 5d5fc8d375a1..b7f8144a693f 100644 --- a/svtools/source/control/toolbarmenu.cxx +++ b/svtools/source/control/toolbarmenu.cxx @@ -24,6 +24,7 @@ #include <utility> #include <vcl/taskpanelist.hxx> #include <vcl/svapp.hxx> +#include <vcl/weld/Popover.hxx> #include <framestatuslistener.hxx> #include <svtools/toolbarmenu.hxx> diff --git a/sw/source/core/inc/FormFieldButton.hxx b/sw/source/core/inc/FormFieldButton.hxx index dce5c5872d6a..2157d141f819 100644 --- a/sw/source/core/inc/FormFieldButton.hxx +++ b/sw/source/core/inc/FormFieldButton.hxx @@ -11,6 +11,7 @@ #include <vcl/ctrl.hxx> #include <vcl/weld/Builder.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/weld.hxx> #include <swrect.hxx> diff --git a/sw/source/core/inc/contentcontrolbutton.hxx b/sw/source/core/inc/contentcontrolbutton.hxx index c38a0fed9eda..42590b82904e 100644 --- a/sw/source/core/inc/contentcontrolbutton.hxx +++ b/sw/source/core/inc/contentcontrolbutton.hxx @@ -11,6 +11,7 @@ #include <vcl/ctrl.hxx> #include <vcl/weld/Builder.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/weld.hxx> #include <swrect.hxx> diff --git a/vcl/inc/qt5/QtInstancePopover.hxx b/vcl/inc/qt5/QtInstancePopover.hxx index 8bcf1dfc865b..79fa69d2bc56 100644 --- a/vcl/inc/qt5/QtInstancePopover.hxx +++ b/vcl/inc/qt5/QtInstancePopover.hxx @@ -11,6 +11,8 @@ #include "QtInstanceContainer.hxx" +#include <vcl/weld/Popover.hxx> + class QtInstancePopover : public QtInstanceContainer, public virtual weld::Popover { Q_OBJECT diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index d0e32ee5ebe2..04f2eabd2d24 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -24,6 +24,7 @@ #include <vcl/weld/MessageDialog.hxx> #include <vcl/weld/MetricSpinButton.hxx> #include <vcl/weld/Notebook.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/Scrollbar.hxx> #include <vcl/weld/ScrolledWindow.hxx> #include <vcl/weld/SpinButton.hxx> diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index f74bb7e1d8b4..35e6624bd66f 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -48,6 +48,7 @@ #include <vcl/weld/MetricSpinButton.hxx> #include <vcl/weld/Notebook.hxx> #include <vcl/weld/Paned.hxx> +#include <vcl/weld/Popover.hxx> #include <vcl/weld/Scrollbar.hxx> #include <vcl/weld/ScrolledWindow.hxx> #include <vcl/weld/SpinButton.hxx> commit 23d369290f30feda78c13453eb0d099bde6703b4 Author: Michael Weghorn <[email protected]> AuthorDate: Fri Feb 13 15:46:09 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Feb 14 00:50:24 2026 +0100 tdf#130857 qt weld: Support Calc "Insert" -> "Table" dialog This means that native Qt widgets are used for that dialog now when using the qt5 or qt6 VCL plugin and starting LO with environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set. The dialog can be triggered like this: * start Calc * save the file as XLSX * close LibreOffice * open the previously saved file * "Insert" -> "Table..." Change-Id: If3c2436612395e62e62770fdce618ee713c8b8cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199353 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index 18c55da978ac..8ade7427be00 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -143,6 +143,7 @@ constexpr auto SUPPORTED_UI_FILES = frozen::make_unordered_set<std::u16string_vi u"modules/scalc/ui/condformatmanager.ui", u"modules/scalc/ui/conditionalformatdialog.ui", u"modules/scalc/ui/definedatabaserangedialog.ui", + u"modules/scalc/ui/definetablerangedialog.ui", u"modules/scalc/ui/deletecells.ui", u"modules/scalc/ui/deletecontents.ui", u"modules/scalc/ui/duplicaterecordsdlg.ui",
