X-Git-Url: https://git.dlugolecki.net.pl/?p=vlp.git;a=blobdiff_plain;f=src%2Fkernel%2FOptionsDialog.cpp;fp=src%2Fkernel%2FOptionsDialog.cpp;h=4e413cd596c2a20dd88cd8ebb3fd4cf7a3366197;hp=b7261cd639835eefce7dd81c7d50b738fcbfd0d9;hb=b176969d4b09abbb194e8bf49aeeb326b4250007;hpb=32aaa65caf501e87b2468acba3feceb62118dc23 diff --git a/src/kernel/OptionsDialog.cpp b/src/kernel/OptionsDialog.cpp index b7261cd..4e413cd 100644 --- a/src/kernel/OptionsDialog.cpp +++ b/src/kernel/OptionsDialog.cpp @@ -102,37 +102,21 @@ void OptionsDialog::saveConfig(QString fname) void OptionsDialog::saveConfig(const char * fname) { - config_t cfg; - config_setting_t *root; - config_setting_t *setting; - config_init(&cfg); - - root = config_root_setting(&cfg); - - setting = config_setting_add(root, "progdir", CONFIG_TYPE_STRING); - config_setting_set_string(setting, programsDirectory->text().toStdString().c_str()); - - setting = config_setting_add(root, "node_number", CONFIG_TYPE_INT); - config_setting_set_int(setting, nodeNumber->value()); - - setting = config_setting_add(root, "type", CONFIG_TYPE_STRING); - if (explicitConnectionMode->isChecked()) { - config_setting_set_string(setting, "explicit"); - - config_setting_t *hosts = NULL; - hosts = config_setting_add(root, "host", CONFIG_TYPE_ARRAY); - for(int i = 0; i < connections->count(); i++) { - setting = config_setting_add(hosts, NULL, CONFIG_TYPE_STRING); - config_setting_set_string(setting, connections->item(i)->text().toStdString().c_str()); - } - } else { - config_setting_set_string(setting, "register"); - } + loglan::vlp::Config config; - if (!config_write_file(&cfg, fname)) { - fprintf(stderr, "Error while writing to file: %s.\n", fname); + config.setProgramDir(programsDirectory->text().toStdString().c_str()); + config.setNodeNumber(nodeNumber->value()); + config.setConnectionType( + explicitConnectionMode->isChecked() ? EXPLICIT : REGISTER + ); + + std::vector hosts; + for(int i = 0; i < connections->count(); i++) { + hosts.push_back(connections->item(i)->text().toStdString()); } - config_destroy(&cfg); + config.setHosts(hosts); + + config.save(fname); } }