aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/ThemeParser.cpp')
-rw-r--r--gui/ThemeParser.cpp18
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;
}