diff --git a/src/ui/NhekoGlobalObject.cpp b/src/ui/NhekoGlobalObject.cpp
index ce094205..b24e68a9 100644
--- a/src/ui/NhekoGlobalObject.cpp
+++ b/src/ui/NhekoGlobalObject.cpp
@@ -136,10 +136,22 @@ Nheko::setTransientParent(QWindow *window, QWindow *parentWindow) const
}
void
-Nheko::createRoom(QString name, QString topic, QString aliasLocalpart, bool isEncrypted, int preset)
+Nheko::createRoom(bool space,
+ QString name,
+ QString topic,
+ QString aliasLocalpart,
+ bool isEncrypted,
+ int preset)
{
mtx::requests::CreateRoom req;
+ if (space) {
+ req.creation_content = mtx::events::state::Create{};
+ req.creation_content->type = mtx::events::state::room_type::space;
+ req.creation_content->creator.clear();
+ req.creation_content->room_version.clear();
+ }
+
switch (preset) {
case 1:
req.preset = mtx::requests::Preset::PublicChat;
diff --git a/src/ui/NhekoGlobalObject.h b/src/ui/NhekoGlobalObject.h
index a63c7846..e9034ebc 100644
--- a/src/ui/NhekoGlobalObject.h
+++ b/src/ui/NhekoGlobalObject.h
@@ -56,8 +56,12 @@ public:
Q_INVOKABLE void setStatusMessage(QString msg) const;
Q_INVOKABLE void showUserSettingsPage() const;
Q_INVOKABLE void logout() const;
- Q_INVOKABLE void
- createRoom(QString name, QString topic, QString aliasLocalpart, bool isEncrypted, int preset);
+ Q_INVOKABLE void createRoom(bool space,
+ QString name,
+ QString topic,
+ QString aliasLocalpart,
+ bool isEncrypted,
+ int preset);
Q_INVOKABLE PowerlevelEditingModels *editPowerlevels(QString room_id_) const
{
return new PowerlevelEditingModels(room_id_);
|