[chronojump] On networks devices can be changed selecting checkbox on preferences



commit 9e85c42c68b40c98b68869474438153788aae585
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Jun 11 15:55:44 2019 +0200

    On networks devices can be changed selecting checkbox on preferences

 glade/preferences_win.glade | 67 +++++++++++++++++++++++++++++++++++++++++++--
 src/gui/chronojump.cs       |  6 ++++
 src/gui/encoder.cs          |  1 +
 src/gui/networks.cs         |  4 +++
 src/gui/preferences.cs      |  7 +++++
 src/preferences.cs          |  1 +
 6 files changed, 84 insertions(+), 2 deletions(-)
---
diff --git a/glade/preferences_win.glade b/glade/preferences_win.glade
index e80810e6..6d58b1f7 100644
--- a/glade/preferences_win.glade
+++ b/glade/preferences_win.glade
@@ -4440,6 +4440,69 @@ Other</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">8</property>
                 <property name="spacing">20</property>
+                <child>
+                  <widget class="GtkFrame" id="frame_networks">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">none</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment15">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox31">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="border_width">8</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox25">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <widget class="GtkCheckButton" id="check_networks_devices">
+                                    <property name="label">Allow to change devices</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="draw_indicator">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label87">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Networks</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
                 <child>
                   <widget class="GtkHBox" id="hbox20">
                     <property name="visible">True</property>
@@ -4637,7 +4700,7 @@ version:</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">0</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
@@ -4829,7 +4892,7 @@ version:</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </widget>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 5b017cb3..39b5c80c 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -3055,6 +3055,12 @@ public partial class ChronoJumpWindow
                        videoCapturePrepare(false); //if error, show message
                }
 
+               if(configChronojump.Compujump)
+               {
+                       viewport_chronopics.Sensitive = preferences.networksAllowChangeDevices;
+                       button_activate_chronopics_encoder.Sensitive = preferences.networksAllowChangeDevices;
+               }
+
                //change language works on windows. On Linux let's change the locale
                //if(UtilAll.IsWindows()) 
                //      languageChange();
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 6dce7a20..bca23d33 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -114,6 +114,7 @@ public partial class ChronoJumpWindow
        
        [Widget] Gtk.VPaned vpaned_encoder_main;
        [Widget] Gtk.VPaned vpaned_encoder_capture_video_and_set_graph;
+       [Widget] Gtk.Button button_activate_chronopics_encoder;
 
        [Widget] Gtk.Notebook notebook_encoder_sup;
        [Widget] Gtk.Notebook notebook_encoder_capture;
diff --git a/src/gui/networks.cs b/src/gui/networks.cs
index c68e1abb..ba90d5ee 100644
--- a/src/gui/networks.cs
+++ b/src/gui/networks.cs
@@ -152,6 +152,10 @@ public partial class ChronoJumpWindow
                        button_encoder_exercise_edit.Visible = false;
                        button_encoder_exercise_add.Visible = false;
 
+                       //on networks do not allow to change devices until preferences option is checked
+                       viewport_chronopics.Sensitive = false;
+                       button_activate_chronopics_encoder.Sensitive = false;
+
                        if(configChronojump.CompujumpStationMode != Constants.Menuitem_modes.UNDEFINED)
                        {
                                //select_menuitem_mode_toggled(configChronojump.CompujumpStationMode);
diff --git a/src/gui/preferences.cs b/src/gui/preferences.cs
index 56a89eea..6b4c3eb7 100644
--- a/src/gui/preferences.cs
+++ b/src/gui/preferences.cs
@@ -188,6 +188,8 @@ public class PreferencesWindow
        [Widget] Gtk.ToggleButton toggle_never_close;
        [Widget] Gtk.VBox vbox_version;
        [Widget] Gtk.Label label_progVersion;
+       [Widget] Gtk.Frame frame_networks;
+       [Widget] Gtk.CheckButton check_networks_devices;
 
 
        [Widget] Gtk.Button button_accept;
@@ -243,7 +245,9 @@ public class PreferencesWindow
                        PreferencesWindowBox.vbox_version.Visible = true;
                        PreferencesWindowBox.label_progVersion.Text = "<b>" + progVersion + "</b>";
                        PreferencesWindowBox.label_progVersion.UseMarkup = true;
+                       PreferencesWindowBox.check_networks_devices.Active = 
preferences.networksAllowChangeDevices;
                }
+               PreferencesWindowBox.frame_networks.Visible = compujump;
 
                if(menu_mode != Constants.Menuitem_modes.JUMPSSIMPLE && menu_mode != 
Constants.Menuitem_modes.JUMPSREACTIVE)
                        PreferencesWindowBox.notebook.GetNthPage(JUMPSPAGE).Hide();
@@ -1446,6 +1450,9 @@ public class PreferencesWindow
                        preferences.muteLogs = PreferencesWindowBox.checkbutton_mute_logs.Active;
                }
 
+               //this is not stored in SQL
+               preferences.networksAllowChangeDevices = PreferencesWindowBox.check_networks_devices.Active;
+
                if( preferences.weightStatsPercent != PreferencesWindowBox.radio_weight_percent.Active ) {
                        SqlitePreferences.Update("weightStatsPercent", 
PreferencesWindowBox.radio_weight_percent.Active.ToString(), true);
                        preferences.weightStatsPercent = PreferencesWindowBox.radio_weight_percent.Active;
diff --git a/src/preferences.cs b/src/preferences.cs
index 089b7838..38eb0f7f 100644
--- a/src/preferences.cs
+++ b/src/preferences.cs
@@ -89,6 +89,7 @@ public class Preferences
        public bool askDeletion;
        public int digitsNumber;
        public bool muteLogs;
+       public bool networksAllowChangeDevices; //managed on preferences;
 
        /*
         * these are NOT sent to preferences window


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