From 57701c90c21109a966cf14c223461dc115930033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Sat, 8 Apr 2023 08:59:52 +0800 Subject: Macro for appending colours --- Bootstrap.cxx | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/Bootstrap.cxx b/Bootstrap.cxx index 7183cb7..5d6a2ce 100644 --- a/Bootstrap.cxx +++ b/Bootstrap.cxx @@ -1,6 +1,16 @@ #include "tomlc99/toml.h" #include "Bootstrap.hxx" +#define APPEND_COLORS(A, B) \ + colors = toml_array_in(bootstrap, A);\ + if (colors)\ + for (int i = 0; ; i++) {\ + auto color = toml_string_at(colors, i);\ + if (!color.ok) break;\ + B.append(QColor{color.u.s});\ + free(color.u.s);\ + } + Bootstrap::Bootstrap(QObject *parent): QObject{parent}, bsMode{Light}, @@ -23,32 +33,10 @@ Bootstrap::Bootstrap(QObject *parent): auto mode = toml_int_in(bootstrap, "Mode"); if (mode.ok) bsMode = static_cast(mode.u.i); - auto colors = toml_array_in(bootstrap, "BodyColors"); - if (colors) - for (int i = 0; ; i++) { - auto color = toml_string_at(colors, i); - if (!color.ok) break; - bodyColors.append(QColor{color.u.s}); - free(color.u.s); - } - - colors = toml_array_in(bootstrap, "BodyBgs"); - if (colors) - for (int i = 0; ; i++) { - auto color = toml_string_at(colors, i); - if (!color.ok) break; - bodyBgs.append(QColor{color.u.s}); - free(color.u.s); - } - - colors = toml_array_in(bootstrap, "BorderColors"); - if (colors) - for (int i = 0; ; i++) { - auto color = toml_string_at(colors, i); - if (!color.ok) break; - borderColors.append(QColor{color.u.s}); - free(color.u.s); - } + toml_array_t *colors; + APPEND_COLORS("BodyColors", bodyColors); + APPEND_COLORS("BodyBgs", bodyBgs); + APPEND_COLORS("BorderColors", borderColors); toml_free(toml); } -- cgit v1.2.3