[chronojump] RunEncoder load/recalculate manage ok exercise



commit aef3974956a3584823d0b8abdc8552ca2de27356
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Sep 17 18:27:27 2019 +0200

    RunEncoder load/recalculate manage ok exercise

 src/gui/runEncoder.cs | 16 +++++++++++++++-
 src/runEncoder.cs     |  6 ++++++
 2 files changed, 21 insertions(+), 1 deletion(-)
---
diff --git a/src/gui/runEncoder.cs b/src/gui/runEncoder.cs
index cbb4adc6..8c234f86 100644
--- a/src/gui/runEncoder.cs
+++ b/src/gui/runEncoder.cs
@@ -61,6 +61,7 @@ public partial class ChronoJumpWindow
        static bool runEncoderProcessError;
        
        private RunEncoder currentRunEncoder;
+       private RunEncoderExercise currentRunEncoderExercise;
 
        static string lastRunEncoderFile = "";
        static string lastRunEncoderFullPath = "";
@@ -263,6 +264,12 @@ public partial class ChronoJumpWindow
                race_analyzer_spinbutton_temperature.Value = temp;
        }
 
+       private void assignCurrentRunEncoderExercise()
+       {
+               currentRunEncoderExercise = (RunEncoderExercise) SqliteRunEncoderExercise.Select (
+                                false, getExerciseIDFromAnyCombo(combo_run_encoder_exercise, 
runEncoderComboExercisesString, false), false)[0];
+       }
+
        //TODO: do all this with an "other" thread like in force sensor to allow connecting messages to be 
displayed
        private bool runEncoderCapturePre()
        {
@@ -550,6 +557,9 @@ public partial class ChronoJumpWindow
                lastRunEncoderFile = Util.RemoveExtension(re.Filename);
                lastRunEncoderFullPath = re.FullURL;
 
+               combo_run_encoder_exercise.Active = UtilGtk.ComboMakeActive(combo_run_encoder_exercise, 
Catalog.GetString(re.ExerciseName));
+               assignCurrentRunEncoderExercise();
+
                raceEncoderSetDevice(re.Device);
                raceEncoderSetDistanceAndTemp(re.Distance, re.Temperature);
                textview_race_analyzer_comment.Buffer.Text = re.Comments;
@@ -634,6 +644,8 @@ public partial class ChronoJumpWindow
                        return;
                }
 
+               assignCurrentRunEncoderExercise();
+
                raceEncoderReadWidgets();
                if(lastRunEncoderFullPath != null && lastRunEncoderFullPath != "")
                        raceEncoderCopyTempAndDoGraphs();
@@ -645,7 +657,9 @@ public partial class ChronoJumpWindow
                radio_mode_contacts_analyze.Active = true;
                button_run_encoder_recalculate.Sensitive = true;
 
-               //update SQL with device, distance, temperature, comments
+               //update SQL with exercise, device, distance, temperature, comments
+               currentRunEncoder.ExerciseID = currentRunEncoderExercise.UniqueID;
+               currentRunEncoder.ExerciseName = currentRunEncoderExercise.Name; //just in case
                currentRunEncoder.Device = raceEncoderGetDevice();
                currentRunEncoder.Distance = Convert.ToInt32(race_analyzer_spinbutton_distance.Value);
                currentRunEncoder.Temperature = Convert.ToInt32(race_analyzer_spinbutton_temperature.Value);
diff --git a/src/runEncoder.cs b/src/runEncoder.cs
index f9b9be8a..19dbd831 100644
--- a/src/runEncoder.cs
+++ b/src/runEncoder.cs
@@ -172,6 +172,7 @@ public class RunEncoder
        public int ExerciseID
        {
                get { return exerciseID; }
+               set { exerciseID = value; }
        }
        public Devices Device
        {
@@ -193,6 +194,11 @@ public class RunEncoder
                get { return comments; }
                set { comments = value; }
        }
+       public string ExerciseName
+       {
+               get { return exerciseName; }
+               set { exerciseName = value; }
+       }
 }
 
 public class RunEncoderExercise


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]