client_room.h 938 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "yuzu/multiplayer/chat_room.h"
  5. namespace Ui {
  6. class ClientRoom;
  7. }
  8. class ClientRoomWindow : public QDialog {
  9. Q_OBJECT
  10. public:
  11. explicit ClientRoomWindow(QWidget* parent, Network::RoomNetwork& room_network_);
  12. ~ClientRoomWindow();
  13. void RetranslateUi();
  14. void UpdateIconDisplay();
  15. public slots:
  16. void OnRoomUpdate(const Network::RoomInformation&);
  17. void OnStateChange(const Network::RoomMember::State&);
  18. signals:
  19. void RoomInformationChanged(const Network::RoomInformation&);
  20. void StateChanged(const Network::RoomMember::State&);
  21. void ShowNotification();
  22. private:
  23. void Disconnect();
  24. void UpdateView();
  25. void SetModPerms(bool is_mod);
  26. QStandardItemModel* player_list;
  27. std::unique_ptr<Ui::ClientRoom> ui;
  28. Network::RoomNetwork& room_network;
  29. };