8f35e60801
- Standardized capitalization for variables and file names everywhere in QML and JS, get rid of mixed camelCase/snakeCase, use camelCase like everywhere in Qt - ListModel items are now stored and returned as real QObjects with PyQt properties and signals. This makes dynamic property binding a lot easier and eliminates the need for many hacks. - New update(), updateOrAppendWhere() methods and roles property for ListModel - RoomHeader now properly updates when the room title or topic changes - Add Backend.pdb(), to make it easier to start the debugger from QML
45 lines
1.3 KiB
QML
45 lines
1.3 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.0
|
|
import QtQuick.Layouts 1.4
|
|
import "../base" as Base
|
|
import "utils.js" as ChatJS
|
|
|
|
RowLayout {
|
|
id: row
|
|
spacing: standardSpacing / 2
|
|
layoutDirection: isOwn ? Qt.RightToLeft : Qt.LeftToRight
|
|
anchors.right: isOwn ? parent.right : undefined
|
|
|
|
readonly property string contentText:
|
|
isMessage ? "" : ChatJS.getEventText(type, dict)
|
|
|
|
Base.Avatar {
|
|
id: avatar
|
|
name: displayName
|
|
invisible: combine
|
|
dimmension: 28
|
|
}
|
|
|
|
Base.HLabel {
|
|
id: contentLabel
|
|
text: "<font color='" +
|
|
(isUndecryptableEvent ? "darkred" : "gray") + "'>" +
|
|
(displayName.value || dict.sender) + " " + contentText +
|
|
" <font size=" + smallSize + "px color='gray'>" +
|
|
Qt.formatDateTime(dateTime, "hh:mm:ss") +
|
|
"</font></font>"
|
|
textFormat: Text.RichText
|
|
background: Rectangle {color: "#DDD"}
|
|
wrapMode: Text.Wrap
|
|
|
|
leftPadding: horizontalPadding
|
|
rightPadding: horizontalPadding
|
|
topPadding: verticalPadding
|
|
bottomPadding: verticalPadding
|
|
|
|
Layout.maximumWidth: Math.min(
|
|
600, messageListView.width - avatar.width - row.spacing
|
|
)
|
|
}
|
|
}
|