The following commit has been merged in the master branch:
commit afd290475deb1fe41eb07092034d7bf735fc2535
Author: Andrei Zavada <[email protected]>
Date:   Mon Apr 22 18:17:59 2013 +0300

    in-/decrement scale individually with Ctrl, all msmts at once with 
Ctrl+Shift

diff --git a/src/ui/mw/measurements.cc b/src/ui/mw/measurements.cc
index 64ae161..9a77170 100644
--- a/src/ui/mw/measurements.cc
+++ b/src/ui/mw/measurements.cc
@@ -298,24 +298,27 @@ draw_timeline( cairo_t *cr) const
 
 void
 aghui::SExpDesignUI::
-modify_profile_scales( const GdkScrollDirection d)
+modify_active_profile_scale( const GdkScrollDirection d)
 {
-       switch ( d ) {
-       case GDK_SCROLL_DOWN:
-               profile_scale_psd /= 1.05;
-               profile_scale_swu /= 1.05;
-               profile_scale_mc  /= 1.05;
-           break;
-       case GDK_SCROLL_UP:
-               profile_scale_psd *= 1.05;
-               profile_scale_swu *= 1.05;
-               profile_scale_mc  *= 1.05;
-           break;
-       default:
-           break;
+       auto fac = (d == GDK_SCROLL_DOWN) ? 1/1.05 : 1.05;
+       switch ( display_profile_type ) {
+       case metrics::TType::psd: profile_scale_psd *= fac; break;
+       case metrics::TType::swu: profile_scale_swu *= fac; break;
+       case metrics::TType::mc : profile_scale_mc  *= fac; break;
+       default: break;
        }
 }
 
+void
+aghui::SExpDesignUI::
+modify_profile_scales( const GdkScrollDirection d)
+{
+       auto fac = (d == GDK_SCROLL_DOWN) ? 1/1.05 : 1.05;
+       profile_scale_psd *= fac;
+       profile_scale_swu *= fac;
+       profile_scale_mc  *= fac;
+}
+
 // Local Variables:
 // Mode: c++
 // indent-tabs-mode: 8
diff --git a/src/ui/mw/measurements_cb.cc b/src/ui/mw/measurements_cb.cc
index ceef0f9..7470f16 100644
--- a/src/ui/mw/measurements_cb.cc
+++ b/src/ui/mw/measurements_cb.cc
@@ -127,10 +127,15 @@ daSubjectTimeline_scroll_event_cb(
        auto& J = *(SExpDesignUI::SSubjectPresentation*)userdata;
        auto& ED = J._p._p;
 
-       if ( event->state & GDK_CONTROL_MASK ) {
+       if ( event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK) ) {
                ED.modify_profile_scales( event->direction);
                gtk_widget_queue_draw( (GtkWidget*)ED.cMeasurements);
                return TRUE;
+
+       } else if ( event->state & GDK_CONTROL_MASK ) {
+               ED.modify_active_profile_scale( event->direction);
+               gtk_widget_queue_draw( (GtkWidget*)ED.cMeasurements);
+               return TRUE;
        } else
                return FALSE;
 }
diff --git a/src/ui/mw/mw.hh b/src/ui/mw/mw.hh
index 38391b3..3aaa244 100644
--- a/src/ui/mw/mw.hh
+++ b/src/ui/mw/mw.hh
@@ -264,6 +264,7 @@ class SExpDesignUI
                profile_scale_swu,
                profile_scale_mc;
        double calculate_profile_scale();
+       void modify_active_profile_scale( GdkScrollDirection);
        void modify_profile_scales( GdkScrollDirection);
 
        bool    autoscale;

-- 
Sleep experiment manager

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to