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
55 lines
1.3 KiB
QML
55 lines
1.3 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.2
|
|
import QtQuick.Layouts 1.4
|
|
import "../base" as Base
|
|
|
|
Rectangle {
|
|
property string displayName: ""
|
|
property string topic: ""
|
|
|
|
id: "root"
|
|
Layout.fillWidth: true
|
|
Layout.minimumHeight: 36
|
|
Layout.maximumHeight: Layout.minimumHeight
|
|
color: "#BBB"
|
|
|
|
RowLayout {
|
|
id: "row"
|
|
spacing: 12
|
|
anchors.fill: parent
|
|
|
|
Base.Avatar {
|
|
id: "avatar"
|
|
Layout.alignment: Qt.AlignTop
|
|
dimmension: root.Layout.minimumHeight
|
|
name: displayName
|
|
}
|
|
|
|
Base.HLabel {
|
|
id: "roomName"
|
|
text: displayName
|
|
font.pixelSize: bigSize
|
|
elide: Text.ElideRight
|
|
maximumLineCount: 1
|
|
Layout.maximumWidth:
|
|
row.width - row.spacing * (row.children.length - 1) -
|
|
avatar.width
|
|
}
|
|
|
|
Base.HLabel {
|
|
id: "roomTopic"
|
|
text: topic
|
|
font.pixelSize: smallSize
|
|
elide: Text.ElideRight
|
|
maximumLineCount: 1
|
|
Layout.maximumWidth:
|
|
row.width -
|
|
row.spacing * (row.children.length - 1) -
|
|
avatar.width -
|
|
roomName.width
|
|
}
|
|
|
|
Item { Layout.fillWidth: true }
|
|
}
|
|
}
|