forked from eden-emu/eden
		
	Merge pull request #12852 from Calinou/multiplayer-color-player-counts
Color player counts in the multiplayer public lobby list
This commit is contained in:
		
						commit
						9e624db6cc
					
				
					 1 changed files with 21 additions and 4 deletions
				
			
		|  | @ -193,12 +193,29 @@ public: | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     QVariant data(int role) const override { |     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); |             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 { |     bool operator<(const QStandardItem& other) const override { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 liamwhite
						liamwhite