1 /* 2 SPDX-FileCopyrightText: 2009 Mathias Kraus <k.hias@gmx.de> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #ifndef PLAYERSETTINGS_H 8 #define PLAYERSETTINGS_H 9 10 #include <QKeySequence> 11 #include <QString> 12 #include <QMap> 13 14 class QStringList; 15 16 class PlayerSettings 17 { 18 public: 19 PlayerSettings(); 20 ~PlayerSettings(); 21 22 const QStringList playerIDs() const; 23 const QString playerName(const QString& strPlayerID) const; 24 const QString playerDesktopFilePath(const QString& strPlayerID) const; 25 const QString playerGraphicsFile(const QString& strPlayerID) const; 26 bool enabled(const QString& strPlayerID) const; 27 const QKeySequence keyUp(const QString& strPlayerID) const; 28 const QKeySequence keyRight(const QString& strPlayerID) const; 29 const QKeySequence keyDown(const QString& strPlayerID) const; 30 const QKeySequence keyLeft(const QString& strPlayerID) const; 31 const QKeySequence keyPutBomb(const QString& strPlayerID) const; 32 33 void savePlayerSettings(); 34 void discardUnsavedSettings(); 35 void setPlayerName(const QString& strPlayerID, const QString& strName); 36 void setEnabled(const QString& strPlayerID, const bool enabled); 37 void setKeyUp(const QString& strPlayerID, const QKeySequence& key); 38 void setKeyRight(const QString& strPlayerID, const QKeySequence& key); 39 void setKeyDown(const QString& strPlayerID, const QKeySequence& key); 40 void setKeyLeft(const QString& strPlayerID, const QKeySequence& key); 41 void setKeyPutBomb(const QString& strPlayerID, const QKeySequence& key); 42 43 private: 44 struct StructPlayerSettings 45 { 46 QString strPlayerID; 47 QString strPlayerName; 48 QString strPlayerDesktopFilePath; 49 QString strPlayerGraphicsFile; 50 bool enabled; 51 QKeySequence keyUp; 52 QKeySequence keyRight; 53 QKeySequence keyDown; 54 QKeySequence keyLeft; 55 QKeySequence keyPutBomb; 56 }; 57 58 QMap <QString, StructPlayerSettings> m_playerSettings; 59 QMap <QString, StructPlayerSettings> m_pendingPlayerSettings; 60 }; 61 62 #endif 63