+void EventsModel::delete_event(unsigned pos)
+{
+ int event_id = events[pos].event_id;
+
+ beginRemoveRows(QModelIndex(), pos, pos);
+ events.erase(events.begin() + pos);
+ endRemoveRows();
+
+ // Delete the row from the database.
+ sqlite3_stmt *stmt;
+ int ret = sqlite3_prepare_v2(db, "DELETE FROM event WHERE event=?", -1, &stmt, 0);
+ if (ret != SQLITE_OK) {
+ fprintf(stderr, "DELETE prepare: %s\n", sqlite3_errmsg(db));
+ abort();
+ }
+
+ sqlite3_bind_int64(stmt, 1, event_id);
+
+ ret = sqlite3_step(stmt);
+ if (ret == SQLITE_ROW) {
+ fprintf(stderr, "DELETE step: %s\n", sqlite3_errmsg(db));
+ abort();
+ }
+
+ ret = sqlite3_finalize(stmt);
+ if (ret != SQLITE_OK) {
+ fprintf(stderr, "DELETE finalize: %s\n", sqlite3_errmsg(db));
+ abort();
+ }
+}
+