]> git.sesse.net Git - pkanalytics/blobdiff - players.h
Make it possible to edit players from the UI.
[pkanalytics] / players.h
index bea45621faea0489e20c22055fc088ba6eb6cb5b..38606e57569b3c5b94fa8a47e1d42132771789ce 100644 (file)
--- a/players.h
+++ b/players.h
@@ -17,27 +17,39 @@ public:
        }
        int columnCount(const QModelIndex &column) const override
        {
-               return 2;
+               return 3;
        }
        QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
        QVariant data(const QModelIndex &index, int role) const override;
 
-       int get_player_id(unsigned row) const {
-               return players[row].player_id;
-       }
+       int get_player_id(unsigned row) const { return players[row].player_id; }
+       std::string get_player_number(unsigned row) const { return players[row].number; }
+       std::string get_player_name(unsigned row) const { return players[row].name; }
+       std::string get_player_gender(unsigned row) const { return players[row].gender; }
+
        std::string get_player_name_by_id(unsigned player_id);
+       std::string get_player_gender_by_id(unsigned player_id);
+       QModelIndex get_row_start_qt(unsigned row) const {
+               return createIndex(row, 0);
+       }
+       QModelIndex get_row_end_qt(unsigned row) const {
+               return createIndex(row, 2);
+       }
+
+       void edit_player(int player_id, const std::string &number, const std::string &gender, const std::string &name);
 
 private:
        struct Player {
                int player_id;
                std::string number;
                std::string name;
+               std::string gender;
        };
        std::vector<Player> players;
 
        sqlite3 *db;
 
-       void load_data();
+       std::vector<Player> load_data();
 };
 
 #endif  // !defined(_PLAYERS_H)