summaryrefslogtreecommitdiff
path: root/src/yuzu/multiplayer/lobby.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/multiplayer/lobby.h')
-rw-r--r--src/yuzu/multiplayer/lobby.h138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/yuzu/multiplayer/lobby.h b/src/yuzu/multiplayer/lobby.h
deleted file mode 100644
index e78c9cae3..000000000
--- a/src/yuzu/multiplayer/lobby.h
+++ /dev/null
@@ -1,138 +0,0 @@
-// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include <memory>
-#include <QDialog>
-#include <QFutureWatcher>
-#include <QSortFilterProxyModel>
-#include <QStandardItemModel>
-#include "common/announce_multiplayer_room.h"
-#include "network/announce_multiplayer_session.h"
-#include "network/network.h"
-#include "yuzu/multiplayer/validation.h"
-
-namespace Ui {
-class Lobby;
-}
-
-class LobbyModel;
-class LobbyFilterProxyModel;
-
-namespace Core {
-class System;
-}
-
-/**
- * Listing of all public games pulled from services. The lobby should be simple enough for users to
- * find the game they want to play, and join it.
- */
-class Lobby : public QDialog {
- Q_OBJECT
-
-public:
- explicit Lobby(QWidget* parent, QStandardItemModel* list,
- std::shared_ptr<Core::AnnounceMultiplayerSession> session,
- Core::System& system_);
- ~Lobby() override;
-
- /**
- * Updates the lobby with a new game list model.
- * This model should be the original model of the game list.
- */
- void UpdateGameList(QStandardItemModel* list);
- void RetranslateUi();
-
-public slots:
- /**
- * Begin the process to pull the latest room list from web services. After the listing is
- * returned from web services, `LobbyRefreshed` will be signalled
- */
- void RefreshLobby();
-
-private slots:
- /**
- * Pulls the list of rooms from network and fills out the lobby model with the results
- */
- void OnRefreshLobby();
-
- /**
- * Handler for single clicking on a room in the list. Expands the treeitem to show player
- * information for the people in the room
- *
- * index - The row of the proxy model that the user wants to join.
- */
- void OnExpandRoom(const QModelIndex&);
-
- /**
- * Handler for double clicking on a room in the list. Gathers the host ip and port and attempts
- * to connect. Will also prompt for a password in case one is required.
- *
- * index - The row of the proxy model that the user wants to join.
- */
- void OnJoinRoom(const QModelIndex&);
-
-signals:
- void StateChanged(const Network::RoomMember::State&);
- void SaveConfig();
-
-private:
- std::string GetProfileUsername();
-
- /**
- * Removes all entries in the Lobby before refreshing.
- */
- void ResetModel();
-
- /**
- * Prompts for a password. Returns an empty QString if the user either did not provide a
- * password or if the user closed the window.
- */
- QString PasswordPrompt();
-
- std::unique_ptr<Ui::Lobby> ui;
-
- QStandardItemModel* model{};
- QStandardItemModel* game_list{};
- LobbyFilterProxyModel* proxy{};
-
- QFutureWatcher<AnnounceMultiplayerRoom::RoomList> room_list_watcher;
- std::weak_ptr<Core::AnnounceMultiplayerSession> announce_multiplayer_session;
- QFutureWatcher<void>* watcher;
- Validation validation;
- Core::System& system;
- Network::RoomNetwork& room_network;
-};
-
-/**
- * Proxy Model for filtering the lobby
- */
-class LobbyFilterProxyModel : public QSortFilterProxyModel {
- Q_OBJECT;
-
-public:
- explicit LobbyFilterProxyModel(QWidget* parent, QStandardItemModel* list);
-
- /**
- * Updates the filter with a new game list model.
- * This model should be the processed one created by the Lobby.
- */
- void UpdateGameList(QStandardItemModel* list);
-
- bool filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const override;
- void sort(int column, Qt::SortOrder order) override;
-
-public slots:
- void SetFilterOwned(bool);
- void SetFilterEmpty(bool);
- void SetFilterFull(bool);
- void SetFilterSearch(const QString&);
-
-private:
- QStandardItemModel* game_list;
- bool filter_owned = false;
- bool filter_empty = false;
- bool filter_full = false;
- QString filter_search;
-};