diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/multiplayer/lobby.cpp | 13 | ||||
| -rw-r--r-- | src/yuzu/uisettings.h | 7 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/yuzu/multiplayer/lobby.cpp b/src/yuzu/multiplayer/lobby.cpp index 41692c05b..77ac84295 100644 --- a/src/yuzu/multiplayer/lobby.cpp +++ b/src/yuzu/multiplayer/lobby.cpp | |||
| @@ -77,16 +77,23 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list, | |||
| 77 | 77 | ||
| 78 | // UI Buttons | 78 | // UI Buttons |
| 79 | connect(ui->refresh_list, &QPushButton::clicked, this, &Lobby::RefreshLobby); | 79 | connect(ui->refresh_list, &QPushButton::clicked, this, &Lobby::RefreshLobby); |
| 80 | connect(ui->search, &QLineEdit::textChanged, proxy, &LobbyFilterProxyModel::SetFilterSearch); | ||
| 80 | connect(ui->games_owned, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterOwned); | 81 | connect(ui->games_owned, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterOwned); |
| 81 | connect(ui->hide_empty, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterEmpty); | 82 | connect(ui->hide_empty, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterEmpty); |
| 82 | connect(ui->hide_full, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterFull); | 83 | connect(ui->hide_full, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterFull); |
| 83 | connect(ui->search, &QLineEdit::textChanged, proxy, &LobbyFilterProxyModel::SetFilterSearch); | ||
| 84 | connect(ui->room_list, &QTreeView::doubleClicked, this, &Lobby::OnJoinRoom); | 84 | connect(ui->room_list, &QTreeView::doubleClicked, this, &Lobby::OnJoinRoom); |
| 85 | connect(ui->room_list, &QTreeView::clicked, this, &Lobby::OnExpandRoom); | 85 | connect(ui->room_list, &QTreeView::clicked, this, &Lobby::OnExpandRoom); |
| 86 | 86 | ||
| 87 | // Actions | 87 | // Actions |
| 88 | connect(&room_list_watcher, &QFutureWatcher<AnnounceMultiplayerRoom::RoomList>::finished, this, | 88 | connect(&room_list_watcher, &QFutureWatcher<AnnounceMultiplayerRoom::RoomList>::finished, this, |
| 89 | &Lobby::OnRefreshLobby); | 89 | &Lobby::OnRefreshLobby); |
| 90 | |||
| 91 | // Load persistent filters after events are connected to make sure they apply | ||
| 92 | ui->search->setText( | ||
| 93 | QString::fromStdString(UISettings::values.multiplayer_filter_text.GetValue())); | ||
| 94 | ui->games_owned->setChecked(UISettings::values.multiplayer_filter_games_owned.GetValue()); | ||
| 95 | ui->hide_empty->setChecked(UISettings::values.multiplayer_filter_hide_empty.GetValue()); | ||
| 96 | ui->hide_full->setChecked(UISettings::values.multiplayer_filter_hide_full.GetValue()); | ||
| 90 | } | 97 | } |
| 91 | 98 | ||
| 92 | Lobby::~Lobby() = default; | 99 | Lobby::~Lobby() = default; |
| @@ -204,6 +211,10 @@ void Lobby::OnJoinRoom(const QModelIndex& source) { | |||
| 204 | 211 | ||
| 205 | // Save settings | 212 | // Save settings |
| 206 | UISettings::values.multiplayer_nickname = ui->nickname->text().toStdString(); | 213 | UISettings::values.multiplayer_nickname = ui->nickname->text().toStdString(); |
| 214 | UISettings::values.multiplayer_filter_text = ui->search->text().toStdString(); | ||
| 215 | UISettings::values.multiplayer_filter_games_owned = ui->games_owned->isChecked(); | ||
| 216 | UISettings::values.multiplayer_filter_hide_empty = ui->hide_empty->isChecked(); | ||
| 217 | UISettings::values.multiplayer_filter_hide_full = ui->hide_full->isChecked(); | ||
| 207 | UISettings::values.multiplayer_ip = | 218 | UISettings::values.multiplayer_ip = |
| 208 | proxy->data(connection_index, LobbyItemHost::HostIPRole).value<QString>().toStdString(); | 219 | proxy->data(connection_index, LobbyItemHost::HostIPRole).value<QString>().toStdString(); |
| 209 | UISettings::values.multiplayer_port = | 220 | UISettings::values.multiplayer_port = |
diff --git a/src/yuzu/uisettings.h b/src/yuzu/uisettings.h index f9906be33..bd8b3c18a 100644 --- a/src/yuzu/uisettings.h +++ b/src/yuzu/uisettings.h | |||
| @@ -169,6 +169,13 @@ struct Values { | |||
| 169 | 169 | ||
| 170 | // multiplayer settings | 170 | // multiplayer settings |
| 171 | Setting<std::string> multiplayer_nickname{linkage, {}, "nickname", Category::Multiplayer}; | 171 | Setting<std::string> multiplayer_nickname{linkage, {}, "nickname", Category::Multiplayer}; |
| 172 | Setting<std::string> multiplayer_filter_text{linkage, {}, "filter_text", Category::Multiplayer}; | ||
| 173 | Setting<bool> multiplayer_filter_games_owned{linkage, false, "filter_games_owned", | ||
| 174 | Category::Multiplayer}; | ||
| 175 | Setting<bool> multiplayer_filter_hide_empty{linkage, false, "filter_games_hide_empty", | ||
| 176 | Category::Multiplayer}; | ||
| 177 | Setting<bool> multiplayer_filter_hide_full{linkage, false, "filter_games_hide_full", | ||
| 178 | Category::Multiplayer}; | ||
| 172 | Setting<std::string> multiplayer_ip{linkage, {}, "ip", Category::Multiplayer}; | 179 | Setting<std::string> multiplayer_ip{linkage, {}, "ip", Category::Multiplayer}; |
| 173 | Setting<u16, true> multiplayer_port{linkage, 24872, 0, | 180 | Setting<u16, true> multiplayer_port{linkage, 24872, 0, |
| 174 | UINT16_MAX, "port", Category::Multiplayer}; | 181 | UINT16_MAX, "port", Category::Multiplayer}; |