mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-23 11:28:49 +03:00
Allow creating spaces
This commit is contained in:
parent
07be49ba22
commit
d3c6bcd43c
4 changed files with 28 additions and 5 deletions
|
@ -661,7 +661,7 @@ Page {
|
|||
}
|
||||
|
||||
Platform.MenuItem {
|
||||
text: qsTr("Create a new room")
|
||||
text: qsTr("Create a new room or space")
|
||||
onTriggered: {
|
||||
var createRoom = createRoomComponent.createObject(timelineRoot);
|
||||
createRoom.show();
|
||||
|
|
|
@ -85,7 +85,7 @@ ApplicationWindow {
|
|||
id: privateHover
|
||||
}
|
||||
ToolTip.visible: privateHover.hovered
|
||||
ToolTip.text: qsTr("Public rooms can be joined by anyone, private rooms need explicit invites.")
|
||||
ToolTip.text: qsTr("Public rooms can be joined by anyone; private rooms need explicit invites.")
|
||||
ToolTip.delay: Nheko.tooltipDelay
|
||||
}
|
||||
ToggleButton {
|
||||
|
@ -94,6 +94,24 @@ ApplicationWindow {
|
|||
id: isPublic
|
||||
checked: false
|
||||
}
|
||||
Label {
|
||||
Layout.preferredWidth: implicitWidth
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
text: qsTr("Space")
|
||||
color: Nheko.colors.text
|
||||
HoverHandler {
|
||||
id: spaceHover
|
||||
}
|
||||
ToolTip.visible: spaceHover.hovered
|
||||
ToolTip.text: qsTr("Make this a space for organizing other rooms and spaces.")
|
||||
ToolTip.delay: Nheko.tooltipDelay
|
||||
}
|
||||
ToggleButton {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
Layout.preferredWidth: implicitWidth
|
||||
id: isSpace
|
||||
checked: false
|
||||
}
|
||||
Label {
|
||||
Layout.preferredWidth: implicitWidth
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
|
@ -150,7 +168,7 @@ ApplicationWindow {
|
|||
else {
|
||||
preset = isTrusted.checked ? 2 : 0;
|
||||
}
|
||||
Nheko.createRoom(newRoomName.text, newRoomTopic.text, newRoomAlias.text, isEncrypted.checked, preset)
|
||||
Nheko.createRoom(newRoomName.text, newRoomTopic.text, newRoomAlias.text, isEncrypted.checked, isSpace.checked, preset)
|
||||
createRoomRoot.close();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -128,7 +128,7 @@ Nheko::logout() const
|
|||
}
|
||||
|
||||
void
|
||||
Nheko::createRoom(QString name, QString topic, QString aliasLocalpart, bool isEncrypted, int preset)
|
||||
Nheko::createRoom(QString name, QString topic, QString aliasLocalpart, bool isEncrypted, bool isSpace, int preset)
|
||||
{
|
||||
mtx::requests::CreateRoom req;
|
||||
|
||||
|
@ -155,5 +155,10 @@ Nheko::createRoom(QString name, QString topic, QString aliasLocalpart, bool isEn
|
|||
req.initial_state.emplace_back(std::move(enc));
|
||||
}
|
||||
|
||||
if (isSpace) {
|
||||
req.creation_content = mtx::events::state::Create{};
|
||||
req.creation_content->type = "m.space";
|
||||
}
|
||||
|
||||
emit ChatPage::instance()->createRoom(req);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
Q_INVOKABLE void showUserSettingsPage() const;
|
||||
Q_INVOKABLE void logout() const;
|
||||
Q_INVOKABLE void
|
||||
createRoom(QString name, QString topic, QString aliasLocalpart, bool isEncrypted, int preset);
|
||||
createRoom(QString name, QString topic, QString aliasLocalpart, bool isEncrypted, bool isSpace, int preset);
|
||||
|
||||
public slots:
|
||||
void updateUserProfile();
|
||||
|
|
Loading…
Reference in a new issue