summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Luke Sawczak2023-02-01 20:10:54 -0500
committerGravatar Narr the Reg2023-02-02 18:46:28 -0600
commit54ab154696857a7bca93cce151d902f70e7be832 (patch)
tree4e0ed2fdadad92947fac5a900a4b7b524103e04d /src
parentMerge pull request #9708 from ameerj/gl-context-flush (diff)
downloadyuzu-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 '')
-rw-r--r--src/yuzu/multiplayer/lobby.cpp16
-rw-r--r--src/yuzu/multiplayer/lobby.h2
-rw-r--r--src/yuzu/multiplayer/lobby.ui7
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
413void LobbyFilterProxyModel::SetFilterEmpty(bool filter) {
414 filter_empty = filter;
415 invalidate();
416}
417
402void LobbyFilterProxyModel::SetFilterFull(bool filter) { 418void 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
131public slots: 131public 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
136private: 137private:
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>