diff options
Diffstat (limited to 'gui/ThemeParser.cpp')
-rw-r--r-- | gui/ThemeParser.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gui/ThemeParser.cpp b/gui/ThemeParser.cpp index 889acfedba..6c5c900f50 100644 --- a/gui/ThemeParser.cpp +++ b/gui/ThemeParser.cpp @@ -501,9 +501,23 @@ bool ThemeParser::parserCallback_dialog(ParserNode *node) { bool ThemeParser::parserCallback_layout(ParserNode *node) { if (node->values["type"] == "vertical") - _theme->themeEval()->addLayout(GUI::ThemeLayout::kLayoutVertical, node->values["direction"] == "bottom2top"); + _theme->themeEval()->addLayout(GUI::ThemeLayout::kLayoutVertical, + node->values["direction"] == "bottom2top", + node->values["center"] == "true"); + else if (node->values["type"] == "horizontal") - _theme->themeEval()->addLayout(GUI::ThemeLayout::kLayoutHorizontal, node->values["direction"] == "right2left"); + _theme->themeEval()->addLayout(GUI::ThemeLayout::kLayoutHorizontal, + node->values["direction"] == "right2left", + node->values["center"] == "true"); + + if (node->values.contains("padding")) { + int paddingL, paddingR, paddingT, paddingB; + + if (!parseIntegerKey(node->values["padding"].c_str(), 4, &paddingL, &paddingR, &paddingT, &paddingB)) + return false; + + _theme->themeEval()->addPadding(paddingL, paddingR, paddingT, paddingB); + } return true; } |