vcl/qt5/QtBuilder.cxx | 7 +++++++ vcl/qt5/QtInstanceWidget.cxx | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-)
New commits: commit 70503aed6a786aa3958c6f6b33ea92bd32e50bb8 Author: Michael Weghorn <[email protected]> AuthorDate: Tue Dec 10 17:51:14 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Dec 10 20:37:25 2024 +0100 tdf#130857 qt weld: Implement QtInstanceWidget::create_virtual_device Do the same as GtkInstanceWidget::create_virtual_device and don't use a separate alpha channel. Change-Id: Ie69024ee317f68dd927752b57b8a0b8d2840aede Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178252 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/qt5/QtInstanceWidget.cxx b/vcl/qt5/QtInstanceWidget.cxx index 29cb929cb80d..5054584f1681 100644 --- a/vcl/qt5/QtInstanceWidget.cxx +++ b/vcl/qt5/QtInstanceWidget.cxx @@ -530,8 +530,9 @@ OUString QtInstanceWidget::escape_ui_str(const OUString& rLabel) const VclPtr<VirtualDevice> QtInstanceWidget::create_virtual_device() const { - assert(false && "Not implemented yet"); - return nullptr; + VclPtr<VirtualDevice> xRet = VclPtr<VirtualDevice>::Create(); + xRet->SetBackground(COL_TRANSPARENT); + return xRet; } css::uno::Reference<css::datatransfer::dnd::XDropTarget> QtInstanceWidget::get_drop_target() commit 6ae8fd04fd9b849b509ced8ff5aa8af8b8260af2 Author: Michael Weghorn <[email protected]> AuthorDate: Tue Dec 10 17:48:03 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Dec 10 20:37:18 2024 +0100 tdf#130857 qt weld: Handle GtkViewPort child The GtkViewPort doc [1] says: > The GtkViewport widget acts as an adaptor class, implementing > scrollability for child widgets that lack their own scrolling > capabilities. Use GtkViewport to scroll child widgets such as GtkGrid, > GtkBox, and so on. For QScrollArea (which is created for "GtkScrolledWindow" objects in .ui files), no special adaptor class is needed. Therefore, just create a simple QWidget for "GtkViewport". In theory, that widget could even be removed from the hierarchy again later (e.g. in QtBuilder::tweakInsertedChild) if there's a reason to. [1] https://docs.gtk.org/gtk3/class.Viewport.html Change-Id: I4d4f5164e73c8077aa4c5c65c080ee9d0e4676d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178251 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/qt5/QtBuilder.cxx b/vcl/qt5/QtBuilder.cxx index 8ba77d82fbd5..98902bb9ab5e 100644 --- a/vcl/qt5/QtBuilder.cxx +++ b/vcl/qt5/QtBuilder.cxx @@ -318,6 +318,13 @@ QObject* QtBuilder::makeObject(QObject* pParent, std::u16string_view sName, std: // nothing else to do, return tree view parent for the widget return pTreeView; } + else if (sName == u"GtkViewport") + { + // GtkViewport is an adaptor to make GtkWidgets scrollable + // inside a GtkScrolledWindow; no equivalent needed for widgets + // inside QScrollArea - just create a simple QWidget + pObject = new QWidget(pParentWidget); + } else { SAL_WARN("vcl.qt", "Widget type not supported yet: "
