99 lines
2.8 KiB
QML
99 lines
2.8 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Controls 2.14
|
|
import QtQuick.Layouts 1.3
|
|
import QtQml.Models 2.3
|
|
|
|
import utils 1.0
|
|
import shared.controls.chat 1.0
|
|
import shared.panels 1.0
|
|
import shared.controls.chat.menuItems 1.0
|
|
|
|
import StatusQ 0.1
|
|
import StatusQ.Components 0.1
|
|
import StatusQ.Popups 0.1
|
|
|
|
import AppLayouts.stores 1.0
|
|
|
|
StatusMenu {
|
|
id: root
|
|
|
|
property RootStore store
|
|
|
|
ProfileHeader {
|
|
width: parent.width
|
|
|
|
displayName: root.store.userProfileInst.name
|
|
pubkey: root.store.userProfileInst.pubKey
|
|
icon: root.store.userProfileInst.icon
|
|
userIsEnsVerified: !!root.store.userProfileInst.preferredName
|
|
objectName: 'onlineIdentifierProfileHeader'
|
|
}
|
|
|
|
StatusMenuSeparator {
|
|
}
|
|
|
|
ViewProfileMenuItem {
|
|
objectName: "userStatusViewMyProfileAction"
|
|
onTriggered: {
|
|
Global.openProfilePopup(root.store.userProfileInst.pubKey)
|
|
root.close()
|
|
}
|
|
}
|
|
|
|
StatusAction {
|
|
objectName: "userStatusCopyLinkAction"
|
|
text: qsTr("Copy link to profile")
|
|
icon.name: "copy"
|
|
onTriggered: {
|
|
ClipboardUtils.setText(root.store.contactStore.getLinkToProfile(root.store.userProfileInst.pubKey))
|
|
root.close()
|
|
}
|
|
}
|
|
|
|
StatusMenuSeparator {
|
|
}
|
|
|
|
StatusAction {
|
|
id: alwaysOnlineAction
|
|
objectName: "userStatusMenuAlwaysOnlineAction"
|
|
text: qsTr("Always online")
|
|
assetSettings.name: "statuses/online"
|
|
assetSettings.width: 12
|
|
assetSettings.height: 12
|
|
assetSettings.color: "transparent"
|
|
fontSettings.bold: root.store.userProfileInst.currentUserStatus === Constants.currentUserStatus.alwaysOnline
|
|
onTriggered: {
|
|
store.setCurrentUserStatus(Constants.currentUserStatus.alwaysOnline)
|
|
root.close();
|
|
}
|
|
}
|
|
|
|
StatusAction {
|
|
id: inactiveAction
|
|
objectName: "userStatusMenuInactiveAction"
|
|
text: qsTr("Inactive")
|
|
assetSettings.name: "statuses/inactive"
|
|
assetSettings.width: 12
|
|
assetSettings.height: 12
|
|
assetSettings.color: "transparent"
|
|
fontSettings.bold: root.store.userProfileInst.currentUserStatus === Constants.currentUserStatus.inactive
|
|
onTriggered: {
|
|
store.setCurrentUserStatus(Constants.currentUserStatus.inactive)
|
|
root.close();
|
|
}
|
|
}
|
|
|
|
StatusAction {
|
|
id: automaticAction
|
|
objectName: "userStatusMenuAutomaticAction"
|
|
text: qsTr("Set status automatically")
|
|
assetSettings.name: "statuses/automatic"
|
|
assetSettings.color: "transparent"
|
|
fontSettings.bold: root.store.userProfileInst.currentUserStatus === Constants.currentUserStatus.automatic
|
|
onTriggered: {
|
|
store.setCurrentUserStatus(Constants.currentUserStatus.automatic)
|
|
root.close();
|
|
}
|
|
}
|
|
}
|