return db;
}
-int get_match_id(sqlite3 *db, QWidget *parent)
+int get_match_id(sqlite3 *db, QWidget *parent, int requested_match)
{
QStringList items;
vector<int> ids;
+ bool requested_match_ok = false;
// Read the list of matches already in the database.
sqlite3_stmt *stmt;
char buf[256];
snprintf(buf, sizeof(buf), "%s (%d)", sqlite3_column_text(stmt, 1), sqlite3_column_int(stmt, 0));
ids.push_back(sqlite3_column_int(stmt, 0));
+ if (ids.back() == requested_match) {
+ requested_match_ok = true;
+ }
items.push_back(buf);
} else if (ret == SQLITE_DONE) {
break;
}
items.push_back("Add new…");
+ if (requested_match_ok) {
+ return requested_match;
+ }
+
QString chosen_str;
{
QInputDialog dialog(parent, Qt::WindowFlags());
QApplication app(argc, argv);
sqlite3 *db = open_db("ultimate.db");
- int match_id = get_match_id(db, nullptr);
+ int requested_match = -1;
+ if (argc >= 2) {
+ requested_match = atoi(argv[1]);
+ }
+
+ int match_id = get_match_id(db, nullptr, requested_match);
if (match_id <= 0) { // Cancel.
return 0;
}