@@ -28,7 +28,7 @@ namespace MediaConch {
2828// SQLLiteUi
2929// ***************************************************************************
3030
31- int SQLLiteUi::ui_current_version = 13 ;
31+ int SQLLiteUi::ui_current_version = 14 ;
3232
3333// ***************************************************************************
3434// Constructor/Destructor
@@ -113,6 +113,7 @@ int SQLLiteUi::ui_update_table()
113113 UPDATE_UI_TABLE_FOR_VERSION (10 );
114114 UPDATE_UI_TABLE_FOR_VERSION (11 );
115115 UPDATE_UI_TABLE_FOR_VERSION (12 );
116+ // UPDATE_UI_TABLE_FOR_VERSION(13); nothing to do
116117
117118#undef UPDATE_UI_TABLE_FOR_VERSION
118119
@@ -848,6 +849,7 @@ int SQLLiteUi::ui_settings_update_table()
848849 // UPDATE_UI_SETTINGS_TABLE_FOR_VERSION(10); nothing to do
849850 // UPDATE_UI_SETTINGS_TABLE_FOR_VERSION(11); nothing to do
850851 // UPDATE_UI_SETTINGS_TABLE_FOR_VERSION(12); nothing to do
852+ UPDATE_UI_SETTINGS_TABLE_FOR_VERSION (13 );
851853
852854#undef UPDATE_UI_SETTINGS_TABLE_FOR_VERSION
853855
@@ -1086,6 +1088,64 @@ int SQLLiteUi::ui_settings_get_default_verbosity(int& verbosity, int user_id)
10861088 return 0 ;
10871089}
10881090
1091+ // ---------------------------------------------------------------------------
1092+ int SQLLiteUi::ui_settings_save_default_parsespeed (const std::string& parsespeed, int user_id)
1093+ {
1094+ if (ui_settings_check_user_id (user_id))
1095+ return -1 ;
1096+
1097+ std::stringstream create;
1098+
1099+ reports.clear ();
1100+ create << " UPDATE UI_SETTINGS " ;
1101+ create << " SET DEFAULT_PARSESPEED = ? " ;
1102+ create << " WHERE USER_ID = ?;" ;
1103+
1104+ query = create.str ();
1105+
1106+ const char * end = NULL ;
1107+ int ret = sqlite3_prepare_v2 (db, query.c_str (), query.length () + 1 , &stmt, &end);
1108+ if (ret != SQLITE_OK || !stmt || (end && *end))
1109+ return -1 ;
1110+
1111+ ret = sqlite3_bind_blob (stmt, 1 , parsespeed.c_str (), parsespeed.length (), SQLITE_STATIC );
1112+ if (ret != SQLITE_OK )
1113+ return -1 ;
1114+
1115+ ret = sqlite3_bind_int (stmt, 2 , user_id);
1116+ if (ret != SQLITE_OK )
1117+ return -1 ;
1118+
1119+ return execute ();
1120+ return 0 ;
1121+ }
1122+
1123+ // ---------------------------------------------------------------------------
1124+ int SQLLiteUi::ui_settings_get_default_parsespeed (std::string& parsespeed, int user_id)
1125+ {
1126+ if (ui_settings_check_user_id (user_id))
1127+ return -1 ;
1128+
1129+ reports.clear ();
1130+ query = " SELECT DEFAULT_PARSESPEED FROM UI_SETTINGS WHERE USER_ID = ?;" ;
1131+
1132+ const char * end = NULL ;
1133+ int ret = sqlite3_prepare_v2 (db, query.c_str (), query.length () + 1 , &stmt, &end);
1134+ if (ret != SQLITE_OK || !stmt || (end && *end))
1135+ return -1 ;
1136+
1137+ ret = sqlite3_bind_int (stmt, 1 , user_id);
1138+ if (ret != SQLITE_OK )
1139+ return -1 ;
1140+
1141+ if (execute () || reports.size () != 1 )
1142+ return -1 ;
1143+
1144+ if (reports[0 ].find (" DEFAULT_PARSESPEED" ) != reports[0 ].end ())
1145+ parsespeed = reports[0 ][" DEFAULT_PARSESPEED" ];
1146+ return 0 ;
1147+ }
1148+
10891149// ---------------------------------------------------------------------------
10901150int SQLLiteUi::ui_settings_save_last_policy (const std::string& policy, int user_id)
10911151{
@@ -1258,6 +1318,64 @@ int SQLLiteUi::ui_settings_get_last_verbosity(int& verbosity, int user_id)
12581318 return 0 ;
12591319}
12601320
1321+ // ---------------------------------------------------------------------------
1322+ int SQLLiteUi::ui_settings_save_last_parsespeed (const std::string& parsespeed, int user_id)
1323+ {
1324+ if (ui_settings_check_user_id (user_id))
1325+ return -1 ;
1326+
1327+ std::stringstream create;
1328+
1329+ reports.clear ();
1330+ create << " UPDATE UI_SETTINGS " ;
1331+ create << " SET LAST_PARSESPEED = ? " ;
1332+ create << " WHERE USER_ID = ?;" ;
1333+
1334+ query = create.str ();
1335+
1336+ const char * end = NULL ;
1337+ int ret = sqlite3_prepare_v2 (db, query.c_str (), query.length () + 1 , &stmt, &end);
1338+ if (ret != SQLITE_OK || !stmt || (end && *end))
1339+ return -1 ;
1340+
1341+ ret = sqlite3_bind_blob (stmt, 1 , parsespeed.c_str (), parsespeed.length (), SQLITE_STATIC );
1342+ if (ret != SQLITE_OK )
1343+ return -1 ;
1344+
1345+ ret = sqlite3_bind_int (stmt, 2 , user_id);
1346+ if (ret != SQLITE_OK )
1347+ return -1 ;
1348+
1349+ return execute ();
1350+ return 0 ;
1351+ }
1352+
1353+ // ---------------------------------------------------------------------------
1354+ int SQLLiteUi::ui_settings_get_last_parsespeed (std::string& parsespeed, int user_id)
1355+ {
1356+ if (ui_settings_check_user_id (user_id))
1357+ return -1 ;
1358+
1359+ reports.clear ();
1360+ query = " SELECT LAST_PARSESPEED FROM UI_SETTINGS WHERE USER_ID = ?;" ;
1361+
1362+ const char * end = NULL ;
1363+ int ret = sqlite3_prepare_v2 (db, query.c_str (), query.length () + 1 , &stmt, &end);
1364+ if (ret != SQLITE_OK || !stmt || (end && *end))
1365+ return -1 ;
1366+
1367+ ret = sqlite3_bind_int (stmt, 1 , user_id);
1368+ if (ret != SQLITE_OK )
1369+ return -1 ;
1370+
1371+ if (execute () || reports.size () != 1 )
1372+ return -1 ;
1373+
1374+ if (reports[0 ].find (" LAST_PARSESPEED" ) != reports[0 ].end ())
1375+ parsespeed = reports[0 ][" LAST_PARSESPEED" ];
1376+ return 0 ;
1377+ }
1378+
12611379// ---------------------------------------------------------------------------
12621380int SQLLiteUi::ui_settings_save_default_load_files_path (const std::string& load_path, int user_id)
12631381{
0 commit comments