diff options
| author | 2023-02-01 20:10:54 -0500 | |
|---|---|---|
| committer | 2023-02-02 18:46:28 -0600 | |
| commit | 54ab154696857a7bca93cce151d902f70e7be832 (patch) | |
| tree | 4e0ed2fdadad92947fac5a900a4b7b524103e04d /src | |
| parent | Merge pull request #9708 from ameerj/gl-context-flush (diff) | |
| download | yuzu-54ab154696857a7bca93cce151d902f70e7be832.tar.gz yuzu-54ab154696857a7bca93cce151d902f70e7be832.tar.xz yuzu-54ab154696857a7bca93cce151d902f70e7be832.zip | |
added 'Hide empty rooms' toggle to lobby
fixed typo
fixed typo
fixed typo
clang
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/multiplayer/lobby.cpp | 16 | ||||
| -rw-r--r-- | src/yuzu/multiplayer/lobby.h | 2 | ||||
| -rw-r--r-- | src/yuzu/multiplayer/lobby.ui | 7 |
3 files changed, 25 insertions, 0 deletions
diff --git a/src/yuzu/multiplayer/lobby.cpp b/src/yuzu/multiplayer/lobby.cpp index 08c275696..6c93e3511 100644 --- a/src/yuzu/multiplayer/lobby.cpp +++ b/src/yuzu/multiplayer/lobby.cpp | |||
| @@ -77,6 +77,7 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list, | |||
| 77 | // UI Buttons | 77 | // UI Buttons |
| 78 | connect(ui->refresh_list, &QPushButton::clicked, this, &Lobby::RefreshLobby); | 78 | connect(ui->refresh_list, &QPushButton::clicked, this, &Lobby::RefreshLobby); |
| 79 | connect(ui->games_owned, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterOwned); | 79 | connect(ui->games_owned, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterOwned); |
| 80 | connect(ui->hide_empty, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterEmpty); | ||
| 80 | connect(ui->hide_full, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterFull); | 81 | connect(ui->hide_full, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterFull); |
| 81 | connect(ui->search, &QLineEdit::textChanged, proxy, &LobbyFilterProxyModel::SetFilterSearch); | 82 | connect(ui->search, &QLineEdit::textChanged, proxy, &LobbyFilterProxyModel::SetFilterSearch); |
| 82 | connect(ui->room_list, &QTreeView::doubleClicked, this, &Lobby::OnJoinRoom); | 83 | connect(ui->room_list, &QTreeView::doubleClicked, this, &Lobby::OnJoinRoom); |
| @@ -329,6 +330,16 @@ bool LobbyFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex& s | |||
| 329 | return true; | 330 | return true; |
| 330 | } | 331 | } |
| 331 | 332 | ||
| 333 | // filter by empty rooms | ||
| 334 | if (filter_empty) { | ||
| 335 | QModelIndex member_list = sourceModel()->index(sourceRow, Column::MEMBER, sourceParent); | ||
| 336 | int player_count = | ||
| 337 | sourceModel()->data(member_list, LobbyItemMemberList::MemberListRole).toList().size(); | ||
| 338 | if (player_count == 0) { | ||
| 339 | return false; | ||
| 340 | } | ||
| 341 | } | ||
| 342 | |||
| 332 | // filter by filled rooms | 343 | // filter by filled rooms |
| 333 | if (filter_full) { | 344 | if (filter_full) { |
| 334 | QModelIndex member_list = sourceModel()->index(sourceRow, Column::MEMBER, sourceParent); | 345 | QModelIndex member_list = sourceModel()->index(sourceRow, Column::MEMBER, sourceParent); |
| @@ -399,6 +410,11 @@ void LobbyFilterProxyModel::SetFilterOwned(bool filter) { | |||
| 399 | invalidate(); | 410 | invalidate(); |
| 400 | } | 411 | } |
| 401 | 412 | ||
| 413 | void LobbyFilterProxyModel::SetFilterEmpty(bool filter) { | ||
| 414 | filter_empty = filter; | ||
| 415 | invalidate(); | ||
| 416 | } | ||
| 417 | |||
| 402 | void LobbyFilterProxyModel::SetFilterFull(bool filter) { | 418 | void LobbyFilterProxyModel::SetFilterFull(bool filter) { |
| 403 | filter_full = filter; | 419 | filter_full = filter; |
| 404 | invalidate(); | 420 | invalidate(); |
diff --git a/src/yuzu/multiplayer/lobby.h b/src/yuzu/multiplayer/lobby.h index 300dad13e..2674ae7c3 100644 --- a/src/yuzu/multiplayer/lobby.h +++ b/src/yuzu/multiplayer/lobby.h | |||
| @@ -130,12 +130,14 @@ public: | |||
| 130 | 130 | ||
| 131 | public slots: | 131 | public slots: |
| 132 | void SetFilterOwned(bool); | 132 | void SetFilterOwned(bool); |
| 133 | void SetFilterEmpty(bool); | ||
| 133 | void SetFilterFull(bool); | 134 | void SetFilterFull(bool); |
| 134 | void SetFilterSearch(const QString&); | 135 | void SetFilterSearch(const QString&); |
| 135 | 136 | ||
| 136 | private: | 137 | private: |
| 137 | QStandardItemModel* game_list; | 138 | QStandardItemModel* game_list; |
| 138 | bool filter_owned = false; | 139 | bool filter_owned = false; |
| 140 | bool filter_empty = false; | ||
| 139 | bool filter_full = false; | 141 | bool filter_full = false; |
| 140 | QString filter_search; | 142 | QString filter_search; |
| 141 | }; | 143 | }; |
diff --git a/src/yuzu/multiplayer/lobby.ui b/src/yuzu/multiplayer/lobby.ui index 4c9901c9a..0ef0ef762 100644 --- a/src/yuzu/multiplayer/lobby.ui +++ b/src/yuzu/multiplayer/lobby.ui | |||
| @@ -78,6 +78,13 @@ | |||
| 78 | </widget> | 78 | </widget> |
| 79 | </item> | 79 | </item> |
| 80 | <item> | 80 | <item> |
| 81 | <widget class="QCheckBox" name="hide_empty"> | ||
| 82 | <property name="text"> | ||
| 83 | <string>Hide Empty Rooms</string> | ||
| 84 | </property> | ||
| 85 | </widget> | ||
| 86 | </item> | ||
| 87 | <item> | ||
| 81 | <widget class="QCheckBox" name="hide_full"> | 88 | <widget class="QCheckBox" name="hide_full"> |
| 82 | <property name="text"> | 89 | <property name="text"> |
| 83 | <string>Hide Full Rooms</string> | 90 | <string>Hide Full Rooms</string> |