[chronojump] EncoderConfiguration manage - SQL 80% gui 50%
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] EncoderConfiguration manage - SQL 80% gui 50%
- Date: Fri, 30 Dec 2016 15:46:30 +0000 (UTC)
commit 5616a101052a5837fba67d4b0e39a38b66879cbf
Author: Xavier de Blas <xaviblas gmail com>
Date: Fri Dec 30 16:25:10 2016 +0100
EncoderConfiguration manage - SQL 80% gui 50%
glade/encoder_configuration.glade | 290 ++++++++++++++++++++++++++++++++-----
src/constants.cs | 1 +
src/encoder.cs | 51 +++++++-
src/gui/encoder.cs | 5 +-
src/gui/encoderConfiguration.cs | 72 +++++++++-
src/sqlite/encoder.cs | 81 ++++++++++-
src/sqlite/main.cs | 11 ++-
7 files changed, 461 insertions(+), 50 deletions(-)
---
diff --git a/glade/encoder_configuration.glade b/glade/encoder_configuration.glade
index 42c63d3..d9c7555 100644
--- a/glade/encoder_configuration.glade
+++ b/glade/encoder_configuration.glade
@@ -229,12 +229,12 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkButton" id="button_load_save_show">
+ <widget class="GtkButton" id="button_manage_show">
<property name="height_request">80</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_button_load_save_show_clicked" swapped="no"/>
+ <signal name="clicked" handler="on_button_manage_show_clicked" swapped="no"/>
<child>
<widget class="GtkHBox" id="hbox9">
<property name="visible">True</property>
@@ -242,33 +242,10 @@
<property name="border_width">4</property>
<property name="spacing">10</property>
<child>
- <widget class="GtkVBox" id="vbox11">
+ <widget class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <child>
- <widget class="GtkLabel" id="label24">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Load</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="label27">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Save</property>
- </widget>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="label" translatable="yes">Manage</property>
</widget>
<packing>
<property name="expand">True</property>
@@ -1243,12 +1220,45 @@ Eg. value = 2, means person does twice force at half speed.</property>
<widget class="GtkVBox" id="vbox12">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">10</property>
<child>
- <widget class="GtkLabel" id="label33">
+ <widget class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Load configuration</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.69999998807907104</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <widget class="GtkHButtonBox" id="hbuttonbox3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">8</property>
+ <child>
+ <widget class="GtkButton" id="button_import">
+ <property name="label" translatable="yes">Import</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="on_button_import_clicked" swapped="no"/>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label27">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Import</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -1257,15 +1267,80 @@ Eg. value = 2, means person does twice force at half speed.</property>
</packing>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scr_treeview_load">
+ <widget class="GtkAlignment" id="alignment6">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="border_width">4</property>
- <property name="shadow_type">in</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">10</property>
+ <property name="bottom_padding">5</property>
<child>
- <widget class="GtkTreeView" id="treeview_load">
+ <widget class="GtkVBox" id="vbox11">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkLabel" id="label33">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Select</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkScrolledWindow" id="scr_treeview_select">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <widget class="GtkTreeView" id="treeview_select">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox12">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkButton" id="button_delete">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="on_button_delete_clicked" swapped="no"/>
+ <child>
+ <widget class="GtkImage" id="image_delete">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ </child>
+ </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>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</widget>
</child>
</widget>
@@ -1276,7 +1351,148 @@ Eg. value = 2, means person does twice force at half speed.</property>
</packing>
</child>
<child>
- <placeholder/>
+ <widget class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.69999998807907104</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <widget class="GtkVBox" id="vbox13">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">8</property>
+ <property name="spacing">8</property>
+ <child>
+ <widget class="GtkVBox" id="vbox14">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkLabel" id="label35">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Name</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkEntry" id="entry_save_name">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property name="secondary_icon_sensitive">True</property>
+ <signal name="changed" handler="on_entry_save_name_changed"
swapped="no"/>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox15">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkLabel" id="label36">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Description</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkEntry" id="entry_save_description">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="invisible_char_set">True</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property name="secondary_icon_sensitive">True</property>
+ <signal name="changed" handler="on_entry_save_description_changed"
swapped="no"/>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHButtonBox" id="hbuttonbox2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">20</property>
+ <child>
+ <widget class="GtkButton" id="button_save">
+ <property name="label" translatable="yes">Save</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="on_button_save_clicked" swapped="no"/>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label34">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Save</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">2</property>
+ </packing>
</child>
</widget>
</child>
diff --git a/src/constants.cs b/src/constants.cs
index 1dcd788..d7ee70a 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -136,6 +136,7 @@ public class Constants
public const string MultiChronopicTable = "multiChronopic";
public const string TempMultiChronopicTable = "tempMultiChronopic"; //TODO
public const string EncoderTable = "encoder";
+ public const string EncoderConfigurationTable = "encoderConfiguration";
public const string EncoderSignalCurveTable = "encoderSignalCurve";
public const string EncoderExerciseTable = "encoderExercise";
public const string Encoder1RMTable = "encoder1RM";
diff --git a/src/encoder.cs b/src/encoder.cs
index 6cf6bed..71e0637 100644
--- a/src/encoder.cs
+++ b/src/encoder.cs
@@ -1037,7 +1037,56 @@ public class EncoderBarsData {
~EncoderBarsData() {}
}
-public class EncoderConfiguration {
+public class EncoderConfigurationSQLObject
+{
+ public int uniqueID;
+ public string customName;
+ public EncoderConfiguration encoderConfiguration;
+ public string description;
+
+ public EncoderConfigurationSQLObject(int uniqueID, string customName,
+ EncoderConfiguration encoderConfiguration,
+ string description)
+ {
+ this.uniqueID = uniqueID;
+ this.customName = customName;
+ this.encoderConfiguration = encoderConfiguration;
+ this.description = description;
+ }
+
+ //converts encoderConfiguration string from SQL
+ public EncoderConfigurationSQLObject(int uniqueID, string customName,
+ string encoderConfigurationString,
+ string description)
+ {
+ string [] strFull = encoderConfigurationString.Split(new char[] {':'});
+ EncoderConfiguration econf = new EncoderConfiguration(
+ (Constants.EncoderConfigurationNames)
+ Enum.Parse(typeof(Constants.EncoderConfigurationNames), strFull[0]) );
+ econf.ReadParamsFromSQL(strFull);
+
+ this.uniqueID = uniqueID;
+ this.customName = customName;
+ this.encoderConfiguration = econf;
+ this.description = description;
+ }
+
+ public string ToSQLInsert()
+ {
+ string idStr = uniqueID.ToString();
+ if(idStr == "-1")
+ idStr = "NULL";
+
+ return idStr +
+ ", \"" + customName + "\"" +
+ ", \"" + encoderConfiguration.ToStringOutput(EncoderConfiguration.Outputs.SQL) +
"\"" +
+ ", \"" + description + "\"" +
+ ", \"\", \"\", \"\""; //future1, future2, future3
+ }
+}
+
+public class EncoderConfiguration
+{
public Constants.EncoderConfigurationNames name;
public Constants.EncoderType type;
public int position; //used to find values on the EncoderConfigurationList. Numeration changes on
every encoder and on not inertial/inertial
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index dc3a57e..05009eb 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -374,14 +374,15 @@ public partial class ChronoJumpWindow
- private void encoderInitializeStuff() {
+ private void encoderInitializeStuff()
+ {
encoder_pulsebar_capture.Fraction = 1;
encoder_pulsebar_capture.Text = "";
encoder_pulsebar_analyze.Fraction = 1;
encoder_pulsebar_analyze.Text = "";
//read from SQL
- encoderConfigurationCurrent = SqliteEncoder.LoadEncoderConfiguration();
+ encoderConfigurationCurrent = SqliteEncoder.LoadEncoderConfiguration(false);
encoderCaptureListStore = new Gtk.ListStore (typeof (EncoderCurve));
diff --git a/src/gui/encoderConfiguration.cs b/src/gui/encoderConfiguration.cs
index 011ed6a..ecfcfea 100644
--- a/src/gui/encoderConfiguration.cs
+++ b/src/gui/encoderConfiguration.cs
@@ -93,6 +93,13 @@ public class EncoderConfigurationWindow
[Widget] Gtk.Box vbox_select_encoder;
[Widget] Gtk.VSeparator vseparator;
[Widget] Gtk.Notebook notebook_side;
+ [Widget] Gtk.TreeView treeview_select;
+ [Widget] Gtk.Image image_delete;
+
+ [Widget] Gtk.Entry entry_save_name;
+ [Widget] Gtk.Button button_save;
+ [Widget] Gtk.Button button_delete;
+
[Widget] Gtk.SpinButton spin_im_weight_calcule;
[Widget] Gtk.SpinButton spin_im_length_calcule;
//[Widget] Gtk.SpinButton spin_im_duration_calcule;
@@ -188,7 +195,10 @@ public class EncoderConfigurationWindow
EncoderConfigurationWindowBox.alignment_options.Visible = false;
EncoderConfigurationWindowBox.vbox_inertia_calcule.Visible = false;
}
-
+
+ EncoderConfigurationWindowBox.createAndFillTreeView(
+ SqliteEncoder.SelectAllEncoderConfiguration(false, ! gravitatory));
+
EncoderConfigurationWindowBox.encoder_configuration.Show ();
return EncoderConfigurationWindowBox;
}
@@ -482,15 +492,15 @@ public class EncoderConfigurationWindow
* ------------------- side content stuff ----------------->
*/
- private enum sideModes { HIDDEN, LOADSAVE, CAPTUREINERTIAL }
+ private enum sideModes { HIDDEN, MANAGE, CAPTUREINERTIAL }
private sideModes sideMode = sideModes.HIDDEN;
- void on_button_load_save_show_clicked (object o, EventArgs args)
+ void on_button_manage_show_clicked (object o, EventArgs args)
{
- if(sideMode == sideModes.LOADSAVE)
+ if(sideMode == sideModes.MANAGE)
showHideSide(sideModes.HIDDEN);
else
- showHideSide(sideModes.LOADSAVE);
+ showHideSide(sideModes.MANAGE);
}
void on_button_encoder_capture_inertial_show_clicked (object o, EventArgs args)
{
@@ -517,7 +527,7 @@ public class EncoderConfigurationWindow
//change gui
vseparator.Visible = (sideMode != sideModes.HIDDEN);
- if(sideMode == sideModes.LOADSAVE)
+ if(sideMode == sideModes.MANAGE)
notebook_side.CurrentPage = 0;
else if(sideMode == sideModes.CAPTUREINERTIAL)
notebook_side.CurrentPage = 1;
@@ -544,6 +554,56 @@ public class EncoderConfigurationWindow
* <--------------- side content area / load-save ---->
*/
+ private void createAndFillTreeView(List<EncoderConfigurationSQLObject> list)
+ {
+ createTreeView();
+ TreeStore store = getStore();
+ treeview_select.Model = store;
+
+ foreach (EncoderConfigurationSQLObject econfSO in list)
+ store.AppendValues (new string[]{econfSO.customName, econfSO.description});
+
+ Pixbuf pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "stock_delete.png");
+ image_delete.Pixbuf = pixbuf;
+ }
+ private void createTreeView()
+ {
+ treeview_select.HeadersVisible=true;
+ int count = 0;
+ treeview_select.AppendColumn (Catalog.GetString ("Name"), new CellRendererText(), "text",
count++);
+ treeview_select.AppendColumn (Catalog.GetString ("Description"), new CellRendererText(),
"text", count++);
+ }
+ private TreeStore getStore()
+ {
+ return new TreeStore(typeof (string), typeof (string));
+ }
+
+
+ void on_entry_save_name_changed (object o, EventArgs args)
+ {
+ button_save.Sensitive = (entry_save_name.Text.ToString().Length > 0);
+
+ //TODO: button delete sensitivity depends on being on the treeview
+ }
+
+ void on_entry_save_description_changed (object o, EventArgs args)
+ {
+ }
+
+ void on_button_import_clicked (object o, EventArgs args)
+ {
+ }
+
+ void on_button_save_clicked (object o, EventArgs args)
+ {
+ //save_update when changing any value
+ //and when exiting with ok dialogMessage asking for save
+ }
+
+ void on_button_delete_clicked (object o, EventArgs args)
+ {
+ }
+
/*
* <--------------- end of side content area / load-save ----
*/
diff --git a/src/sqlite/encoder.cs b/src/sqlite/encoder.cs
index c107955..77f893c 100644
--- a/src/sqlite/encoder.cs
+++ b/src/sqlite/encoder.cs
@@ -1113,9 +1113,9 @@ class SqliteEncoder : Sqlite
*/
//called on startup to load last encoderConfiguration
- public static EncoderConfiguration LoadEncoderConfiguration()
+ public static EncoderConfiguration LoadEncoderConfiguration(bool dbconOpened)
{
- string ecStr = SqlitePreferences.Select("encoderConfiguration", false);
+ string ecStr = SqlitePreferences.Select("encoderConfiguration", dbconOpened);
//1.5.1 and previous don't store encoderConfiguration on SqlitePreferences
if(ecStr == null || ecStr.Length == 0 || ecStr == "0" || ecStr == "")
@@ -1133,5 +1133,80 @@ class SqliteEncoder : Sqlite
return ec;
}
-
+
+
+ /*
+ * EncoderConfiguration table
+ */
+
+ protected internal static void createTableEncoderConfiguration()
+ {
+ dbcmd.CommandText =
+ "CREATE TABLE " + Constants.EncoderConfigurationTable + " ( " +
+ "uniqueID INTEGER PRIMARY KEY, " +
+ "customName TEXT, " + //name given by the user
+ "encoderConfiguration TEXT, " + //text separated by ':'
+ "description TEXT, " +
+ "future1 TEXT, " +
+ "future2 TEXT, " +
+ "future3 TEXT )";
+ dbcmd.ExecuteNonQuery();
+
+ //on convert database sets the sqlite/preferences/encoderConfiguration as "default" encoder
configuration
+ EncoderConfiguration econfOnPreferences = LoadEncoderConfiguration(true);
+
+ InsertEncoderConfiguration(true,
+ new EncoderConfigurationSQLObject(
+ -1 , Catalog.GetString("Default"), econfOnPreferences, "")
+ );
+ }
+
+ public static void InsertEncoderConfiguration(bool dbconOpened, EncoderConfigurationSQLObject econfSO)
+ {
+ openIfNeeded(dbconOpened);
+
+ dbcmd.CommandText = "INSERT INTO " + Constants.EncoderConfigurationTable +
+ " (uniqueID, customName, encoderConfiguration, description, future1, future2,
future3)" +
+ " VALUES (" + econfSO.ToSQLInsert() + ")";
+ LogB.SQL(dbcmd.CommandText.ToString());
+ dbcmd.ExecuteNonQuery();
+
+ closeIfNeeded(dbconOpened);
+ }
+
+ public static List<EncoderConfigurationSQLObject> SelectAllEncoderConfiguration(bool dbconOpened,
bool inertial)
+ {
+ openIfNeeded(dbconOpened);
+
+ dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable;
+ LogB.SQL(dbcmd.CommandText.ToString());
+ dbcmd.ExecuteNonQuery();
+
+ List<EncoderConfigurationSQLObject> list = new List<EncoderConfigurationSQLObject>();
+ SqliteDataReader reader;
+ reader = dbcmd.ExecuteReader();
+ while(reader.Read())
+ {
+ string [] strFull = reader[2].ToString().Split(new char[] {':'});
+ EncoderConfiguration econf = new EncoderConfiguration(
+ (Constants.EncoderConfigurationNames)
+ Enum.Parse(typeof(Constants.EncoderConfigurationNames), strFull[0]) );
+ econf.ReadParamsFromSQL(strFull);
+
+ EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject(
+ Convert.ToInt32(reader[0].ToString()), //uniqueID
+ reader[1].ToString(), //customName
+ econf, //encoderConfiguration
+ reader[3].ToString() //description
+ );
+
+ if(inertial == econf.has_inertia)
+ list.Add(econfSO);
+ }
+
+ reader.Close();
+ closeIfNeeded(dbconOpened);
+
+ return list;
+ }
}
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index 66b93b1..5af9bae 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -123,7 +123,7 @@ class Sqlite
/*
* Important, change this if there's any update to database
*/
- static string lastChronojumpDatabaseVersion = "1.34";
+ static string lastChronojumpDatabaseVersion = "1.35";
public Sqlite() {
}
@@ -2002,6 +2002,13 @@ class Sqlite
currentVersion = updateVersion("1.34");
}
+ if(currentVersion == "1.34") {
+ LogB.SQL("Added encoderConfiguration table");
+
+ SqliteEncoder.createTableEncoderConfiguration();
+
+ currentVersion = updateVersion("1.35");
+ }
@@ -2141,6 +2148,7 @@ class Sqlite
SqliteEncoder.createTableEncoderExercise();
SqliteEncoder.initializeTableEncoderExercise();
SqliteEncoder.createTable1RM();
+ SqliteEncoder.createTableEncoderConfiguration();
//sports
creationRate ++;
@@ -2168,6 +2176,7 @@ class Sqlite
SqliteChronopicRegister.createTableChronopicRegister();
//changes [from - to - desc]
+ //1.34 - 1.35 Converted DB to 1.35 Added encoderConfiguration table
//1.33 - 1.34 Converted DB to 1.34 Added thresholdJumps, thresholdRuns, thresholdOther to
preferences
//1.32 - 1.33 Converted DB to 1.33 Added chronopicRegister table
//1.31 - 1.32 Converted DB to 1.32 encoderCaptureOptionsWin -> preferences
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]