[chronojump] RunEncoder save comment, and fixed forceSensor save comment



commit c7803e037f29ed3eb425e68dff702230d8ad7890
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Sep 18 11:58:26 2019 +0200

    RunEncoder save comment, and fixed forceSensor save comment

 glade/app1.glade          | 38 ++++++++++++++++++++++++++++++--------
 src/forceSensor.cs        |  2 +-
 src/gui/runEncoder.cs     | 10 ++++++++++
 src/runEncoder.cs         |  5 +++++
 src/sqlite/forceSensor.cs |  5 +++--
 src/sqlite/runEncoder.cs  | 13 +++++++++++++
 6 files changed, 62 insertions(+), 11 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index 80be2221..e6318405 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -9130,7 +9130,7 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox301">
+                                                            <widget class="GtkHBox" 
id="hbox301_force_sensor">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">20</property>
@@ -9338,7 +9338,6 @@ Inverted values</property>
                                                             <property name="spacing">4</property>
                                                             <child>
                                                             <widget class="GtkTextView" 
id="textview_force_sensor_capture_comment">
-                                                            <property name="width_request">200</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             </widget>
@@ -10602,26 +10601,49 @@ Inverted values</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkFrame" 
id="frame_race_analyzer_comment">
+                                                            <widget class="GtkFrame" 
id="frame_race_analyzer_comments">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="label_xalign">0</property>
+                                                            <property 
name="label_yalign">0.20000000298023224</property>
                                                             <property name="shadow_type">in</property>
                                                             <child>
+                                                            <widget class="GtkHBox" id="hbox301">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
+                                                            <child>
                                                             <widget class="GtkTextView" 
id="textview_race_analyzer_comment">
-                                                            <property name="width_request">200</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label411">
+                                                            <widget class="GtkButton" 
id="button_race_analyzer_save_comment">
+                                                            <property name="label" translatable="yes">Save 
comment</property>
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Comments</property>
-                                                            <property name="use_markup">True</property>
+                                                            <property name="sensitive">False</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property name="border_width">2</property>
+                                                            <signal name="clicked" 
handler="on_button_race_analyzer_save_comment_clicked" swapped="no"/>
                                                             </widget>
                                                             <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            <packing>
                                                             <property name="type">label_item</property>
                                                             </packing>
                                                             </child>
diff --git a/src/forceSensor.cs b/src/forceSensor.cs
index 32973379..b8bb81ed 100644
--- a/src/forceSensor.cs
+++ b/src/forceSensor.cs
@@ -113,7 +113,7 @@ public class ForceSensor
 
        public void UpdateSQLJustComments()
        {
-               SqliteForceSensor.UpdateComments (false, comments); //SQL not opened
+               SqliteForceSensor.UpdateComments (false, uniqueID, comments); //SQL not opened
        }
 
        public string [] ToStringArray (int count)
diff --git a/src/gui/runEncoder.cs b/src/gui/runEncoder.cs
index 7e64a374..d88da04b 100644
--- a/src/gui/runEncoder.cs
+++ b/src/gui/runEncoder.cs
@@ -47,6 +47,7 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.RadioButton race_analyzer_radio_device_other; //resisted
        [Widget] Gtk.Image image_race_encoder_graph;
        [Widget] Gtk.Button button_run_encoder_recalculate;
+       [Widget] Gtk.Button button_race_analyzer_save_comment;
 
        int race_analyzer_distance;
        int race_analyzer_temperature;
@@ -210,6 +211,7 @@ public partial class ChronoJumpWindow
                raceEncoderReadWidgets();
                runEncoderButtonsSensitive(false);
                button_run_encoder_recalculate.Sensitive = false;
+               button_race_analyzer_save_comment.Sensitive = false;
 
                bool connected = runEncoderCapturePre();
                if(! connected)
@@ -569,6 +571,7 @@ public partial class ChronoJumpWindow
                raceEncoderCopyTempAndDoGraphs();
 
                button_run_encoder_recalculate.Sensitive = true;
+               button_race_analyzer_save_comment.Sensitive = true;
 
                event_execute_label_message.Text = "Loaded: " + Util.GetLastPartOfPath(re.Filename);
        }
@@ -605,6 +608,12 @@ public partial class ChronoJumpWindow
                currentRunEncoder.UpdateSQL(false);
        }
 
+       private void on_button_race_analyzer_save_comment_clicked (object o, EventArgs args)
+       {
+               currentRunEncoder.Comments = 
UtilGtk.TextViewGetCommentValidSQL(textview_race_analyzer_comment);
+               currentRunEncoder.UpdateSQLJustComments();
+       }
+
        private void raceEncoderCopyTempAndDoGraphs()
        {
                File.Copy(lastRunEncoderFullPath, RunEncoder.GetCSVFileName(), true); //can be overwritten
@@ -728,6 +737,7 @@ LogB.Information(" fc C finish");
                                        notebook_analyze.CurrentPage = 
Convert.ToInt32(notebook_analyze_pages.RACEENCODER);
                                        radio_mode_contacts_analyze.Active = true;
                                        button_run_encoder_recalculate.Sensitive = true;
+                                       button_race_analyzer_save_comment.Sensitive = true;
 
                                        /*
                                        fscPoints.InitRealWidthHeight();
diff --git a/src/runEncoder.cs b/src/runEncoder.cs
index 19dbd831..2321c183 100644
--- a/src/runEncoder.cs
+++ b/src/runEncoder.cs
@@ -114,6 +114,11 @@ public class RunEncoder
                        "\" WHERE uniqueID = " + uniqueID;
        }
 
+       public void UpdateSQLJustComments()
+       {
+               SqliteRunEncoder.UpdateComments (false, uniqueID, comments); //SQL not opened
+       }
+
        public string [] ToStringArray (int count)
        {
                int all = 8;
diff --git a/src/sqlite/forceSensor.cs b/src/sqlite/forceSensor.cs
index bd89b25c..f4a8a0a5 100644
--- a/src/sqlite/forceSensor.cs
+++ b/src/sqlite/forceSensor.cs
@@ -91,11 +91,12 @@ class SqliteForceSensor : Sqlite
                closeIfNeeded(dbconOpened);
        }
 
-       public static void UpdateComments (bool dbconOpened, string comments)
+       public static void UpdateComments (bool dbconOpened, int uniqueID, string comments)
        {
                openIfNeeded(dbconOpened);
 
-               dbcmd.CommandText = "UPDATE " + table + " SET comments = " + comments;
+               dbcmd.CommandText = "UPDATE " + table + " SET comments = \"" + comments + "\"" +
+                       " WHERE uniqueID = " + uniqueID;
 
                LogB.SQL(dbcmd.CommandText.ToString());
                dbcmd.ExecuteNonQuery();
diff --git a/src/sqlite/runEncoder.cs b/src/sqlite/runEncoder.cs
index ef129f00..d5f1ab15 100644
--- a/src/sqlite/runEncoder.cs
+++ b/src/sqlite/runEncoder.cs
@@ -89,6 +89,19 @@ class SqliteRunEncoder : Sqlite
                closeIfNeeded(dbconOpened);
        }
 
+       public static void UpdateComments (bool dbconOpened, int uniqueID, string comments)
+       {
+               openIfNeeded(dbconOpened);
+
+               dbcmd.CommandText = "UPDATE " + table + " SET comments = \"" + comments + "\"" +
+                       " WHERE uniqueID = " + uniqueID;
+
+               LogB.SQL(dbcmd.CommandText.ToString());
+               dbcmd.ExecuteNonQuery();
+
+               closeIfNeeded(dbconOpened);
+       }
+
        /* right now unused
        public static void DeleteSQLAndFile (bool dbconOpened, int uniqueID)
        {


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