summaryrefslogtreecommitdiff
path: root/cmd/kzsettings.cpp
diff options
context:
space:
mode:
authorFabien Proriol <fabien.proriol@kazoe.org>2025-05-22 17:10:35 +0200
committerFabien Proriol <fabien.proriol@kazoe.org>2025-05-26 10:48:46 +0200
commit2feba4447a482840e21fa2d3b33f1a5da12d09b7 (patch)
tree83a790b1ae5b5f32f5964350856a160dbed52e05 /cmd/kzsettings.cpp
parentc842548fef050ac5f8b56a5fcb4f579820247434 (diff)
qt: Add Qt Wrapper library and QML module
Diffstat (limited to 'cmd/kzsettings.cpp')
-rw-r--r--cmd/kzsettings.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/cmd/kzsettings.cpp b/cmd/kzsettings.cpp
new file mode 100644
index 0000000..2484e1d
--- /dev/null
+++ b/cmd/kzsettings.cpp
@@ -0,0 +1,44 @@
+#include <iostream>
+#include <kzsettings.h>
+
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+ KaZoe::KzSettings settings;
+
+ if(argc < 2)
+ {
+ std::cout << "Current settings:" << std::endl;
+
+ settings.forEach([](const KzSettingKey& key, const KzSettingValue& value) {
+ std::string head;
+ if(!key.first.empty())
+ {
+ head = "[" + key.first + "]";
+ }
+ std::cout << "> " << head << key.second << " = " << KaZoe::valueToStr(value) << std::endl;
+ });
+ }
+ else
+ {
+ std::string category;
+ std::string gkey = argv[1];
+ if(gkey.starts_with("["))
+ {
+ category = gkey.substr(1, gkey.find(']') - 1);
+ gkey = gkey.substr(gkey.find(']') + 1);
+ }
+ if(argc == 2)
+ {
+ std::cout << KaZoe::valueToStr(settings.get(gkey, category)) << std::endl;
+ }
+ else if(argc == 3)
+ {
+ std::string value = argv[2];
+ settings.set(gkey, KaZoe::makeValue(value), category);
+ }
+ }
+
+ return 0;
+}