From 93d6e7a6b8d135365a0f073098ba97f905d2c550 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 17 Aug 2016 23:50:51 +0200 Subject: options: support deferred writes when saving bundles The mapping window has 13 bundles total in use. Setting them all can take up to a large fraction of a second on some windows filesystems. Do a single config write instead. --- gui/mapping-window.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gui') diff --git a/gui/mapping-window.cpp b/gui/mapping-window.cpp index 96469e65..47e12c31 100644 --- a/gui/mapping-window.cpp +++ b/gui/mapping-window.cpp @@ -89,15 +89,18 @@ void MapWidget::closeEvent(QCloseEvent*) void MapWidget::save_dialog() { - s.b_map->save(); + mem settings_ = group::ini_file(); + QSettings& settings = *settings_; + + s.b_map->save_deferred(settings); for (int i = 0; i < 6; i++) { m.forall([&](Map& s) { - s.spline_main.save(); - s.spline_alt.save(); - s.opts.b_mapping_window->save(); + s.spline_main.save(settings); + s.spline_alt.save(settings); + s.opts.b_mapping_window->save_deferred(settings); }); } } -- cgit v1.2.3