From 6a28df861112ae4de4d901c6f1bfa49daffde4a7 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 29 Jan 2017 12:35:59 +0100 Subject: gui/mapping-window: adjust x_step in widget depending on zoom level --- gui/mapping-window.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'gui') diff --git a/gui/mapping-window.cpp b/gui/mapping-window.cpp index d34fcc48..7e5ad6e3 100644 --- a/gui/mapping-window.cpp +++ b/gui/mapping-window.cpp @@ -72,7 +72,8 @@ void MapWidget::load() if (altp) { - connect(qfcs[i].checkbox, &QCheckBox::toggled, + connect(&axis.opts.altp, + static_cast(&base_value::valueChanged), this, [&](bool f) -> void {qfc.setEnabled(f); qfc.force_redraw();}); qfc.setEnabled(qfcs[i].checkbox->isChecked()); @@ -80,13 +81,16 @@ void MapWidget::load() } connect(&axis.opts.clamp, static_cast(&base_value::valueChanged), - &qfc, [&conf, &qfc](int value) { conf.set_max_input(value); qfc.reload_spline(); }); - conf.set_max_input(axis.opts.clamp); + &qfc, [&conf, &qfc](int value) { + conf.set_max_input(value); + qfc.reload_spline(); + qfc.set_x_step(value + 1e-2 >= 90 ? 10 : 5); + }); + // force signal to avoid duplicating the slot's logic + axis.opts.clamp.valueChanged(axis.opts.clamp); if (qfcs[i].axis >= 3) - { qfcs[i].qfc->set_snap(1, 2.5); - } else qfcs[i].qfc->set_snap(.5, 1); -- cgit v1.2.3