Merge pull request #12852 from Calinou/multiplayer-color-player-counts
Color player counts in the multiplayer public lobby list
This commit is contained in:
		| @@ -193,12 +193,29 @@ public: | ||||
|     } | ||||
|  | ||||
|     QVariant data(int role) const override { | ||||
|         if (role != Qt::DisplayRole) { | ||||
|         switch (role) { | ||||
|         case Qt::DisplayRole: { | ||||
|             auto members = data(MemberListRole).toList(); | ||||
|             return QStringLiteral("%1 / %2 ") | ||||
|                 .arg(QString::number(members.size()), data(MaxPlayerRole).toString()); | ||||
|         } | ||||
|         case Qt::ForegroundRole: { | ||||
|             auto members = data(MemberListRole).toList(); | ||||
|             auto max_players = data(MaxPlayerRole).toInt(); | ||||
|             if (members.size() >= max_players) { | ||||
|                 return QBrush(QColor(255, 48, 32)); | ||||
|             } else if (members.size() == (max_players - 1)) { | ||||
|                 return QBrush(QColor(255, 140, 32)); | ||||
|             } else if (members.size() == 0) { | ||||
|                 return QBrush(QColor(128, 128, 128)); | ||||
|             } | ||||
|             // FIXME: How to return a value that tells Qt not to modify the | ||||
|             // text color from the default (as if Qt::ForegroundRole wasn't overridden)? | ||||
|             return QBrush(nullptr); | ||||
|         } | ||||
|         default: | ||||
|             return LobbyItem::data(role); | ||||
|         } | ||||
|         auto members = data(MemberListRole).toList(); | ||||
|         return QStringLiteral("%1 / %2 ") | ||||
|             .arg(QString::number(members.size()), data(MaxPlayerRole).toString()); | ||||
|     } | ||||
|  | ||||
|     bool operator<(const QStandardItem& other) const override { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user