From 954d7fc3bc867f0ba394687a8f7341e54e91e865 Mon Sep 17 00:00:00 2001 From: Lukasz Papierkowski Date: Wed, 12 Mar 2025 12:04:28 +0100 Subject: [PATCH] Lua: Add viewportMargins option for supported widgets Change-Id: If4d6110bd382d459f0e59adcb3159da0f83cea18 Reviewed-by: Eike Ziller Reviewed-by: Marcus Tillmanns --- src/libs/utils/layoutbuilder.cpp | 5 +++++ src/libs/utils/layoutbuilder.h | 1 + src/plugins/lua/bindings/gui.cpp | 7 +++++++ src/plugins/lua/meta/gui.lua | 1 + 4 files changed, 14 insertions(+) diff --git a/src/libs/utils/layoutbuilder.cpp b/src/libs/utils/layoutbuilder.cpp index 517e2803467..236c2db7ead 100644 --- a/src/libs/utils/layoutbuilder.cpp +++ b/src/libs/utils/layoutbuilder.cpp @@ -1134,6 +1134,11 @@ void MarkdownBrowser::setEnableCodeCopyButton(bool enable) access(this)->setEnableCodeCopyButton(enable); } +void MarkdownBrowser::setViewportMargins(int left, int top, int right, int bottom) +{ + access(this)->setMargins(QMargins(left, top, right, bottom)); +} + // Special If If::If( diff --git a/src/libs/utils/layoutbuilder.h b/src/libs/utils/layoutbuilder.h index 651166a4f0d..824f3904b27 100644 --- a/src/libs/utils/layoutbuilder.h +++ b/src/libs/utils/layoutbuilder.h @@ -460,6 +460,7 @@ public: void setMarkdown(const QString &); void setBasePath(const Utils::FilePath &); void setEnableCodeCopyButton(bool enable); + void setViewportMargins(int left, int top, int right, int bottom); }; // Special diff --git a/src/plugins/lua/bindings/gui.cpp b/src/plugins/lua/bindings/gui.cpp index 02fa73f7647..3d9e4a80a98 100644 --- a/src/plugins/lua/bindings/gui.cpp +++ b/src/plugins/lua/bindings/gui.cpp @@ -115,6 +115,7 @@ CREATE_HAS_FUNC(setFixedSize, QSize()) CREATE_HAS_FUNC(setVisible, bool()) CREATE_HAS_FUNC(setIcon, Utils::Icon()); CREATE_HAS_FUNC(setContentsMargins, int(), int(), int(), int()); +CREATE_HAS_FUNC(setViewportMargins, int(), int(), int(), int()); CREATE_HAS_FUNC(setCursor, Qt::CursorShape()) CREATE_HAS_FUNC(setMinimumWidth, int()); CREATE_HAS_FUNC(setEnableCodeCopyButton, bool()); @@ -128,6 +129,12 @@ void setProperties(std::unique_ptr &item, const sol::table &children, QObject item->setContentsMargins(margins->left(), margins->top(), margins->right(), margins->bottom()); } + if constexpr (has_setViewportMargins) { + sol::optional margins = children.get>("viewportMargins"sv); + if (margins) + item->setViewportMargins(margins->left(), margins->top(), margins->right(), margins->bottom()); + } + if constexpr (has_setCursor) { const auto cursor = children.get>("cursor"sv); if (cursor) diff --git a/src/plugins/lua/meta/gui.lua b/src/plugins/lua/meta/gui.lua index adfd7676df1..e74a4fe31c9 100644 --- a/src/plugins/lua/meta/gui.lua +++ b/src/plugins/lua/meta/gui.lua @@ -232,6 +232,7 @@ local markdownBrowser = {} ---@class (exact) MarkdownBrowserOptions : WidgetOptions ---@field enableCodeCopyButton? boolean Enable or disable the code copy button +---@field viewportMargins? integer[] Four integers representing left, top, right and bottom margins local markdownBrowserOptions = {} ---@param options MarkdownBrowserOptions