X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=events.cpp;h=92ca3271188154e13e914642836052cf7592da43;hb=756289c7b37c3e77d79b8a26096e678dccc943fa;hp=3b072ec54d31fddfdc8d6de2e983c81d0b04d513;hpb=60dc34deda46a19db619517a332bf37523ec1086;p=pkanalytics diff --git a/events.cpp b/events.cpp index 3b072ec..92ca327 100644 --- a/events.cpp +++ b/events.cpp @@ -38,11 +38,12 @@ QVariant EventsModel::data(const QModelIndex &index, int role) const if (role != Qt::DisplayRole) { return QVariant(); } + const Event &e = events[index.row()]; if (index.column() == 0) { - return QString::fromUtf8(format_timestamp(events[index.row()].t)); + return QString::fromUtf8(format_timestamp(e.t)); } else if (index.column() == 1) { - optional player_id = events[index.row()].player_id; - optional formation_id = events[index.row()].formation_id; + optional player_id = e.player_id; + optional formation_id = e.formation_id; if (player_id) { auto p_it = players.find(*player_id); const Player &p = p_it->second; @@ -51,6 +52,8 @@ QVariant EventsModel::data(const QModelIndex &index, int role) const auto f_it = formations.find(*formation_id); const Formation &f = f_it->second; return QString::fromUtf8(f.name); + } else if (e.type == "formation_offense" || e.type == "formation_defense") { + return "(None/unknown)"; } else { return QVariant(); } @@ -166,6 +169,7 @@ unsigned EventsModel::insert_event(uint64_t t, optional player_id, optional Event e; e.t = t; e.player_id = player_id; + e.formation_id = formation_id; e.type = type; events.insert(events.begin() + pos, e); @@ -456,9 +460,9 @@ void EventsModel::set_formation_at(uint64_t t, bool offense, unsigned formation) t = backdate_point; } if (offense) { - insert_event(t, nullopt, formation, "formation_offense"); + insert_event(t, nullopt, formation == 0 ? nullopt : optional{formation}, "formation_offense"); } else { - insert_event(t, nullopt, formation, "formation_defense"); + insert_event(t, nullopt, formation == 0 ? nullopt : optional{formation}, "formation_defense"); } }