)", nullptr, nullptr, nullptr); // Ignore errors.
sqlite3_exec(db, R"(
- CREATE TABLE IF NOT EXISTS match (match INTEGER PRIMARY KEY, description VARCHAR, video_filename VARCHAR);
+ CREATE TABLE IF NOT EXISTS match (match INTEGER PRIMARY KEY, description VARCHAR, video_filename VARCHAR, gender_rule_a BOOLEAN DEFAULT false, gender_pull_rule BOOLEAN DEFAULT false);
)", nullptr, nullptr, nullptr); // Ignore errors.
sqlite3_exec(db, R"(
dialog.setWindowTitle("Open game");
dialog.setLabelText("Choose game to analyze:");
dialog.setComboBoxItems(items);
- dialog.setTextValue(items[items.size() - 2]);
+ if (items.size() >= 2) {
+ dialog.setTextValue(items[items.size() - 2]);
+ }
dialog.setOption(QInputDialog::UseListViewForComboBoxItems, true);
if (!dialog.exec()) {
return -1;
}
// Insert the new row into the database.
- ret = sqlite3_prepare_v2(db, "INSERT INTO match (description) VALUES (?)", -1, &stmt, 0);
+ ret = sqlite3_prepare_v2(db, "INSERT INTO match (description, gender_rule_a, gender_pull_rule) VALUES (?, COALESCE((SELECT gender_rule_a FROM match ORDER BY match DESC LIMIT 1),false), COALESCE((SELECT gender_pull_rule FROM match ORDER BY match DESC LIMIT 1),false))", -1, &stmt, 0);
if (ret != SQLITE_OK) {
fprintf(stderr, "INSERT prepare: %s\n", sqlite3_errmsg(db));
abort();
int ret = app.exec();
- // TODO: do this on-demand instead, from a menu
- export_to_json(db, "ultimate.json");
-
return ret;
}