]> git.sesse.net Git - pkanalytics/blobdiff - players.cpp
Adjust the Poisson CI range, since we were frequently getting out of 0.25.
[pkanalytics] / players.cpp
index af33df0c91be2e439721e9c15970f3604e67ad87..0ed7d32edae845b1aaaaf8729ff4efacacbc026e 100644 (file)
@@ -22,6 +22,8 @@ QVariant PlayersModel::headerData(int section, Qt::Orientation orientation, int
                if (section == 0) {
                        return "#";
                } else if (section == 1) {
+                       return "";  // Gender
+               } else if (section == 2) {
                        return "Name";
                } else {
                        return QVariant();
@@ -33,12 +35,23 @@ QVariant PlayersModel::headerData(int section, Qt::Orientation orientation, int
 
 QVariant PlayersModel::data(const QModelIndex &index, int role) const
 {
+       if (role == Qt::TextAlignmentRole) {
+               if (index.column() == 0) {
+                       return (Qt::AlignHCenter | Qt::AlignVCenter).toInt();
+               } else if (index.column() == 1) {
+                       return (Qt::AlignHCenter | Qt::AlignVCenter).toInt();
+               } else {
+                       return (Qt::AlignLeft | Qt::AlignVCenter).toInt();
+               }
+       }
        if (role != Qt::DisplayRole) {
                return QVariant();
        }
        if (index.column() == 0) {
                return QString::fromUtf8(players[index.row()].number);
        } else if (index.column() == 1) {
+               return QString::fromUtf8(players[index.row()].gender);
+       } else if (index.column() == 2) {
                return QString::fromUtf8(players[index.row()].name);
        }
        return QVariant();
@@ -46,7 +59,7 @@ QVariant PlayersModel::data(const QModelIndex &index, int role) const
 
 string PlayersModel::get_player_name_by_id(unsigned player_id)
 {
-       auto it = find_if(players.begin(), players.end(), [player_id](const Player &p) { return p.player_id == player_id; });
+       auto it = find_if(players.begin(), players.end(), [player_id](const Player &p) { return p.player_id == int(player_id); });
        return it->name;
 }
 
@@ -56,7 +69,7 @@ void PlayersModel::load_data()
 
        // Read the players.
        sqlite3_stmt *stmt;
-       int ret = sqlite3_prepare_v2(db, "SELECT player, number, name FROM player ORDER BY (number+0), number", -1, &stmt, 0);
+       int ret = sqlite3_prepare_v2(db, "SELECT player, number, name, gender FROM player ORDER BY (number+0), number", -1, &stmt, 0);
        if (ret != SQLITE_OK) {
                fprintf(stderr, "SELECT prepare: %s\n", sqlite3_errmsg(db));
                abort();
@@ -67,7 +80,8 @@ void PlayersModel::load_data()
                        Player p;
                        p.player_id = sqlite3_column_int(stmt, 0);
                        p.number = (const char *)sqlite3_column_text(stmt, 1);
-                       p.name = (const char *) sqlite3_column_text(stmt, 2);
+                       p.name = (const char *)sqlite3_column_text(stmt, 2);
+                       p.gender = (const char *)sqlite3_column_text(stmt, 3);
                        players.push_back(p);
                } else if (ret == SQLITE_DONE) {
                        break;