[chronojump] Encoder exercise edit takes care on saved sets with that exercise
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Encoder exercise edit takes care on saved sets with that exercise
- Date: Tue, 20 Apr 2021 11:42:01 +0000 (UTC)
commit 9ac64ee1ddc18b5ca3f1f8ec0a6a9c9378c90423
Author: Xavier de Blas <xaviblas gmail com>
Date: Tue Apr 20 13:41:01 2021 +0200
Encoder exercise edit takes care on saved sets with that exercise
src/gui/app1/encoder.cs | 81 ++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 63 insertions(+), 18 deletions(-)
---
diff --git a/src/gui/app1/encoder.cs b/src/gui/app1/encoder.cs
index 873d2da0..5bc40d90 100644
--- a/src/gui/app1/encoder.cs
+++ b/src/gui/app1/encoder.cs
@@ -5090,14 +5090,6 @@ public partial class ChronoJumpWindow
button_encoder_exercise_actions_edit_do.Visible = ! adding;
button_encoder_exercise_actions_add_do.Visible = adding;
notebook_encoder_exercise.Page = 1;
-
- if(current_menuitem_mode == Constants.Menuitem_modes.POWERGRAVITATORY) {
- radio_encoder_exercise_gravitatory.Sensitive = true;
- radio_encoder_exercise_inertial.Sensitive = false;
- } else { // (current_menuitem_mode == Constants.Menuitem_modes.POWERINERTIAL)
- radio_encoder_exercise_gravitatory.Sensitive = false;
- radio_encoder_exercise_inertial.Sensitive = true;
- }
}
//info is now info and edit (all values can be changed), and detete (there's delete button)
@@ -5121,16 +5113,62 @@ public partial class ChronoJumpWindow
entry_encoder_exercise_resistance.Text = ex.ressistance;
entry_encoder_exercise_description.Text = ex.description;
- hbox_encoder_exercise_speed_1rm.Sensitive = true;
- if(ex.Type == Constants.EncoderGI.GRAVITATORY)
- radio_encoder_exercise_gravitatory.Active = true;
- else if(ex.Type == Constants.EncoderGI.INERTIAL)
+ //conditions for the radios
+ //1 select if there gravitatory sets done with this exercise
+ bool gravitatoryCaptured = (SqliteEncoder.Select (false, -1, -1, -1,
Constants.EncoderGI.GRAVITATORY,
+ ex.UniqueID, "all", EncoderSQL.Eccons.ALL, "",
+ false, true).Count > 0);
+ bool inertialCaptured = (SqliteEncoder.Select (false, -1, -1, -1,
Constants.EncoderGI.INERTIAL,
+ ex.UniqueID, "all", EncoderSQL.Eccons.ALL, "",
+ false, true).Count > 0);
+
+ // problems with exercise type and captured that have been done
+ // A) change the exercise to all if this exercise has gravitatory and inertial captures
+ if(gravitatoryCaptured && inertialCaptured)
{
- radio_encoder_exercise_inertial.Active = true;
- hbox_encoder_exercise_speed_1rm.Sensitive = false;
+ radio_encoder_exercise_gravitatory.Sensitive = false;
+ radio_encoder_exercise_inertial.Sensitive = false;
+ radio_encoder_exercise_all.Sensitive = true;
+
+ radio_encoder_exercise_all.Active = true;
}
- else
+ // B) if this exercise is gravitatory but has inertial captures, unsensitive gravitatory and
select all
+ else if(ex.Type == Constants.EncoderGI.GRAVITATORY && inertialCaptured)
+ {
+ radio_encoder_exercise_gravitatory.Sensitive = false;
+ radio_encoder_exercise_inertial.Sensitive = true;
+ radio_encoder_exercise_all.Sensitive = true;
+
+ radio_encoder_exercise_all.Active = true;
+ }
+ // C) if this exercise is inertial but has gravitatory captures, unsensitive inertial and
select all
+ else if(ex.Type == Constants.EncoderGI.INERTIAL && gravitatoryCaptured)
+ {
+ radio_encoder_exercise_gravitatory.Sensitive = true;
+ radio_encoder_exercise_inertial.Sensitive = false;
+ radio_encoder_exercise_all.Sensitive = true;
+
radio_encoder_exercise_all.Active = true;
+ }
+ // No problem
+ else {
+ if(current_menuitem_mode == Constants.Menuitem_modes.POWERGRAVITATORY) {
+ radio_encoder_exercise_gravitatory.Sensitive = true;
+ radio_encoder_exercise_inertial.Sensitive = false;
+ } else { // (current_menuitem_mode == Constants.Menuitem_modes.POWERINERTIAL)
+ radio_encoder_exercise_gravitatory.Sensitive = false;
+ radio_encoder_exercise_inertial.Sensitive = true;
+ }
+
+ if(ex.Type == Constants.EncoderGI.GRAVITATORY)
+ radio_encoder_exercise_gravitatory.Active = true;
+ else if(ex.Type == Constants.EncoderGI.INERTIAL)
+ radio_encoder_exercise_inertial.Active = true;
+ else
+ radio_encoder_exercise_all.Active = true;
+ }
+
+ hbox_encoder_exercise_speed_1rm.Sensitive = ! radio_encoder_exercise_inertial.Active;
}
void on_button_encoder_exercise_add_clicked (object o, EventArgs args)
@@ -5143,16 +5181,23 @@ public partial class ChronoJumpWindow
entry_encoder_exercise_resistance.Text = "";
entry_encoder_exercise_description.Text = "";
+ if(current_menuitem_mode == Constants.Menuitem_modes.POWERGRAVITATORY) {
+ radio_encoder_exercise_gravitatory.Sensitive = true;
+ radio_encoder_exercise_inertial.Sensitive = false;
+ } else { // (current_menuitem_mode == Constants.Menuitem_modes.POWERINERTIAL)
+ radio_encoder_exercise_gravitatory.Sensitive = false;
+ radio_encoder_exercise_inertial.Sensitive = true;
+ }
+
hbox_encoder_exercise_speed_1rm.Sensitive = true;
if(current_menuitem_mode == Constants.Menuitem_modes.POWERGRAVITATORY)
radio_encoder_exercise_gravitatory.Active = true;
else if(current_menuitem_mode == Constants.Menuitem_modes.POWERINERTIAL)
- {
radio_encoder_exercise_inertial.Active = true;
- hbox_encoder_exercise_speed_1rm.Sensitive = false;
- }
else //this could not happen
radio_encoder_exercise_all.Active = true;
+
+ hbox_encoder_exercise_speed_1rm.Sensitive = ! radio_encoder_exercise_inertial.Active;
}
private void on_radio_encoder_exercise_radios_toggled (object o, EventArgs args)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]