mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Moved the password icon to the room name.
Also added a dark mode lock icon as well (and fixed a small bug preventing the lock icon from showing up)
This commit is contained in:
		
							parent
							
								
									aa391ed60d
								
							
						
					
					
						commit
						3be7aa2cfc
					
				
					 4 changed files with 17 additions and 31 deletions
				
			
		|  | @ -119,8 +119,8 @@ void Lobby::OnJoinRoom(const QModelIndex& index) { | |||
|     } | ||||
| 
 | ||||
|     // Get a password to pass if the room is password protected
 | ||||
|     QModelIndex password_index = proxy->index(index.row(), Column::PASSWORD); | ||||
|     bool has_password = proxy->data(password_index, LobbyItemPassword::PasswordRole).toBool(); | ||||
|     QModelIndex password_index = proxy->index(index.row(), Column::ROOM_NAME); | ||||
|     bool has_password = proxy->data(password_index, LobbyItemName::PasswordRole).toBool(); | ||||
|     const std::string password = has_password ? PasswordPrompt().toStdString() : ""; | ||||
|     if (has_password && password.empty()) { | ||||
|         return; | ||||
|  | @ -161,7 +161,7 @@ void Lobby::OnStateChanged(const Network::RoomMember::State& state) { | |||
| void Lobby::ResetModel() { | ||||
|     model->clear(); | ||||
|     model->insertColumns(0, Column::TOTAL); | ||||
|     model->setHeaderData(Column::PASSWORD, Qt::Horizontal, tr("Password"), Qt::DisplayRole); | ||||
|     model->setHeaderData(Column::EXPAND, Qt::Horizontal, "", Qt::DisplayRole); | ||||
|     model->setHeaderData(Column::ROOM_NAME, Qt::Horizontal, tr("Room Name"), Qt::DisplayRole); | ||||
|     model->setHeaderData(Column::GAME_NAME, Qt::Horizontal, tr("Preferred Game"), Qt::DisplayRole); | ||||
|     model->setHeaderData(Column::HOST, Qt::Horizontal, tr("Host"), Qt::DisplayRole); | ||||
|  | @ -200,10 +200,10 @@ void Lobby::OnRefreshLobby() { | |||
|             members.append(var); | ||||
|         } | ||||
| 
 | ||||
|         auto first_item = new LobbyItemPassword(room.has_password); | ||||
|         auto first_item = new LobbyItem(); | ||||
|         auto row = QList<QStandardItem*>({ | ||||
|             first_item, | ||||
|             new LobbyItemName(QString::fromStdString(room.name)), | ||||
|             new LobbyItemName(room.has_password, QString::fromStdString(room.name)), | ||||
|             new LobbyItemGame(room.preferred_game_id, QString::fromStdString(room.preferred_game), | ||||
|                               smdh_icon), | ||||
|             new LobbyItemHost(QString::fromStdString(room.owner), QString::fromStdString(room.ip), | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| 
 | ||||
| namespace Column { | ||||
| enum List { | ||||
|     PASSWORD, | ||||
|     EXPAND, | ||||
|     ROOM_NAME, | ||||
|     GAME_NAME, | ||||
|     HOST, | ||||
|  | @ -28,43 +28,28 @@ public: | |||
|     virtual ~LobbyItem() override {} | ||||
| }; | ||||
| 
 | ||||
| class LobbyItemPassword : public LobbyItem { | ||||
| class LobbyItemName : public LobbyItem { | ||||
| public: | ||||
|     static const int PasswordRole = Qt::UserRole + 1; | ||||
|     static const int NameRole = Qt::UserRole + 1; | ||||
|     static const int PasswordRole = Qt::UserRole + 2; | ||||
| 
 | ||||
|     LobbyItemPassword() = default; | ||||
|     explicit LobbyItemPassword(const bool has_password) : LobbyItem() { | ||||
|     LobbyItemName() = default; | ||||
|     explicit LobbyItemName(bool has_password, QString name) : LobbyItem() { | ||||
|         setData(name, NameRole); | ||||
|         setData(has_password, PasswordRole); | ||||
|     } | ||||
| 
 | ||||
|     QVariant data(int role) const override { | ||||
|         if (role != Qt::DecorationRole) { | ||||
|             return LobbyItem::data(role); | ||||
|         if (role == Qt::DecorationRole) { | ||||
|             bool has_password = data(PasswordRole).toBool(); | ||||
|             return has_password ? QIcon::fromTheme("lock").pixmap(16) : QIcon(); | ||||
|         } | ||||
|         bool has_password = data(PasswordRole).toBool(); | ||||
|         return has_password ? QIcon(":/icons/lock.png") : QIcon(); | ||||
|     } | ||||
| 
 | ||||
|     bool operator<(const QStandardItem& other) const override { | ||||
|         return data(PasswordRole).toBool() < other.data(PasswordRole).toBool(); | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| class LobbyItemName : public LobbyItem { | ||||
| public: | ||||
|     static const int NameRole = Qt::UserRole + 1; | ||||
| 
 | ||||
|     LobbyItemName() = default; | ||||
|     explicit LobbyItemName(QString name) : LobbyItem() { | ||||
|         setData(name, NameRole); | ||||
|     } | ||||
| 
 | ||||
|     QVariant data(int role) const override { | ||||
|         if (role != Qt::DisplayRole) { | ||||
|             return LobbyItem::data(role); | ||||
|         } | ||||
|         return data(NameRole).toString(); | ||||
|     } | ||||
| 
 | ||||
|     bool operator<(const QStandardItem& other) const override { | ||||
|         return data(NameRole).toString().localeAwareCompare(other.data(NameRole).toString()) < 0; | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue