[SMS App] Convert tabs to 2 spaces in ChatMessage.qml
How did those get there?
This commit is contained in:
parent
2ef5cd4551
commit
95a62f4fdb
1 changed files with 189 additions and 189 deletions
|
@ -36,215 +36,215 @@ import org.kde.kirigami 2.0 as Kirigami
|
|||
//import im.kaidan.kaidan 1.0
|
||||
|
||||
RowLayout {
|
||||
id: root
|
||||
id: root
|
||||
|
||||
property string msgId
|
||||
property string sender
|
||||
property bool sentByMe: true
|
||||
property string messageBody
|
||||
property date dateTime
|
||||
property bool isRead: false
|
||||
property int mediaType
|
||||
property string mediaGetUrl
|
||||
property string mediaLocation
|
||||
property bool edited
|
||||
// property bool isLoading: kaidan.transferCache.hasUpload(msgId)
|
||||
property string name
|
||||
// property TransferJob upload: {
|
||||
// if (mediaType !== Enums.MessageType.MessageText && isLoading) {
|
||||
// return kaidan.transferCache.jobByMessageId(model.id)
|
||||
// }
|
||||
property string msgId
|
||||
property string sender
|
||||
property bool sentByMe: true
|
||||
property string messageBody
|
||||
property date dateTime
|
||||
property bool isRead: false
|
||||
property int mediaType
|
||||
property string mediaGetUrl
|
||||
property string mediaLocation
|
||||
property bool edited
|
||||
// property bool isLoading: kaidan.transferCache.hasUpload(msgId)
|
||||
property string name
|
||||
// property TransferJob upload: {
|
||||
// if (mediaType !== Enums.MessageType.MessageText && isLoading) {
|
||||
// return kaidan.transferCache.jobByMessageId(model.id)
|
||||
// }
|
||||
//
|
||||
// return null
|
||||
// }
|
||||
property bool isSpoiler
|
||||
property string spoilerHint
|
||||
property bool isShowingSpoiler: false
|
||||
property string avatarUrl: null//kaidan.avatarStorage.getAvatarUrl(sender)
|
||||
// return null
|
||||
// }
|
||||
property bool isSpoiler
|
||||
property string spoilerHint
|
||||
property bool isShowingSpoiler: false
|
||||
property string avatarUrl: null//kaidan.avatarStorage.getAvatarUrl(sender)
|
||||
|
||||
signal messageCopyRequested(string message)
|
||||
signal messageCopyRequested(string message)
|
||||
|
||||
// own messages are on the right, others on the left
|
||||
layoutDirection: sentByMe ? Qt.RightToLeft : Qt.LeftToRight
|
||||
spacing: 8
|
||||
width: ListView.view.width
|
||||
// own messages are on the right, others on the left
|
||||
layoutDirection: sentByMe ? Qt.RightToLeft : Qt.LeftToRight
|
||||
spacing: 8
|
||||
width: ListView.view.width
|
||||
|
||||
// placeholder
|
||||
Item {
|
||||
Layout.preferredWidth: root.layoutDirection === Qt.LeftToRight ? 5 : 10
|
||||
}
|
||||
// placeholder
|
||||
Item {
|
||||
Layout.preferredWidth: root.layoutDirection === Qt.LeftToRight ? 5 : 10
|
||||
}
|
||||
|
||||
Avatar {
|
||||
id: avatar
|
||||
visible: !sentByMe
|
||||
avatarUrl: root.avatarUrl
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
|
||||
name: root.name
|
||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 2.2
|
||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 2.2
|
||||
}
|
||||
Avatar {
|
||||
id: avatar
|
||||
visible: !sentByMe
|
||||
avatarUrl: root.avatarUrl
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
|
||||
name: root.name
|
||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 2.2
|
||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 2.2
|
||||
}
|
||||
|
||||
// message bubble/box
|
||||
Item {
|
||||
Layout.preferredWidth: content.width + 13
|
||||
Layout.preferredHeight: content.height + 8
|
||||
// message bubble/box
|
||||
Item {
|
||||
Layout.preferredWidth: content.width + 13
|
||||
Layout.preferredHeight: content.height + 8
|
||||
|
||||
Rectangle {
|
||||
id: box
|
||||
anchors.fill: parent
|
||||
color: sentByMe ? Kirigami.Theme.complementaryTextColor
|
||||
: Kirigami.Theme.highlightColor
|
||||
radius: Kirigami.Units.smallSpacing * 2
|
||||
layer.enabled: box.visible
|
||||
layer.effect: DropShadow {
|
||||
verticalOffset: Kirigami.Units.gridUnit * 0.08
|
||||
horizontalOffset: Kirigami.Units.gridUnit * 0.08
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
samples: 10
|
||||
spread: 0.1
|
||||
}
|
||||
Rectangle {
|
||||
id: box
|
||||
anchors.fill: parent
|
||||
color: sentByMe ? Kirigami.Theme.complementaryTextColor
|
||||
: Kirigami.Theme.highlightColor
|
||||
radius: Kirigami.Units.smallSpacing * 2
|
||||
layer.enabled: box.visible
|
||||
layer.effect: DropShadow {
|
||||
verticalOffset: Kirigami.Units.gridUnit * 0.08
|
||||
horizontalOffset: Kirigami.Units.gridUnit * 0.08
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
samples: 10
|
||||
spread: 0.1
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (mouse.button === Qt.RightButton)
|
||||
contextMenu.popup()
|
||||
}
|
||||
onPressAndHold: {
|
||||
contextMenu.popup()
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (mouse.button === Qt.RightButton)
|
||||
contextMenu.popup()
|
||||
}
|
||||
onPressAndHold: {
|
||||
contextMenu.popup()
|
||||
}
|
||||
}
|
||||
|
||||
Controls.Menu {
|
||||
id: contextMenu
|
||||
Controls.MenuItem {
|
||||
text: i18nd("kdeconnect-sms", "Copy Message")
|
||||
enabled: bodyLabel.visible
|
||||
onTriggered: {
|
||||
root.messageCopyRequested(messageBody)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Controls.Menu {
|
||||
id: contextMenu
|
||||
Controls.MenuItem {
|
||||
text: i18nd("kdeconnect-sms", "Copy Message")
|
||||
enabled: bodyLabel.visible
|
||||
onTriggered: {
|
||||
root.messageCopyRequested(messageBody)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
id: content
|
||||
spacing: 0
|
||||
anchors.centerIn: parent
|
||||
anchors.margins: 4
|
||||
RowLayout {
|
||||
id: spoilerHintRow
|
||||
visible: isSpoiler
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (mouse.button === Qt.LeftButton) {
|
||||
isShowingSpoiler = !isShowingSpoiler
|
||||
}
|
||||
}
|
||||
}
|
||||
Controls.Label {
|
||||
id: dateLabeltest
|
||||
text: spoilerHint == "" ? i18nd("kdeconnect-sms", "Spoiler") : spoilerHint
|
||||
color: sentByMe ? Kirigami.Theme.textColor
|
||||
: Kirigami.Theme.complementaryTextColor
|
||||
font.pixelSize: Kirigami.Units.gridUnit * 0.8
|
||||
}
|
||||
ColumnLayout {
|
||||
id: content
|
||||
spacing: 0
|
||||
anchors.centerIn: parent
|
||||
anchors.margins: 4
|
||||
RowLayout {
|
||||
id: spoilerHintRow
|
||||
visible: isSpoiler
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (mouse.button === Qt.LeftButton) {
|
||||
isShowingSpoiler = !isShowingSpoiler
|
||||
}
|
||||
}
|
||||
}
|
||||
Controls.Label {
|
||||
id: dateLabeltest
|
||||
text: spoilerHint == "" ? i18nd("kdeconnect-sms", "Spoiler") : spoilerHint
|
||||
color: sentByMe ? Kirigami.Theme.textColor
|
||||
: Kirigami.Theme.complementaryTextColor
|
||||
font.pixelSize: Kirigami.Units.gridUnit * 0.8
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
height: 1
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
height: 1
|
||||
}
|
||||
|
||||
Kirigami.Icon {
|
||||
height: 28
|
||||
width: 28
|
||||
source: isShowingSpoiler ? "password-show-off" : "password-show-on"
|
||||
color: sentByMe ? Kirigami.Theme.textColor : Kirigami.Theme.complementaryTextColor
|
||||
}
|
||||
}
|
||||
Kirigami.Separator {
|
||||
visible: isSpoiler
|
||||
Layout.fillWidth: true
|
||||
color: {
|
||||
var bgColor = sentByMe ? Kirigami.Theme.backgroundColor : Kirigami.Theme.highlightColor
|
||||
var textColor = sentByMe ? Kirigami.Theme.textColor : Kirigami.Theme.highlightedTextColor
|
||||
return Qt.tint(textColor, Qt.rgba(bgColor.r, bgColor.g, bgColor.b, 0.7))
|
||||
}
|
||||
}
|
||||
Kirigami.Icon {
|
||||
height: 28
|
||||
width: 28
|
||||
source: isShowingSpoiler ? "password-show-off" : "password-show-on"
|
||||
color: sentByMe ? Kirigami.Theme.textColor : Kirigami.Theme.complementaryTextColor
|
||||
}
|
||||
}
|
||||
Kirigami.Separator {
|
||||
visible: isSpoiler
|
||||
Layout.fillWidth: true
|
||||
color: {
|
||||
var bgColor = sentByMe ? Kirigami.Theme.backgroundColor : Kirigami.Theme.highlightColor
|
||||
var textColor = sentByMe ? Kirigami.Theme.textColor : Kirigami.Theme.highlightedTextColor
|
||||
return Qt.tint(textColor, Qt.rgba(bgColor.r, bgColor.g, bgColor.b, 0.7))
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
visible: isSpoiler && isShowingSpoiler || !isSpoiler
|
||||
ColumnLayout {
|
||||
visible: isSpoiler && isShowingSpoiler || !isSpoiler
|
||||
|
||||
|
||||
Controls.ToolButton {
|
||||
visible: {
|
||||
false
|
||||
// mediaType !== Enums.MessageText &&
|
||||
// !isLoading &&
|
||||
// mediaLocation === "" &&
|
||||
// mediaGetUrl !== ""
|
||||
}
|
||||
text: i18nd("kdeconnect-sms", "Download")
|
||||
onClicked: {
|
||||
print("Downloading " + mediaGetUrl + "...")
|
||||
kaidan.downloadMedia(msgId, mediaGetUrl)
|
||||
}
|
||||
}
|
||||
Controls.ToolButton {
|
||||
visible: {
|
||||
false
|
||||
// mediaType !== Enums.MessageText &&
|
||||
// !isLoading &&
|
||||
// mediaLocation === "" &&
|
||||
// mediaGetUrl !== ""
|
||||
}
|
||||
text: i18nd("kdeconnect-sms", "Download")
|
||||
onClicked: {
|
||||
print("Downloading " + mediaGetUrl + "...")
|
||||
kaidan.downloadMedia(msgId, mediaGetUrl)
|
||||
}
|
||||
}
|
||||
|
||||
// message body
|
||||
Controls.Label {
|
||||
id: bodyLabel
|
||||
visible: messageBody !== "" && messageBody !== mediaGetUrl
|
||||
text: messageBody//kaidan.utils.formatMessage(messageBody)
|
||||
textFormat: Text.StyledText
|
||||
wrapMode: Text.Wrap
|
||||
color: sentByMe ? Kirigami.Theme.textColor
|
||||
: Kirigami.Theme.complementaryTextColor
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
// message body
|
||||
Controls.Label {
|
||||
id: bodyLabel
|
||||
visible: messageBody !== "" && messageBody !== mediaGetUrl
|
||||
text: messageBody//kaidan.utils.formatMessage(messageBody)
|
||||
textFormat: Text.StyledText
|
||||
wrapMode: Text.Wrap
|
||||
color: sentByMe ? Kirigami.Theme.textColor
|
||||
: Kirigami.Theme.complementaryTextColor
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
|
||||
Layout.maximumWidth: root.width - Kirigami.Units.gridUnit * 6
|
||||
}
|
||||
Kirigami.Separator {
|
||||
visible: isSpoiler && isShowingSpoiler
|
||||
Layout.fillWidth: true
|
||||
color: {
|
||||
var bgColor = sentByMe ? Kirigami.Theme.backgroundColor : Kirigami.Theme.highlightColor
|
||||
var textColor = sentByMe ? Kirigami.Theme.textColor : Kirigami.Theme.highlightedTextColor
|
||||
return Qt.tint(textColor, Qt.rgba(bgColor.r, bgColor.g, bgColor.b, 0.7))
|
||||
}
|
||||
}
|
||||
}
|
||||
// message meta: date, isRead
|
||||
RowLayout {
|
||||
Layout.maximumWidth: root.width - Kirigami.Units.gridUnit * 6
|
||||
}
|
||||
Kirigami.Separator {
|
||||
visible: isSpoiler && isShowingSpoiler
|
||||
Layout.fillWidth: true
|
||||
color: {
|
||||
var bgColor = sentByMe ? Kirigami.Theme.backgroundColor : Kirigami.Theme.highlightColor
|
||||
var textColor = sentByMe ? Kirigami.Theme.textColor : Kirigami.Theme.highlightedTextColor
|
||||
return Qt.tint(textColor, Qt.rgba(bgColor.r, bgColor.g, bgColor.b, 0.7))
|
||||
}
|
||||
}
|
||||
}
|
||||
// message meta: date, isRead
|
||||
RowLayout {
|
||||
|
||||
Controls.Label {
|
||||
id: dateLabel
|
||||
text: Qt.formatDateTime(dateTime, "dd. MMM yyyy, hh:mm")
|
||||
color: sentByMe ? Kirigami.Theme.disabledTextColor
|
||||
: Qt.darker(Kirigami.Theme.disabledTextColor, 1.3)
|
||||
font.pixelSize: Kirigami.Units.gridUnit * 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Controls.Label {
|
||||
id: dateLabel
|
||||
text: Qt.formatDateTime(dateTime, "dd. MMM yyyy, hh:mm")
|
||||
color: sentByMe ? Kirigami.Theme.disabledTextColor
|
||||
: Qt.darker(Kirigami.Theme.disabledTextColor, 1.3)
|
||||
font.pixelSize: Kirigami.Units.gridUnit * 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// placeholder
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
// placeholder
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
function updateIsLoading() {
|
||||
isLoading = false
|
||||
// isLoading = kaidan.transferCache.hasUpload(msgId)
|
||||
}
|
||||
function updateIsLoading() {
|
||||
isLoading = false
|
||||
// isLoading = kaidan.transferCache.hasUpload(msgId)
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
// kaidan.transferCache.jobsChanged.connect(updateIsLoading)
|
||||
}
|
||||
Component.onDestruction: {
|
||||
// kaidan.transferCache.jobsChanged.disconnect(updateIsLoading)
|
||||
}
|
||||
Component.onCompleted: {
|
||||
// kaidan.transferCache.jobsChanged.connect(updateIsLoading)
|
||||
}
|
||||
Component.onDestruction: {
|
||||
// kaidan.transferCache.jobsChanged.disconnect(updateIsLoading)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue