diff options
author | Miquel Lionel <lionel@les-miquelots.net> | 2021-11-20 13:07:17 +0100 |
---|---|---|
committer | Miquel Lionel <lionel@les-miquelots.net> | 2021-11-20 13:15:21 +0100 |
commit | b51a3e81dd2178c681226458ca4bb73ae98a5e34 (patch) | |
tree | 5a46cd966b7d3cbb7ae10664b367ed62da170858 /qml/SettingsPage.qml | |
parent | 3a23720bd8390fc96efdccfe65f27389672155c4 (diff) | |
download | kdeltachat-b51a3e81dd2178c681226458ca4bb73ae98a5e34.tar.gz kdeltachat-b51a3e81dd2178c681226458ca4bb73ae98a5e34.zip |
You can unblock people now and some small fixes
- the chatlist is now properly updated on blocking a
contact request or contact.
- A small message is now displayed after blocking a
contact request
- A list of blocked contact can be found on the settings
page, after clicking 'View blocked users'
- The message timestamp is now slightly padded
Diffstat (limited to 'qml/SettingsPage.qml')
-rw-r--r-- | qml/SettingsPage.qml | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/qml/SettingsPage.qml b/qml/SettingsPage.qml index c963162..4d89ebc 100644 --- a/qml/SettingsPage.qml +++ b/qml/SettingsPage.qml @@ -9,6 +9,7 @@ Kirigami.ScrollablePage { id: root required property DcContext context + property int bannedListHeight: 0 title: "Settings" @@ -20,6 +21,10 @@ Kirigami.ScrollablePage { source: "file:" + root.context.getConfig("selfavatar") } + ListModel { + id: bannedList + } + FileDialog { id: changePfpDialog @@ -42,7 +47,7 @@ Kirigami.ScrollablePage { text: "Change avatar" icon.name: "avatar-default" hoverEnabled: true - anchors.horizontalCenter: pfp.horizontalCenter + anchors.horizontalCenter: parent.horizontalCenter onClicked: changePfpDialog.open() } @@ -110,8 +115,64 @@ Kirigami.ScrollablePage { onToggled: root.context.setConfig("mvbox_move", checked ? "1" : "0") } + Button { + id: blockedUsers + text: "View blocked users" + icon.name: "avatar-default" + hoverEnabled: true + anchors.horizontalCenter: parent.horizontalCenter + onClicked: { + bannedList.clear() + let banListObj = root.context.getBlockedContacts() + for (var addr in banListObj){ + let chatId = banListObj[addr] + console.log("Chat ID " + chatId + " is " + addr) + bannedList.append({"email": addr, "bannedContactId": chatId}); + } + bannedListHeight = 0 + } + } + + Rectangle { + id: listContainer + height: bannedListHeight + Layout.preferredHeight: height + radius: 10 + data: ListView { + id: blocked + currentIndex: -1 + anchors.fill: parent + model: bannedList + delegate: RowLayout { + + Button { + id: unblockBtn + text: "X" + ToolTip.text: "Click to unblock" + ToolTip.visible: hovered + hoverEnabled: true + onClicked: { + root.context.blockContact(bannedContactId, 0); + console.log("Unblocking " + email + "(contact id "+ bannedContactId + ")") + blockedUsers.clicked(); + updateChatlist() + } + } + + TextEdit { + selectByMouse: true + readOnly: true + text: email + padding: 4 + } + Component.onCompleted: bannedListHeight += height + } + } + } + ComboBox { Kirigami.FormData.label: "Show classic emails: " + Layout.preferredWidth: 250 textRole: "text" currentIndex: root.context.getConfig("show_emails") onActivated: root.context.setConfig("show_emails", currentIndex) |