summaryrefslogtreecommitdiff
path: root/Bootstrap.cxx
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2023-04-15 14:33:26 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2023-04-15 14:33:26 +0800
commit4b4f6220c1c223febb338c68a95e5e5791fecbca (patch)
tree8454ba4c001ec9bb4221591d8a7bb0930312c9c3 /Bootstrap.cxx
parent9760ed0fca36990ea69e68e6057266e27cba62a9 (diff)
Newly instantiated components check root mode
The ui.qml would be the root, when any attached property is set. Make sure that UI's mode is set by its implementation.
Diffstat (limited to 'Bootstrap.cxx')
-rw-r--r--Bootstrap.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/Bootstrap.cxx b/Bootstrap.cxx
index 38bbba5..e6b07ef 100644
--- a/Bootstrap.cxx
+++ b/Bootstrap.cxx
@@ -115,6 +115,18 @@ Bootstrap::Bootstrap(QObject *parent):
OVERRIDE_HX_FONT_SIZE("H6FontSize", h6FontSize);
toml_free(toml);
+
+ QObject *ancestor;
+ QObject *grandAncestor = parent->parent();
+ while ((ancestor = grandAncestor))
+ if (!(grandAncestor = ancestor->parent()))
+ for (auto child : ancestor->findChildren<QObject *>())
+ if (!strcmp(child->metaObject()->className(),
+ "Bootstrap")) {
+ bsMode = qobject_cast<Bootstrap *>
+ (child)->mode();
+ break;
+ }
}
Bootstrap *Bootstrap::qmlAttachedProperties(QObject *object)