[chronojump] Improvements on signal/curve management



commit 18a660793827e4b54c4a2427af6b85fa8bce30f7
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Mar 10 12:04:25 2015 +0100

    Improvements on signal/curve management

 src/gui/encoder.cs    |   29 ++++++++++++++---------------
 src/sqlite/encoder.cs |    2 +-
 2 files changed, 15 insertions(+), 16 deletions(-)
---
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 0302c3f..ac482e8 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -1026,23 +1026,22 @@ public partial class ChronoJumpWindow
                EncoderSQL eSQL = (EncoderSQL) SqliteEncoder.Select(dbconOpened, uniqueID, 0, 0, -1, "", 
EncoderSQL.Eccons.ALL, false, true)[0];
                //remove the file
                bool deletedOk = Util.FileDelete(eSQL.GetFullURL(false));       //don't convertPathToR
-               if(deletedOk)  {
-                       Sqlite.Delete(dbconOpened, Constants.EncoderTable, Convert.ToInt32(uniqueID));
-                       
-                       ArrayList escArray = SqliteEncoder.SelectSignalCurve(dbconOpened, 
-                                               -1, Convert.ToInt32(uniqueID),  //signal, curve
-                                               -1, -1);                        //msStart, msEnd
-                       SqliteEncoder.DeleteSignalCurveWithCurveID(dbconOpened, 
-                                       Convert.ToInt32(eSQL.uniqueID)); //delete by curveID on SignalCurve 
table
-                       //if deleted curve is from current signal, uncheck it in encoderCaptureCurves
-                       if(escArray.Count > 0) {
-                               EncoderSignalCurve esc = (EncoderSignalCurve) escArray[0];
-                               if(esc.signalID == Convert.ToInt32(encoderSignalUniqueID))
-                                       encoderCaptureSelectBySavedCurves(esc.msCentral, false);
-                       }
 
-                       updateUserCurvesLabelsAndCombo(dbconOpened);
+               Sqlite.Delete(dbconOpened, Constants.EncoderTable, Convert.ToInt32(uniqueID));
+
+               ArrayList escArray = SqliteEncoder.SelectSignalCurve(dbconOpened, 
+                               -1, Convert.ToInt32(uniqueID),  //signal, curve
+                               -1, -1);                        //msStart, msEnd
+               SqliteEncoder.DeleteSignalCurveWithCurveID(dbconOpened, 
+                               Convert.ToInt32(eSQL.uniqueID)); //delete by curveID on SignalCurve table
+               //if deleted curve is from current signal, uncheck it in encoderCaptureCurves
+               if(escArray.Count > 0) {
+                       EncoderSignalCurve esc = (EncoderSignalCurve) escArray[0];
+                       if(esc.signalID == Convert.ToInt32(encoderSignalUniqueID))
+                               encoderCaptureSelectBySavedCurves(esc.msCentral, false);
                }
+
+               updateUserCurvesLabelsAndCombo(dbconOpened);
        }
        
        
diff --git a/src/sqlite/encoder.cs b/src/sqlite/encoder.cs
index 3db3455..d3747cf 100644
--- a/src/sqlite/encoder.cs
+++ b/src/sqlite/encoder.cs
@@ -167,7 +167,7 @@ class SqliteEncoder : Sqlite
                                dbcmdTr.Transaction = tr;
        
                                foreach(EncoderSQL eSQL in data) {
-                                       if(eSQL.status != checkboxes[count]) {
+                                       if(count < checkboxes.Length && eSQL.status != checkboxes[count]) {
                                                eSQL.status = checkboxes[count];
 
                                                SqliteEncoder.Update(true, eSQL, dbcmdTr);


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