- 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
 | 
						|
        )
 | 
						|
    }
 | 
						|
}
 |