Add some Userprofile buttons
2 files changed, 32 insertions, 1 deletions
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index 588d6969..6aa4deff 100644
--- a/src/ui/UserProfile.cpp
+++ b/src/ui/UserProfile.cpp
@@ -1,4 +1,5 @@
#include "UserProfile.h"
+#include "ChatPage.h"
#include "Logging.h"
#include "Utils.h"
#include "mtx/responses/crypto.hpp"
@@ -86,3 +87,30 @@ UserProfile::updateDeviceList()
{
fetchDeviceList(this->userId);
}
+
+void
+UserProfile::banUser()
+{
+ ChatPage::instance()->banUser(this->userId, "");
+}
+
+// void ignoreUser(){
+
+// }
+
+void
+UserProfile::kickUser()
+{
+ ChatPage::instance()->kickUser(this->userId, "");
+}
+
+void
+UserProfile::startChat()
+{
+ mtx::requests::CreateRoom req;
+ req.preset = mtx::requests::Preset::PrivateChat;
+ req.visibility = mtx::requests::Visibility::Private;
+ if (utils::localUser() != this->userId)
+ req.invite = {this->userId.toStdString()};
+ emit ChatPage::instance()->createRoom(req);
+}
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index c37e23ae..ad92d182 100644
--- a/src/ui/UserProfile.h
+++ b/src/ui/UserProfile.h
@@ -5,7 +5,6 @@
#include <QVector>
#include "MatrixClient.h"
-
class DeviceInfo
{
public:
@@ -36,6 +35,10 @@ public:
Q_INVOKABLE void fetchDeviceList(const QString &userID);
Q_INVOKABLE void updateDeviceList();
+ Q_INVOKABLE void banUser();
+ // Q_INVOKABLE void ignoreUser();
+ Q_INVOKABLE void kickUser();
+ Q_INVOKABLE void startChat();
signals:
void userIdChanged();
|