[chronojump] ForceSensor delete last test working



commit 07d69e73ee31d73d85eeb26179a91ccb36a22014
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Sep 12 15:36:50 2019 +0200

    ForceSensor delete last test working

 src/gui/chronojump.cs     | 11 ++++++++++-
 src/gui/forceSensor.cs    | 23 +++++++++++++++++++++++
 src/sqlite/forceSensor.cs | 35 +++++++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 1 deletion(-)
---
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 0b6e23e8..0cdd1991 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -5900,7 +5900,16 @@ LogB.Debug("mc finished 5");
         *  --------------------------------------------------------
         */
        
-       private void on_delete_last_test_clicked (object o, EventArgs args) {
+       private void on_delete_last_test_clicked (object o, EventArgs args)
+       {
+               if(current_menuitem_mode == Constants.Menuitem_modes.FORCESENSOR)
+               {
+                       //forceSensorDeleteTest(currentForceSensor.UniqueID);
+                       forceSensorDeleteTest();
+
+                       return;
+               }
+
                switch (currentEventType.Type) {
                        case EventType.Types.JUMP:
                                if(lastJumpIsSimple) {
diff --git a/src/gui/forceSensor.cs b/src/gui/forceSensor.cs
index 44db6dc0..858e777d 100644
--- a/src/gui/forceSensor.cs
+++ b/src/gui/forceSensor.cs
@@ -989,6 +989,7 @@ LogB.Information(" re C ");
                                                forceSensorDoGraphAI();
                                        }
                                        button_force_sensor_capture_recalculate.Sensitive = true;
+                                       button_delete_last_test.Sensitive = true;
 
                                        if( configChronojump.Exhibition &&
                                                        ( configChronojump.ExhibitionStationType == 
ExhibitionTest.testTypes.FORCE_ROPE ||
@@ -1013,6 +1014,7 @@ LogB.Information(" re C ");
                                button_force_sensor_image_save_rfd_manual.Sensitive = false;
                                checkbutton_force_sensor_ai_b.Sensitive = false;
                                button_force_sensor_capture_recalculate.Sensitive = false;
+                               button_delete_last_test.Sensitive = false;
                        }
                        else
                                event_execute_label_message.Text = "";
@@ -1489,6 +1491,27 @@ LogB.Information(" re R ");
                forceSensorDoRFDGraph();
        }
 
+       private void forceSensorDeleteTest()
+       {
+               if(preferences.askDeletion) {
+                       ConfirmWindow confirmWin = ConfirmWindow.Show(Catalog.GetString(
+                                               "Are you sure you want to delete this set?"), "", "");
+                       confirmWin.Button_accept.Clicked += new EventHandler(forceSensorDeleteTestAccepted);
+               } else
+                       forceSensorDeleteTestAccepted(new object(), new EventArgs());
+       }
+       private void forceSensorDeleteTestAccepted(object o, EventArgs args)
+       {
+               //int uniqueID = currentForceSensor.UniqueID;
+               SqliteForceSensor.DeleteSQLAndFile (false, currentForceSensor); //deletes also the .csv
+
+               //empty currentForceSensor (assign -1)
+               currentForceSensor = new ForceSensor();
+
+               //empty forceSensor GUI
+               button_delete_last_test.Sensitive = false;
+               button_force_sensor_capture_recalculate.Sensitive = false;
+       }
 
        void forceSensorDoRFDGraph()
        {
diff --git a/src/sqlite/forceSensor.cs b/src/sqlite/forceSensor.cs
index 19c5cc39..33969adf 100644
--- a/src/sqlite/forceSensor.cs
+++ b/src/sqlite/forceSensor.cs
@@ -101,6 +101,28 @@ class SqliteForceSensor : Sqlite
                        Sqlite.Close();
        }
 
+       /* right now unused
+       public static void DeleteSQLAndFile (bool dbconOpened, int uniqueID)
+       {
+               ForceSensor fs = (ForceSensor) Select (dbconOpened, uniqueID, -1, -1)[0];
+               DeleteSQLAndFile (dbconOpened, fs);
+       }
+       */
+       public static void DeleteSQLAndFile (bool dbconOpened, ForceSensor fs)
+       {
+               openIfNeeded(dbconOpened);
+
+               dbcmd.CommandText = "DELETE FROM " + table + " WHERE uniqueID = " + fs.UniqueID;
+
+               LogB.SQL(dbcmd.CommandText.ToString());
+               dbcmd.ExecuteNonQuery();
+
+               closeIfNeeded(dbconOpened);
+
+               //delete the file
+               Util.FileDelete(fs.FullURL);
+       }
+
        //SELECT forceSensor.*, forceSensorExercise.Name FROM forceSensor, forceSensorExercise WHERE 
forceSensor.exerciseID = forceSensorExercise.UniqueID ORDER BY forceSensor.uniqueID;
        public static ArrayList Select (bool dbconOpened, int uniqueID, int personID, int sessionID)
        {
@@ -368,6 +390,19 @@ class SqliteForceSensorExercise : Sqlite
                        Sqlite.Close();
        }
 
+       public static void Delete (bool dbconOpened, int uniqueID)
+       {
+               openIfNeeded(dbconOpened);
+
+               dbcmd.CommandText = "DELETE FROM " + table + " WHERE uniqueID = " + uniqueID;
+
+               LogB.SQL(dbcmd.CommandText.ToString());
+               dbcmd.ExecuteNonQuery();
+
+               closeIfNeeded(dbconOpened);
+       }
+
+
        public static ArrayList Select (bool dbconOpened, int uniqueID, bool onlyNames)
        {
                if(! dbconOpened)


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