Add User Feedback when hovering over a contact in groups

This commit is contained in:
Sarah Jamie Lewis 2019-03-06 13:18:00 -08:00
parent ac6fb8d2e8
commit bcd81c813d
3 changed files with 58 additions and 36 deletions

View File

@ -13,6 +13,7 @@ ColumnLayout {
id: overlay id: overlay
property string name property string name
property bool accepted property bool accepted
property bool inGroup
StackToolbar { StackToolbar {
@ -143,12 +144,14 @@ ColumnLayout {
onResetMessagePane: function() { onResetMessagePane: function() {
overlayStack.overlay = overlayStack.chatOverlay overlayStack.overlay = overlayStack.chatOverlay
overlay.inGroup = false
} }
onSupplyGroupSettings: function(gid, name, server, invite, accepted, addrbooknames, addrbookaddrs) { onSupplyGroupSettings: function(gid, name, server, invite, accepted, addrbooknames, addrbookaddrs) {
console.log("Supplied " + gid + " " + name + "Accepted " + accepted) console.log("Supplied " + gid + " " + name + "Accepted " + accepted)
overlay.name = name overlay.name = name
overlay.accepted = accepted overlay.accepted = accepted
overlay.inGroup = true
} }
} }
} }

View File

@ -16,55 +16,66 @@ Item {
property int status property int status
property bool isGroup property bool isGroup
property bool showStatus property bool showStatus
property bool highlight
Rectangle { Rectangle {
id: mainImage
width: 48 width: 48
height: 48 height: 48
color: "#FFFFFF" color: highlight ? windowItem.cwtch_dark_color: "#FFFFFF"
radius: width / 2 radius: width / 2
Rectangle {
width: highlight ? 44 : 48
height: highlight ? 44 : 48
color: "#FFFFFF"
radius: width / 2
anchors.centerIn:parent
Image { // PROFILE IMAGE
id: img
anchors.fill: parent
fillMode: Image.PreserveAspectFit
visible: false
}
Image { // CIRCLE MASK Image { // PROFILE IMAGE
id: mask id: img
fillMode: Image.PreserveAspectFit anchors.fill: parent
visible: false fillMode: Image.PreserveAspectFit
source: "qrc:/qml/images/extra/clipcircle.png" visible: false
} }
Image { // CIRCLE MASK
id: mask
fillMode: Image.PreserveAspectFit
visible: false
source: "qrc:/qml/images/extra/clipcircle.png"
}
OpacityMask {
anchors.fill: img
source: img
maskSource: mask
}
OpacityMask {
anchors.fill: img
source: img
maskSource: mask
} }
Rectangle { // PRESENCE INDICATOR Rectangle { // PRESENCE INDICATOR
visible: showStatus visible: showStatus
color: "#FFFFFF" color: "#FFFFFF"
width: 8 width: 8
height: 8 height: 8
radius: 2 radius: 2
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.margins: 4 anchors.margins: 4
Rectangle { //-2:WtfCodeError,-1:Untrusted,0:Disconnected,1:Connecting,2:Connected,3:Authenticated,4:Failed,5:Killed Rectangle { //-2:WtfCodeError,-1:Untrusted,0:Disconnected,1:Connecting,2:Connected,3:Authenticated,4:Failed,5:Killed
color: status == 3 ? "green" : status == -1 ? "blue" : status == 1 ? "orange" : status == 2 ? "orange" : "red" color: status == 3 ? "green" : status == -1 ? "blue" : status == 1 ? "orange" : status == 2 ? "orange" : "red"
width: 5 width: 5
height: 5 height: 5
radius: 2 radius: 2
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.margins: 1.5 anchors.margins: 1.5
} }
} }
} }
} }

View File

@ -48,9 +48,17 @@ RowLayout {
handle: root.from handle: root.from
visible: !fromMe visible: !fromMe
showStatus: false showStatus: false
highlight: ima.containsMouse
ToolTip.visible: ima.containsMouse
ToolTip.text: qsTr("Click to DM")
MouseArea { MouseArea {
id: ima
anchors.fill: parent anchors.fill: parent
hoverEnabled: overlay.inGroup
onClicked: { onClicked: {
gcd.broadcast("ResetMessagePane") gcd.broadcast("ResetMessagePane")
theStack.pane = theStack.messagePane theStack.pane = theStack.messagePane