[chronojump] Encoder exercise: Display help button on gravitatory/inertial config problems



commit 5ec3ea185b39a3bf18157c135300baa98494a558
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Apr 20 16:28:50 2021 +0200

    Encoder exercise: Display help button on gravitatory/inertial config problems

 glade/app1.glade        | 49 +++++++++++++++++++++++++++++++++++++------------
 src/gui/app1/encoder.cs | 22 ++++++++++++++++++++++
 src/gui/app1/icons.cs   |  2 ++
 3 files changed, 61 insertions(+), 12 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index 40cec88f..ea232cfd 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -25092,6 +25092,9 @@ Concentric</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -31259,6 +31262,18 @@ Concentric</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">6</property>
                                                             <child>
+                                                            <widget class="GtkLabel" 
id="label_video_encoder_tests_will_be_filmed">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">Tests 
will be filmed</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
                                                             <widget class="GtkHBox" 
id="hbox_video_encoder_capturing">
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">4</property>
@@ -31295,18 +31310,6 @@ Concentric</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="label_video_encoder_tests_will_be_filmed">
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" translatable="yes">Tests 
will be filmed</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
                                                             <widget class="GtkHBox" 
id="hbox_video_encoder_no_capturing">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
@@ -34297,6 +34300,25 @@ then click this button.</property>
                                                             <property name="position">3</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_radio_encoder_exercise_help">
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <signal name="clicked" 
handler="on_button_radio_encoder_exercise_help_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_button_radio_encoder_exercise_help">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">4</property>
+                                                            </packing>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="left_attach">1</property>
@@ -40319,6 +40341,9 @@ then click this button.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
diff --git a/src/gui/app1/encoder.cs b/src/gui/app1/encoder.cs
index 5bc40d90..98a48ca9 100644
--- a/src/gui/app1/encoder.cs
+++ b/src/gui/app1/encoder.cs
@@ -141,6 +141,7 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.RadioButton radio_encoder_exercise_gravitatory;
        [Widget] Gtk.RadioButton radio_encoder_exercise_inertial;
        [Widget] Gtk.RadioButton radio_encoder_exercise_all;
+       [Widget] Gtk.Button button_radio_encoder_exercise_help;
        [Widget] Gtk.SpinButton spin_encoder_exercise_displaced_body_weight;
        [Widget] Gtk.SpinButton spin_encoder_exercise_speed_1rm;
        [Widget] Gtk.HBox hbox_encoder_exercise_speed_1rm;
@@ -5122,6 +5123,9 @@ public partial class ChronoJumpWindow
                                ex.UniqueID, "all", EncoderSQL.Eccons.ALL, "",
                                false, true).Count > 0);
 
+               button_radio_encoder_exercise_help.Visible = false;
+               button_radio_encoder_exercise_help_message = "";
+
                // 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)
@@ -5131,6 +5135,9 @@ public partial class ChronoJumpWindow
                        radio_encoder_exercise_all.Sensitive = true;
 
                        radio_encoder_exercise_all.Active = true;
+
+                       button_radio_encoder_exercise_help.Visible = true;
+                       button_radio_encoder_exercise_help_message = Catalog.GetString("This exercise has 
been used on gravitatory and inertial sets.");
                }
                // B) if this exercise is gravitatory but has inertial captures, unsensitive gravitatory and 
select all
                else if(ex.Type == Constants.EncoderGI.GRAVITATORY && inertialCaptured)
@@ -5140,6 +5147,9 @@ public partial class ChronoJumpWindow
                        radio_encoder_exercise_all.Sensitive = true;
 
                        radio_encoder_exercise_all.Active = true;
+
+                       button_radio_encoder_exercise_help.Visible = true;
+                       button_radio_encoder_exercise_help_message = Catalog.GetString("This exercise has 
been used on inertial sets.");
                }
                // C) if this exercise is inertial but has gravitatory captures, unsensitive inertial and 
select all
                else if(ex.Type == Constants.EncoderGI.INERTIAL && gravitatoryCaptured)
@@ -5149,6 +5159,9 @@ public partial class ChronoJumpWindow
                        radio_encoder_exercise_all.Sensitive = true;
 
                        radio_encoder_exercise_all.Active = true;
+
+                       button_radio_encoder_exercise_help.Visible = true;
+                       button_radio_encoder_exercise_help_message = Catalog.GetString("This exercise has 
been used on gravitatory sets.");
                }
                // No problem
                else {
@@ -5171,6 +5184,12 @@ public partial class ChronoJumpWindow
                hbox_encoder_exercise_speed_1rm.Sensitive = ! radio_encoder_exercise_inertial.Active;
        }
 
+       private string button_radio_encoder_exercise_help_message;
+       private void on_button_radio_encoder_exercise_help_clicked (object o, EventArgs args)
+       {
+               new DialogMessage(Constants.MessageTypes.INFO, button_radio_encoder_exercise_help_message);
+       }
+
        void on_button_encoder_exercise_add_clicked (object o, EventArgs args) 
        {
                prepare_encoder_exercise_add_edit (true);
@@ -5198,6 +5217,9 @@ public partial class ChronoJumpWindow
                        radio_encoder_exercise_all.Active = true;
 
                hbox_encoder_exercise_speed_1rm.Sensitive = ! radio_encoder_exercise_inertial.Active;
+
+               button_radio_encoder_exercise_help.Visible = false;
+               button_radio_encoder_exercise_help_message = "";
        }
 
        private void on_radio_encoder_exercise_radios_toggled (object o, EventArgs args)
diff --git a/src/gui/app1/icons.cs b/src/gui/app1/icons.cs
index 68bd02a7..2c36e9ae 100644
--- a/src/gui/app1/icons.cs
+++ b/src/gui/app1/icons.cs
@@ -140,6 +140,7 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Image image_button_encoder_exercise_actions_cancel;
        [Widget] Gtk.Image image_button_encoder_exercise_actions_edit_do;
        [Widget] Gtk.Image image_button_encoder_exercise_actions_add_do;
+       [Widget] Gtk.Image image_button_radio_encoder_exercise_help;
        [Widget] Gtk.Image image_encoder_exercise_settings;
        [Widget] Gtk.Image image_encoder_exercise_close;
        [Widget] Gtk.Image image_encoder_capture_open;
@@ -308,6 +309,7 @@ public partial class ChronoJumpWindow
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_help.png");
                image_menu_help.Pixbuf = pixbuf;
                image_menu_help1.Pixbuf = pixbuf;
+               image_button_radio_encoder_exercise_help.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_book.png");
                image_menu_help_documents.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_keyboard.png");


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