Compare commits
3 Commits
master
...
work/redst
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e906bb043 | ||
|
|
15019d79fc | ||
|
|
806e24c370 |
@@ -106,7 +106,7 @@ if (NOT ANDROID AND NOT WIN32 AND NOT APPLE AND NOT HAIKU)
|
|||||||
find_package(KF6DBusAddons ${KF_MIN_VERSION} REQUIRED)
|
find_package(KF6DBusAddons ${KF_MIN_VERSION} REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(QuotientQt6 0.9.3)
|
find_package(QuotientQt6 0.10.0)
|
||||||
set_package_properties(QuotientQt6 PROPERTIES
|
set_package_properties(QuotientQt6 PROPERTIES
|
||||||
TYPE REQUIRED
|
TYPE REQUIRED
|
||||||
DESCRIPTION "Qt wrapper around Matrix API"
|
DESCRIPTION "Qt wrapper around Matrix API"
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ int main(int argc, char *argv[])
|
|||||||
Registration::instance().setAccountManager(accountManager.get());
|
Registration::instance().setAccountManager(accountManager.get());
|
||||||
|
|
||||||
qml_register_types_org_kde_neochat();
|
qml_register_types_org_kde_neochat();
|
||||||
qmlRegisterUncreatableMetaObject(Quotient::staticMetaObject, "Quotient", 1, 0, "JoinRule", u"Access to JoinRule enum only"_s);
|
|
||||||
|
|
||||||
QQmlApplicationEngine engine;
|
QQmlApplicationEngine engine;
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import QtQml
|
|||||||
|
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
|
import io.github.quotient_im.libquotient
|
||||||
|
|
||||||
Kirigami.Page {
|
Kirigami.Page {
|
||||||
id: root
|
id: root
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import QtQuick
|
|||||||
import QtQml
|
import QtQml
|
||||||
|
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
|
import io.github.quotient_im.libquotient
|
||||||
|
|
||||||
VerificationMessage {
|
VerificationMessage {
|
||||||
id: root
|
id: root
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import QtQuick.Layouts
|
|||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.kirigamiaddons.components as KirigamiComponents
|
import org.kde.kirigamiaddons.components as KirigamiComponents
|
||||||
|
|
||||||
import Quotient
|
import io.github.quotient_im.libquotient
|
||||||
|
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
import org.kde.neochat.settings
|
import org.kde.neochat.settings
|
||||||
@@ -126,7 +126,7 @@ KirigamiComponents.ConvergentContextMenu {
|
|||||||
Kirigami.Action {
|
Kirigami.Action {
|
||||||
text: i18nc("@action:inmenu", "Copy Room Link")
|
text: i18nc("@action:inmenu", "Copy Room Link")
|
||||||
icon.name: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
visible: !root.room.isDirectChat() && root.room.joinRule !== JoinRule.Invite
|
visible: !root.room.isDirectChat() && root.room.joinRule !== Quotient.JoinRule.Invite
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
// The canonical alias (if it exists) otherwise the first available alias
|
// The canonical alias (if it exists) otherwise the first available alias
|
||||||
const firstAlias = root.room.aliases[0];
|
const firstAlias = root.room.aliases[0];
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import org.kde.kirigamiaddons.formcard as FormCard
|
|||||||
|
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
|
|
||||||
import Quotient
|
import io.github.quotient_im.libquotient
|
||||||
|
|
||||||
FormCard.FormCardPage {
|
FormCard.FormCardPage {
|
||||||
id: root
|
id: root
|
||||||
@@ -65,23 +65,23 @@ FormCard.FormCardPage {
|
|||||||
FormCard.FormRadioDelegate {
|
FormCard.FormRadioDelegate {
|
||||||
text: i18nc("@option:check", "Private (invite only)")
|
text: i18nc("@option:check", "Private (invite only)")
|
||||||
description: i18nc("@info", "Only invited people can join.")
|
description: i18nc("@info", "Only invited people can join.")
|
||||||
checked: root.room.joinRule === JoinRule.Invite
|
checked: root.room.joinRule === Quotient.JoinRule.Invite
|
||||||
enabled: root.room.canSendState("m.room.join_rules")
|
enabled: root.room.canSendState("m.room.join_rules")
|
||||||
onCheckedChanged: if (checked && root.room.joinRule != JoinRule.Invite) {
|
onCheckedChanged: if (checked && root.room.joinRule != Quotient.JoinRule.Invite) {
|
||||||
root.room.joinRule = JoinRule.Invite;
|
root.room.joinRule = Quotient.JoinRule.Invite;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FormCard.FormRadioDelegate {
|
FormCard.FormRadioDelegate {
|
||||||
text: i18nc("@option:check", "Space members")
|
text: i18nc("@option:check", "Space members")
|
||||||
description: i18nc("@info", "Anyone in the selected spaces can find and join.") + (!["8", "9", "10", "11", "12"].includes(root.room.version) ? `\n${root.needUpgradeRoom}` : "")
|
description: i18nc("@info", "Anyone in the selected spaces can find and join.") + (!["8", "9", "10", "11", "12"].includes(root.room.version) ? `\n${root.needUpgradeRoom}` : "")
|
||||||
checked: root.room.joinRule === JoinRule.Restricted
|
checked: root.room.joinRule === Quotient.JoinRule.Restricted
|
||||||
enabled: root.room.canSendState("m.room.join_rules") && ["8", "9", "10", "11", "12"].includes(root.room.version)
|
enabled: root.room.canSendState("m.room.join_rules") && ["8", "9", "10", "11", "12"].includes(root.room.version)
|
||||||
onCheckedChanged: if (checked && root.room.joinRule != JoinRule.Restricted) {
|
onCheckedChanged: if (checked && root.room.joinRule != Quotient.JoinRule.Restricted) {
|
||||||
(selectSpacesDialog.createObject(QQC2.Overlay.overlay) as SelectSpacesDialog).open();
|
(selectSpacesDialog.createObject(QQC2.Overlay.overlay) as SelectSpacesDialog).open();
|
||||||
}
|
}
|
||||||
|
|
||||||
contentItem.children: QQC2.Button {
|
contentItem.children: QQC2.Button {
|
||||||
visible: root.room.joinRule === JoinRule.Restricted
|
visible: root.room.joinRule === Quotient.JoinRule.Restricted
|
||||||
text: i18nc("@action:button", "Select spaces")
|
text: i18nc("@action:button", "Select spaces")
|
||||||
icon.name: "list-add"
|
icon.name: "list-add"
|
||||||
|
|
||||||
@@ -102,20 +102,20 @@ FormCard.FormCardPage {
|
|||||||
FormCard.FormRadioDelegate {
|
FormCard.FormRadioDelegate {
|
||||||
text: i18nc("@option:check", "Knock")
|
text: i18nc("@option:check", "Knock")
|
||||||
description: i18nc("@info", "People not in the room need to request an invite to join the room.") + (!["7", "8", "9", "10", "11", "12"].includes(root.room.version) ? `\n${root.needUpgradeRoom}` : "")
|
description: i18nc("@info", "People not in the room need to request an invite to join the room.") + (!["7", "8", "9", "10", "11", "12"].includes(root.room.version) ? `\n${root.needUpgradeRoom}` : "")
|
||||||
checked: root.room.joinRule === JoinRule.Knock
|
checked: root.room.joinRule === Quotient.JoinRule.Knock
|
||||||
// https://spec.matrix.org/v1.4/rooms/#feature-matrix
|
// https://spec.matrix.org/v1.4/rooms/#feature-matrix
|
||||||
enabled: root.room.canSendState("m.room.join_rules") && ["7", "8", "9", "10", "11", "12"].includes(root.room.version)
|
enabled: root.room.canSendState("m.room.join_rules") && ["7", "8", "9", "10", "11", "12"].includes(root.room.version)
|
||||||
onCheckedChanged: if (checked && root.room.joinRule != JoinRule.Knock) {
|
onCheckedChanged: if (checked && root.room.joinRule != Quotient.JoinRule.Knock) {
|
||||||
root.room.joinRule = JoinRule.Knock;
|
root.room.joinRule = Quotient.JoinRule.Knock;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FormCard.FormRadioDelegate {
|
FormCard.FormRadioDelegate {
|
||||||
text: i18nc("@option:check", "Public")
|
text: i18nc("@option:check", "Public")
|
||||||
description: i18nc("@option:check", "Anyone can find and join.")
|
description: i18nc("@option:check", "Anyone can find and join.")
|
||||||
checked: root.room.joinRule === JoinRule.Public
|
checked: root.room.joinRule === Quotient.JoinRule.Public
|
||||||
enabled: root.room.canSendState("m.room.join_rules")
|
enabled: root.room.canSendState("m.room.join_rules")
|
||||||
onCheckedChanged: if (checked && root.room.joinRule != JoinRule.Public) {
|
onCheckedChanged: if (checked && root.room.joinRule != Quotient.JoinRule.Public) {
|
||||||
root.room.joinRule = JoinRule.Public;
|
root.room.joinRule = Quotient.JoinRule.Public;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.kde.kirigami as Kirigami
|
|||||||
import org.kde.kirigamiaddons.formcard as FormCard
|
import org.kde.kirigamiaddons.formcard as FormCard
|
||||||
import org.kde.kirigamiaddons.labs.components as Components
|
import org.kde.kirigamiaddons.labs.components as Components
|
||||||
|
|
||||||
import Quotient
|
import io.github.quotient_im.libquotient
|
||||||
|
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ Kirigami.Dialog {
|
|||||||
ids.push(spaceGroup.buttons[i].modelData.id);
|
ids.push(spaceGroup.buttons[i].modelData.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
root.room.setJoinRule(JoinRule.Restricted, ids);
|
root.room.setJoinRule(Quotient.JoinRule.Restricted, ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
QQC2.ButtonGroup {
|
QQC2.ButtonGroup {
|
||||||
|
|||||||
Reference in New Issue
Block a user