diff options
author | Fabien Proriol <fabien.proriol@kazoe.org> | 2025-05-22 17:10:35 +0200 |
---|---|---|
committer | Fabien Proriol <fabien.proriol@kazoe.org> | 2025-05-26 10:48:46 +0200 |
commit | 2feba4447a482840e21fa2d3b33f1a5da12d09b7 (patch) | |
tree | 83a790b1ae5b5f32f5964350856a160dbed52e05 /cmd/kzsettings.cpp | |
parent | c842548fef050ac5f8b56a5fcb4f579820247434 (diff) |
qt: Add Qt Wrapper library and QML module
Diffstat (limited to 'cmd/kzsettings.cpp')
-rw-r--r-- | cmd/kzsettings.cpp | 44 |
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; +} |