MCPcopy Create free account
hub / github.com/MiniZinc/MiniZincIDE / saveConfig

Method saveConfig

MiniZincIDE/configwindow.cpp:267–303  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

265}
266
267QString ConfigWindow::saveConfig(int index)
268{
269 auto sc = configs[index];
270 auto oldSc = sc;
271 updateSolverConfig(configs[currentIndex()]);
272
273 if (sc->isBuiltin) {
274 // Must clone built-in configs
275 sc = new SolverConfiguration(*sc);
276 }
277
278 QString target = sc->paramFile;
279 if (sc->paramFile.isEmpty()) {
280 QFileInfo fi(sc->paramFile);
281 target = QFileDialog::getSaveFileName(this,
282 "Save configuration",
283 fi.canonicalFilePath(),
284 "Solver configuration files (*.mpc)");
285 }
286
287 if (target.isEmpty()) {
288 return "";
289 }
290
291 QFile f(target);
292 f.open(QFile::WriteOnly | QFile::Truncate);
293 f.write(sc->toJSON());
294 f.close();
295
296 oldSc->modified = false;
297 sc->modified = false;
298 sc->paramFile = target;
299 populateComboBox();
300
301 emit configSaved(target);
302 return target;
303}
304
305QString ConfigWindow::saveConfig()
306{

Calls 1

toJSONMethod · 0.45

Tested by

no test coverage detected