aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/multiplayer/moderation_dialog.h
diff options
context:
space:
mode:
authorFearlessTobi <thm.frey@gmail.com>2021-12-25 20:27:52 +0100
committerFearlessTobi <thm.frey@gmail.com>2022-07-25 21:59:28 +0200
commit705f7db84dd85555a6aef1e136cf251725cef293 (patch)
treee110c6482a11d711d18515afce4fc50adcee76e7 /src/yuzu/multiplayer/moderation_dialog.h
parentdcfe0a5febb252e3a4f40c1b25765740a269467f (diff)
yuzu: Add ui files for multiplayer rooms
Diffstat (limited to 'src/yuzu/multiplayer/moderation_dialog.h')
-rw-r--r--src/yuzu/multiplayer/moderation_dialog.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/yuzu/multiplayer/moderation_dialog.h b/src/yuzu/multiplayer/moderation_dialog.h
new file mode 100644
index 000000000..d10083d5b
--- /dev/null
+++ b/src/yuzu/multiplayer/moderation_dialog.h
@@ -0,0 +1,42 @@
+// Copyright 2018 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <memory>
+#include <optional>
+#include <QDialog>
+#include "network/room.h"
+#include "network/room_member.h"
+
+namespace Ui {
+class ModerationDialog;
+}
+
+class QStandardItemModel;
+
+class ModerationDialog : public QDialog {
+ Q_OBJECT
+
+public:
+ explicit ModerationDialog(QWidget* parent = nullptr);
+ ~ModerationDialog();
+
+signals:
+ void StatusMessageReceived(const Network::StatusMessageEntry&);
+ void BanListReceived(const Network::Room::BanList&);
+
+private:
+ void LoadBanList();
+ void PopulateBanList(const Network::Room::BanList& ban_list);
+ void SendUnbanRequest(const QString& subject);
+ void OnStatusMessageReceived(const Network::StatusMessageEntry& status_message);
+
+ std::unique_ptr<Ui::ModerationDialog> ui;
+ QStandardItemModel* model;
+ Network::RoomMember::CallbackHandle<Network::StatusMessageEntry> callback_handle_status_message;
+ Network::RoomMember::CallbackHandle<Network::Room::BanList> callback_handle_ban_list;
+};
+
+Q_DECLARE_METATYPE(Network::Room::BanList);