Add account presences to account context menu

This commit is contained in:
vslg
2020-07-02 00:27:50 -03:00
committed by miruka
parent 6e202c3e27
commit 0eda6eb278
7 changed files with 128 additions and 13 deletions

View File

@@ -1,11 +1,19 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
import QtQuick 2.12
import QtQuick.Controls 2.12
import Clipboard 0.1
import "../Base"
HMenu {
property string userId
property string presence
property bool firstSyncDone
function setPresence(presence) {
py.callClientCoro(userId, "set_presence", [presence])
}
HMenuItem {
@@ -36,4 +44,38 @@ HMenu {
popup: "Popups/SignOutPopup.qml"
properties: { "userId": userId }
}
HMenuSeparator { }
HMenuItem {
enabled: presence !== "online" && firstSyncDone
icon.name: "user-presence"
icon.color: theme.controls.presence.online
text: qsTr("Online")
onTriggered: setPresence("online")
}
HMenuItem {
enabled: presence !== "unavailable" && firstSyncDone
icon.name: "user-presence"
icon.color: theme.controls.presence.unavailable
text: qsTr("Unavailable")
onTriggered: setPresence("unavailable")
}
HMenuItem {
enabled: presence !== "invisible" && firstSyncDone
icon.name: "user-presence"
icon.color: theme.controls.presence.offline
text: qsTr("Invisible")
onTriggered: setPresence("invisible")
}
HMenuItem {
enabled: presence !== "offline" && firstSyncDone
icon.name: "user-presence"
icon.color: theme.controls.presence.offline
text: qsTr("Offline")
onTriggered: setPresence("offline")
}
}

View File

@@ -25,8 +25,7 @@ HTile {
radius: theme.mainPane.listView.account.avatarRadius
compact: account.compact
// XXX
presence: model.first_sync_done ? "online" : ""
presence: model.presence
Layout.alignment: Qt.AlignCenter
@@ -136,7 +135,11 @@ HTile {
}
}
contextMenu: AccountContextMenu { userId: model.id }
contextMenu: AccountContextMenu {
userId: model.id
presence: model.presence
firstSyncDone: model.first_sync_done
}
property bool enableKeybinds: false