Port most Avatar usage to new KirigamiAddons Avatar
(cherry picked from commit 847f41e1ad)
This commit is contained in:
@@ -8,6 +8,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Templates 2.15 as T
|
import QtQuick.Templates 2.15 as T
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami 2.20 as Kirigami
|
||||||
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
Delegates.RoundedItemDelegate {
|
Delegates.RoundedItemDelegate {
|
||||||
id: root
|
id: root
|
||||||
@@ -30,7 +31,7 @@ Delegates.RoundedItemDelegate {
|
|||||||
onTapped: root.contextMenuRequested()
|
onTapped: root.contextMenuRequested()
|
||||||
}
|
}
|
||||||
|
|
||||||
contentItem: Kirigami.Avatar {
|
contentItem: KirigamiComponents.Avatar {
|
||||||
source: root.source
|
source: root.source
|
||||||
name: root.text
|
name: root.text
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import Qt.labs.qmlmodels 1.0
|
import Qt.labs.qmlmodels 1.0
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -43,6 +45,7 @@ QQC2.Popup {
|
|||||||
rightPadding: 0
|
rightPadding: 0
|
||||||
topPadding: 0
|
topPadding: 0
|
||||||
bottomPadding: 0
|
bottomPadding: 0
|
||||||
|
|
||||||
implicitHeight: Math.min(completions.contentHeight, Kirigami.Units.gridUnit * 10)
|
implicitHeight: Math.min(completions.contentHeight, Kirigami.Units.gridUnit * 10)
|
||||||
|
|
||||||
contentItem: ListView {
|
contentItem: ListView {
|
||||||
@@ -53,23 +56,35 @@ QQC2.Popup {
|
|||||||
currentIndex: 0
|
currentIndex: 0
|
||||||
keyNavigationWraps: true
|
keyNavigationWraps: true
|
||||||
highlightMoveDuration: 100
|
highlightMoveDuration: 100
|
||||||
delegate: Kirigami.BasicListItem {
|
delegate: Delegates.RoundedItemDelegate {
|
||||||
text: model.text
|
id: completionDelegate
|
||||||
subtitle: model.subtitle ?? ""
|
|
||||||
labelItem.textFormat: Text.PlainText
|
required property int index
|
||||||
subtitleItem.textFormat: Text.PlainText
|
required property string displayName
|
||||||
leading: RowLayout {
|
required property string subtitle
|
||||||
Kirigami.Avatar {
|
required property string iconName
|
||||||
visible: model.icon !== "invalid"
|
|
||||||
Layout.preferredWidth: height
|
text: displayName
|
||||||
Layout.fillHeight: true
|
|
||||||
source: model.icon === "invalid" ? "" : ("image://mxc/" + model.icon)
|
contentItem: RowLayout {
|
||||||
name: model.text
|
KirigamiComponents.Avatar {
|
||||||
|
visible: completionDelegate.iconName !== "invalid"
|
||||||
|
Layout.preferredWidth: Kirigami.Units.iconSizes.medium
|
||||||
|
Layout.preferredHeight: Kirigami.Units.iconSizes.medium
|
||||||
|
source: completionDelegate.iconName === "invalid" ? "" : ("image://" + completionDelegate.iconName)
|
||||||
|
name: completionDelegate.text
|
||||||
|
}
|
||||||
|
Delegates.SubtitleContentItem {
|
||||||
|
itemDelegate: completionDelegate
|
||||||
|
labelItem.textFormat: Text.PlainText
|
||||||
|
subtitle: completionDelegate.subtitle ?? ""
|
||||||
|
subtitleItem.textFormat: Text.PlainText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onClicked: completionMenu.chatDocumentHandler.complete(model.index)
|
onClicked: completionMenu.chatDocumentHandler.complete(completionDelegate.index)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
color: Kirigami.Theme.backgroundColor
|
color: Kirigami.Theme.backgroundColor
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ import QtQuick 2.15
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import QtQuick.Controls 2.15 as QQC2
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
|
|
||||||
import org.kde.kirigami 2.14 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -40,7 +41,7 @@ GridLayout {
|
|||||||
implicitWidth: Kirigami.Units.smallSpacing
|
implicitWidth: Kirigami.Units.smallSpacing
|
||||||
color: userColor
|
color: userColor
|
||||||
}
|
}
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: replyAvatar
|
id: replyAvatar
|
||||||
|
|
||||||
implicitWidth: Kirigami.Units.iconSizes.small
|
implicitWidth: Kirigami.Units.iconSizes.small
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import QtLocation 5.15
|
|||||||
import QtPositioning 5.15
|
import QtPositioning 5.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -44,7 +45,7 @@ MapQuickItem {
|
|||||||
isMask: true
|
isMask: true
|
||||||
color: parent.color
|
color: parent.color
|
||||||
}
|
}
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
anchors.verticalCenterOffset: -parent.height / 8
|
anchors.verticalCenterOffset: -parent.height / 8
|
||||||
visible: root.asset === "m.self"
|
visible: root.asset === "m.self"
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import QtQuick 2.15
|
|||||||
import QtQuick.Controls 2.15 as QQC2
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
Flow {
|
Flow {
|
||||||
id: root
|
id: root
|
||||||
@@ -17,11 +18,11 @@ Flow {
|
|||||||
spacing: -avatarSize / 2
|
spacing: -avatarSize / 2
|
||||||
Repeater {
|
Repeater {
|
||||||
id: avatarFlowRepeater
|
id: avatarFlowRepeater
|
||||||
delegate: Kirigami.Avatar {
|
delegate: KirigamiComponents.Avatar {
|
||||||
topInset: Kirigami.Units.smallSpacing / 2
|
required property var modelData
|
||||||
topPadding: Kirigami.Units.smallSpacing / 2
|
|
||||||
implicitWidth: avatarSize
|
implicitWidth: root.avatarSize
|
||||||
implicitHeight: avatarSize + Kirigami.Units.smallSpacing / 2
|
implicitHeight: root.avatarSize
|
||||||
|
|
||||||
name: modelData.displayName
|
name: modelData.displayName
|
||||||
source: modelData.avatarSource
|
source: modelData.avatarSource
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -93,7 +94,7 @@ Item {
|
|||||||
implicitWidth: Kirigami.Units.smallSpacing
|
implicitWidth: Kirigami.Units.smallSpacing
|
||||||
color: root.author.color
|
color: root.author.color
|
||||||
}
|
}
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: replyAvatar
|
id: replyAvatar
|
||||||
|
|
||||||
implicitWidth: Kirigami.Units.iconSizes.small
|
implicitWidth: Kirigami.Units.iconSizes.small
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -21,14 +22,23 @@ RowLayout {
|
|||||||
|
|
||||||
implicitHeight: Math.max(label.contentHeight, stateAvatar.implicitHeight)
|
implicitHeight: Math.max(label.contentHeight, stateAvatar.implicitHeight)
|
||||||
|
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: stateAvatar
|
id: stateAvatar
|
||||||
|
|
||||||
Layout.preferredWidth: Kirigami.Units.iconSizes.small
|
Layout.preferredWidth: Kirigami.Units.iconSizes.small
|
||||||
Layout.preferredHeight: Kirigami.Units.iconSizes.small
|
Layout.preferredHeight: Kirigami.Units.iconSizes.small
|
||||||
|
|
||||||
name: root.name
|
name: root.name
|
||||||
color: root.color
|
color: root.color
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
radius: height
|
||||||
|
height: 4
|
||||||
|
width: 4
|
||||||
|
color: root.color
|
||||||
|
anchors.centerIn: parent
|
||||||
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -71,34 +72,61 @@ QQC2.Control {
|
|||||||
Flow {
|
Flow {
|
||||||
visible: columnLayout.folded
|
visible: columnLayout.folded
|
||||||
spacing: -Kirigami.Units.iconSizes.small / 2
|
spacing: -Kirigami.Units.iconSizes.small / 2
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: authorList
|
model: authorList
|
||||||
delegate: Kirigami.Avatar {
|
delegate: Item {
|
||||||
topInset: Kirigami.Units.smallSpacing / 2
|
id: avatarDelegate
|
||||||
topPadding: Kirigami.Units.smallSpacing / 2
|
|
||||||
|
required property var modelData
|
||||||
|
|
||||||
implicitWidth: Kirigami.Units.iconSizes.small
|
implicitWidth: Kirigami.Units.iconSizes.small
|
||||||
implicitHeight: Kirigami.Units.iconSizes.small + Kirigami.Units.smallSpacing / 2
|
implicitHeight: Kirigami.Units.iconSizes.small + Kirigami.Units.smallSpacing / 2
|
||||||
|
|
||||||
name: modelData.displayName
|
KirigamiComponents.Avatar {
|
||||||
source: modelData.avatarSource
|
y: Kirigami.Units.smallSpacing / 2
|
||||||
color: modelData.color
|
|
||||||
|
implicitWidth: Kirigami.Units.iconSizes.small
|
||||||
|
implicitHeight: Kirigami.Units.iconSizes.small
|
||||||
|
|
||||||
|
name: parent.modelData.displayName
|
||||||
|
source: parent.modelData.avatarSource
|
||||||
|
color: parent.modelData.color
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
radius: height
|
||||||
|
height: 4
|
||||||
|
width: 4
|
||||||
|
color: avatarDelegate.modelData.color
|
||||||
|
anchors.centerIn: parent
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QQC2.Label {
|
QQC2.Label {
|
||||||
id: excessAuthorsLabel
|
id: excessAuthorsLabel
|
||||||
|
|
||||||
text: model.excessAuthors
|
text: model.excessAuthors
|
||||||
visible: model.excessAuthors !== ""
|
visible: model.excessAuthors !== ""
|
||||||
color: Kirigami.Theme.textColor
|
color: Kirigami.Theme.textColor
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
background: Kirigami.ShadowedRectangle {
|
background: Kirigami.ShadowedRectangle {
|
||||||
color: Kirigami.Theme.backgroundColor
|
|
||||||
Kirigami.Theme.inherit: false
|
Kirigami.Theme.inherit: false
|
||||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||||
|
|
||||||
|
color: Kirigami.Theme.backgroundColor
|
||||||
radius: height / 2
|
radius: height / 2
|
||||||
shadow.size: Kirigami.Units.smallSpacing
|
|
||||||
shadow.color: Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.10)
|
shadow {
|
||||||
border.color: Kirigami.ColorUtils.tintWithAlpha(color, Kirigami.Theme.textColor, 0.15)
|
size: Kirigami.Units.smallSpacing
|
||||||
border.width: 1
|
color: Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.10)
|
||||||
|
}
|
||||||
|
|
||||||
|
border {
|
||||||
|
color: Kirigami.ColorUtils.tintWithAlpha(color, Kirigami.Theme.textColor, 0.15)
|
||||||
|
width: 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
height: Kirigami.Units.iconSizes.small + Kirigami.Units.smallSpacing
|
height: Kirigami.Units.iconSizes.small + Kirigami.Units.smallSpacing
|
||||||
@@ -125,13 +153,13 @@ QQC2.Control {
|
|||||||
visible: !columnLayout.folded
|
visible: !columnLayout.folded
|
||||||
}
|
}
|
||||||
QQC2.ToolButton {
|
QQC2.ToolButton {
|
||||||
icon.name: (!columnLayout.folded ? "go-up" : "go-down")
|
icon {
|
||||||
icon.width: Kirigami.Units.iconSizes.small
|
name: (!columnLayout.folded ? "go-up" : "go-down")
|
||||||
icon.height: Kirigami.Units.iconSizes.small
|
width: Kirigami.Units.iconSizes.small
|
||||||
|
height: Kirigami.Units.iconSizes.small
|
||||||
onClicked: {
|
|
||||||
columnLayout.toggleFolded()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onClicked: columnLayout.toggleFolded()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Repeater {
|
Repeater {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -353,15 +354,10 @@ ColumnLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: avatar
|
id: avatar
|
||||||
width: visible || Config.showAvatarInTimeline ? Kirigami.Units.gridUnit * 2 + Kirigami.Units.smallSpacing * 2 : 0
|
width: visible || Config.showAvatarInTimeline ? Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2: 0
|
||||||
height: width
|
height: width
|
||||||
padding: Kirigami.Units.smallSpacing
|
|
||||||
topInset: Kirigami.Units.smallSpacing
|
|
||||||
bottomInset: Kirigami.Units.smallSpacing
|
|
||||||
leftInset: Kirigami.Units.smallSpacing
|
|
||||||
rightInset: Kirigami.Units.smallSpacing
|
|
||||||
anchors {
|
anchors {
|
||||||
left: parent.left
|
left: parent.left
|
||||||
leftMargin: Kirigami.Units.smallSpacing
|
leftMargin: Kirigami.Units.smallSpacing
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami 2.20 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -37,7 +38,7 @@ Kirigami.OverlaySheet {
|
|||||||
Layout.bottomMargin: Kirigami.Units.largeSpacing
|
Layout.bottomMargin: Kirigami.Units.largeSpacing
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing
|
||||||
|
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
Layout.preferredWidth: Kirigami.Units.iconSizes.huge
|
Layout.preferredWidth: Kirigami.Units.iconSizes.huge
|
||||||
Layout.preferredHeight: Kirigami.Units.iconSizes.huge
|
Layout.preferredHeight: Kirigami.Units.iconSizes.huge
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import QtQuick 2.15
|
|||||||
import QtQuick.Controls 2.15 as QQC2
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -222,11 +223,11 @@ Loader {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.margins: Kirigami.Units.largeSpacing
|
Layout.margins: Kirigami.Units.largeSpacing
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: avatar
|
id: avatar
|
||||||
source: author.avatarSource
|
source: author.avatarSource
|
||||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
|
Layout.preferredWidth: Kirigami.Units.gridUnit * 2
|
||||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
|
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
|
||||||
Layout.alignment: Qt.AlignTop
|
Layout.alignment: Qt.AlignTop
|
||||||
}
|
}
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -68,38 +70,51 @@ Kirigami.ScrollablePage {
|
|||||||
text: i18n("No users available")
|
text: i18n("No users available")
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate: Kirigami.BasicListItem {
|
delegate: Delegates.RoundedItemDelegate {
|
||||||
id: delegate
|
id: delegate
|
||||||
|
|
||||||
|
required property string userID
|
||||||
|
required property string name
|
||||||
|
required property string avatar
|
||||||
|
|
||||||
property bool inRoom: room && room.containsUser(userID)
|
property bool inRoom: room && room.containsUser(userID)
|
||||||
|
|
||||||
label: model.name
|
text: name
|
||||||
subtitle: model.userID
|
|
||||||
|
|
||||||
leading: Kirigami.Avatar {
|
contentItem: RowLayout {
|
||||||
implicitWidth: height
|
KirigamiComponents.Avatar {
|
||||||
source: model.avatar ? ("image://mxc/" + model.avatar) : ""
|
Layout.preferredWidth: Kirigami.Units.iconSizes.medium
|
||||||
name: model.name
|
Layout.preferredHeight: Kirigami.Units.iconSizes.medium
|
||||||
}
|
source: delegate.avatar ? ("image://mxc/" + delegate.avatar) : ""
|
||||||
trailing: QQC2.ToolButton {
|
name: delegate.name
|
||||||
id: inviteButton
|
|
||||||
icon.name: "document-send"
|
|
||||||
text: i18n("Send invitation")
|
|
||||||
checkable: true
|
|
||||||
checked: inRoom
|
|
||||||
opacity: inRoom ? 0.5 : 1
|
|
||||||
|
|
||||||
onToggled: {
|
|
||||||
if (inRoom) {
|
|
||||||
checked = true
|
|
||||||
} else {
|
|
||||||
room.inviteToRoom(model.userID);
|
|
||||||
applicationWindow().pageStack.layers.pop();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QQC2.ToolTip.text: !inRoom ? text : i18n("User is either already a member or has been invited")
|
Delegates.SubtitleContentItem {
|
||||||
QQC2.ToolTip.visible: inviteButton.hovered
|
itemDelegate: delegate
|
||||||
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
|
subtitle: delegate.userID
|
||||||
|
}
|
||||||
|
|
||||||
|
QQC2.ToolButton {
|
||||||
|
id: inviteButton
|
||||||
|
icon.name: "document-send"
|
||||||
|
text: i18n("Send invitation")
|
||||||
|
checkable: true
|
||||||
|
checked: inRoom
|
||||||
|
opacity: inRoom ? 0.5 : 1
|
||||||
|
|
||||||
|
onToggled: {
|
||||||
|
if (inRoom) {
|
||||||
|
checked = true
|
||||||
|
} else {
|
||||||
|
room.inviteToRoom(delegate.userID);
|
||||||
|
applicationWindow().pageStack.layers.pop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QQC2.ToolTip.text: !inRoom ? text : i18n("User is either already a member or has been invited")
|
||||||
|
QQC2.ToolTip.visible: inviteButton.hovered
|
||||||
|
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import QtQuick.Layouts 1.15
|
|||||||
import Qt.labs.qmlmodels 1.0
|
import Qt.labs.qmlmodels 1.0
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -202,7 +203,7 @@ Kirigami.ScrollablePage {
|
|||||||
applicationWindow().pageStack.layers.pop();
|
applicationWindow().pageStack.layers.pop();
|
||||||
}
|
}
|
||||||
contentItem: RowLayout {
|
contentItem: RowLayout {
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 2
|
Layout.preferredWidth: Kirigami.Units.gridUnit * 2
|
||||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
|
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import QtQuick.Layouts 1.15
|
|||||||
import QtQml.Models 2.15
|
import QtQml.Models 2.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
import org.kde.kitemmodels 1.0
|
import org.kde.kitemmodels 1.0
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
@@ -32,7 +33,7 @@ QQC2.ItemDelegate {
|
|||||||
|
|
||||||
visible: root.categoryVisible || filterText.length > 0 || Config.mergeRoomList
|
visible: root.categoryVisible || filterText.length > 0 || Config.mergeRoomList
|
||||||
|
|
||||||
contentItem: Kirigami.Avatar {
|
contentItem: KirigamiComponents.Avatar {
|
||||||
source: root.avatar ? `image://mxc/${root.avatar}` : ""
|
source: root.avatar ? `image://mxc/${root.avatar}` : ""
|
||||||
name: root.displayName
|
name: root.displayName
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.19 as Kirigami
|
import org.kde.kirigami 2.19 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -157,7 +158,7 @@ Loader {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.margins: Kirigami.Units.largeSpacing
|
Layout.margins: Kirigami.Units.largeSpacing
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: avatar
|
id: avatar
|
||||||
source: room.avatarMediaId ? ("image://mxc/" + room.avatarMediaId) : ""
|
source: room.avatarMediaId ? ("image://mxc/" + room.avatarMediaId) : ""
|
||||||
name: room.displayName
|
name: room.displayName
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import QtQml.Models 2.15
|
|||||||
|
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as Components
|
||||||
import org.kde.kitemmodels 1.0
|
import org.kde.kitemmodels 1.0
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
@@ -39,7 +40,7 @@ Delegates.RoundedItemDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
contentItem: RowLayout {
|
contentItem: RowLayout {
|
||||||
Kirigami.Avatar {
|
Components.Avatar {
|
||||||
source: root.avatar ? "image://mxc/" + root.avatar : ""
|
source: root.avatar ? "image://mxc/" + root.avatar : ""
|
||||||
name: root.displayName
|
name: root.displayName
|
||||||
implicitWidth: visible ? height : 0
|
implicitWidth: visible ? height : 0
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15 as QQC2
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
|
|
||||||
import org.kde.kirigami 2.19 as Kirigami
|
import org.kde.kirigami 2.19 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -78,7 +79,7 @@ Loader {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.margins: Kirigami.Units.largeSpacing
|
Layout.margins: Kirigami.Units.largeSpacing
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
id: avatar
|
id: avatar
|
||||||
source: room.avatarMediaId ? ("image://mxc/" + room.avatarMediaId) : ""
|
source: room.avatarMediaId ? ("image://mxc/" + room.avatarMediaId) : ""
|
||||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
|
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import QtQuick 2.15
|
|||||||
import QtQuick.Controls 2.15 as QQC2
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami 2.20 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -27,34 +29,28 @@ QQC2.ToolBar {
|
|||||||
|
|
||||||
header: Kirigami.Separator {}
|
header: Kirigami.Separator {}
|
||||||
|
|
||||||
footer: Kirigami.BasicListItem {
|
footer: Delegates.RoundedItemDelegate {
|
||||||
|
id: addButton
|
||||||
width: parent.width
|
width: parent.width
|
||||||
highlighted: focus
|
highlighted: focus || (addAccount.highlighted || addAccount.ListView.isCurrentItem) && !addAccount.pressed
|
||||||
background: Rectangle {
|
|
||||||
id: background
|
|
||||||
color: addAccount.backgroundColor
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
anchors.fill: parent
|
|
||||||
visible: !Kirigami.Settings.tabletMode && addAccount.hoverEnabled
|
|
||||||
color: addAccount.activeBackgroundColor
|
|
||||||
opacity: {
|
|
||||||
if ((addAccount.highlighted || addAccount.ListView.isCurrentItem) && !addAccount.pressed) {
|
|
||||||
return .6
|
|
||||||
} else if (addAccount.hovered && !addAccount.pressed) {
|
|
||||||
return .3
|
|
||||||
} else {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Component.onCompleted: userInfo.addAccount = this
|
Component.onCompleted: userInfo.addAccount = this
|
||||||
icon: "list-add"
|
icon {
|
||||||
|
name: "list-add"
|
||||||
|
width: Kirigami.Units.iconSizes.smallMedium
|
||||||
|
height: Kirigami.Units.iconSizes.smallMedium
|
||||||
|
}
|
||||||
text: i18n("Add Account")
|
text: i18n("Add Account")
|
||||||
subtitle: i18n("Log in to an existing account")
|
contentItem: Delegates.SubtitleContentItem {
|
||||||
|
itemDelegate: parent
|
||||||
|
subtitle: i18n("Log in to an existing account")
|
||||||
|
labelItem.textFormat: Text.PlainText
|
||||||
|
subtitleItem.textFormat: Text.PlainText
|
||||||
|
}
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
pageStack.pushDialogLayer("qrc:/WelcomePage.qml", {}, {title: i18nc("@title:window", "Login")})
|
pageStack.pushDialogLayer("qrc:/WelcomePage.qml", {}, {
|
||||||
|
title: i18nc("@title:window", "Login"),
|
||||||
|
});
|
||||||
if (switchUserButton.checked) {
|
if (switchUserButton.checked) {
|
||||||
switchUserButton.checked = false
|
switchUserButton.checked = false
|
||||||
}
|
}
|
||||||
@@ -101,26 +97,36 @@ QQC2.ToolBar {
|
|||||||
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
Layout.preferredHeight: contentHeight
|
Layout.preferredHeight: contentHeight
|
||||||
delegate: Kirigami.BasicListItem {
|
delegate: Delegates.RoundedItemDelegate {
|
||||||
leftPadding: topPadding
|
id: userDelegate
|
||||||
leading: Kirigami.Avatar {
|
|
||||||
implicitWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
required property var connection
|
||||||
implicitHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
|
||||||
sourceSize {
|
|
||||||
width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
|
||||||
height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
|
||||||
}
|
|
||||||
source: model.connection.localUser.avatarMediaId ? ("image://mxc/" + model.connection.localUser.avatarMediaId) : ""
|
|
||||||
name: model.connection.localUser.displayName ?? model.connection.localUser.id
|
|
||||||
}
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.connection.localUser.displayName
|
text: connection.localUser.displayName
|
||||||
labelItem.textFormat: Text.PlainText
|
|
||||||
subtitleItem.textFormat: Text.PlainText
|
contentItem: RowLayout {
|
||||||
subtitle: model.connection.localUser.id
|
KirigamiComponents.Avatar {
|
||||||
|
implicitWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||||
|
implicitHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||||
|
sourceSize {
|
||||||
|
width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||||
|
height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||||
|
}
|
||||||
|
source: userDelegate.connection.localUser.avatarMediaId ? ("image://mxc/" + userDelegate.connection.localUser.avatarMediaId) : ""
|
||||||
|
name: userDelegate.connection.localUser.displayName ?? userDelegate.connection.localUser.id
|
||||||
|
}
|
||||||
|
|
||||||
|
Delegates.SubtitleContentItem {
|
||||||
|
itemDelegate: userDelegate
|
||||||
|
subtitle: userDelegate.connection.localUser.id
|
||||||
|
labelItem.textFormat: Text.PlainText
|
||||||
|
subtitleItem.textFormat: Text.PlainText
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
Controller.activeConnection = model.connection
|
Controller.activeConnection = userDelegate.connection
|
||||||
if (switchUserButton.checked) {
|
if (switchUserButton.checked) {
|
||||||
switchUserButton.checked = false
|
switchUserButton.checked = false
|
||||||
}
|
}
|
||||||
@@ -139,29 +145,31 @@ QQC2.ToolBar {
|
|||||||
Layout.bottomMargin: Kirigami.Units.smallSpacing
|
Layout.bottomMargin: Kirigami.Units.smallSpacing
|
||||||
Layout.minimumHeight: Kirigami.Units.gridUnit * 2 - 2 // HACK: -2 here is to ensure the ChatBox and the UserInfo have the same height
|
Layout.minimumHeight: Kirigami.Units.gridUnit * 2 - 2 // HACK: -2 here is to ensure the ChatBox and the UserInfo have the same height
|
||||||
|
|
||||||
Kirigami.Avatar {
|
QQC2.AbstractButton {
|
||||||
readonly property string mediaId: Controller.activeConnection.localUser.avatarMediaId
|
|
||||||
|
|
||||||
Layout.preferredWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
Layout.preferredWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||||
Layout.preferredHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
Layout.preferredHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||||
Layout.leftMargin: Kirigami.Units.largeSpacing
|
Layout.leftMargin: Kirigami.Units.largeSpacing
|
||||||
|
|
||||||
source: mediaId ? ("image://mxc/" + mediaId) : ""
|
|
||||||
name: Controller.activeConnection.localUser.displayName ?? Controller.activeConnection.localUser.id
|
|
||||||
actions.main: Kirigami.Action {
|
|
||||||
text: i18n("Edit this account")
|
|
||||||
icon.name: "document-edit"
|
|
||||||
onTriggered: pageStack.pushDialogLayer(Qt.resolvedUrl('qrc:/AccountEditorPage.qml'), {
|
|
||||||
connection: Controller.activeConnection
|
|
||||||
}, {
|
|
||||||
title: i18n("Account editor")
|
|
||||||
});
|
|
||||||
}
|
|
||||||
TapHandler {
|
TapHandler {
|
||||||
acceptedButtons: Qt.RightButton
|
acceptedButtons: Qt.RightButton
|
||||||
acceptedDevices: PointerDevice.Mouse
|
acceptedDevices: PointerDevice.Mouse
|
||||||
onTapped: accountMenu.open()
|
onTapped: accountMenu.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
text: i18n("Edit this account")
|
||||||
|
|
||||||
|
onClicked: pageStack.pushDialogLayer(Qt.resolvedUrl('qrc:/AccountEditorPage.qml'), {
|
||||||
|
connection: Controller.activeConnection
|
||||||
|
}, {
|
||||||
|
title: i18n("Account editor")
|
||||||
|
});
|
||||||
|
|
||||||
|
contentItem: KirigamiComponents.Avatar {
|
||||||
|
readonly property string mediaId: Controller.activeConnection.localUser.avatarMediaId
|
||||||
|
|
||||||
|
source: mediaId ? ("image://mxc/" + mediaId) : ""
|
||||||
|
name: Controller.activeConnection.localUser.displayName ?? Controller.activeConnection.localUser.id
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import QtQuick 2.15
|
|||||||
import QtQuick.Controls 2.15 as QQC2
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import org.kde.kirigami 2.15 as Kirigami
|
import org.kde.kirigami 2.15 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -18,43 +19,45 @@ ColumnLayout {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: Kirigami.Units.largeSpacing * 2
|
Layout.preferredHeight: Kirigami.Units.largeSpacing * 2
|
||||||
}
|
}
|
||||||
Kirigami.Avatar {
|
|
||||||
|
QQC2.AbstractButton {
|
||||||
Layout.preferredWidth: Math.round(Kirigami.Units.gridUnit * 3.5)
|
Layout.preferredWidth: Math.round(Kirigami.Units.gridUnit * 3.5)
|
||||||
Layout.preferredHeight: Math.round(Kirigami.Units.gridUnit * 3.5)
|
Layout.preferredHeight: Math.round(Kirigami.Units.gridUnit * 3.5)
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
|
|
||||||
name: room ? room.displayName : ""
|
onClicked: {
|
||||||
source: room ? ("image://mxc/" + room.avatarMediaId) : ""
|
const popup = userDetailDialog.createObject(QQC2.ApplicationWindow.overlay, {
|
||||||
|
room: room,
|
||||||
Rectangle {
|
user: room.getUser(room.directChatRemoteUser.id),
|
||||||
visible: room.usesEncryption
|
})
|
||||||
color: Kirigami.Theme.backgroundColor
|
popup.closed.connect(() => {
|
||||||
|
userListItem.highlighted = false
|
||||||
width: Kirigami.Units.gridUnit
|
})
|
||||||
height: Kirigami.Units.gridUnit
|
if (roomDrawer.modal) {
|
||||||
anchors.bottom: parent.bottom
|
roomDrawer.close()
|
||||||
anchors.right: parent.right
|
|
||||||
|
|
||||||
radius: Math.round(width / 2)
|
|
||||||
|
|
||||||
Kirigami.Icon {
|
|
||||||
source: "channel-secure-symbolic"
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
}
|
||||||
|
popup.open()
|
||||||
}
|
}
|
||||||
actions.main: Kirigami.Action {
|
|
||||||
onTriggered: {
|
contentItem: KirigamiComponents.Avatar {
|
||||||
const popup = userDetailDialog.createObject(QQC2.ApplicationWindow.overlay, {
|
name: room ? room.displayName : ""
|
||||||
room: room,
|
source: room ? ("image://mxc/" + room.avatarMediaId) : ""
|
||||||
user: room.getUser(room.directChatRemoteUser.id),
|
|
||||||
})
|
Rectangle {
|
||||||
popup.closed.connect(() => {
|
visible: room.usesEncryption
|
||||||
userListItem.highlighted = false
|
color: Kirigami.Theme.backgroundColor
|
||||||
})
|
|
||||||
if (roomDrawer.modal) {
|
width: Kirigami.Units.gridUnit
|
||||||
roomDrawer.close()
|
height: Kirigami.Units.gridUnit
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.right: parent.right
|
||||||
|
|
||||||
|
radius: Math.round(width / 2)
|
||||||
|
|
||||||
|
Kirigami.Icon {
|
||||||
|
source: "channel-secure-symbolic"
|
||||||
|
anchors.fill: parent
|
||||||
}
|
}
|
||||||
popup.open()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import QtQuick 2.15
|
|||||||
import QtQuick.Controls 2.15 as QQC2
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami 2.20 as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
|
|
||||||
@@ -19,9 +20,9 @@ ColumnLayout {
|
|||||||
Layout.leftMargin: Kirigami.Units.largeSpacing
|
Layout.leftMargin: Kirigami.Units.largeSpacing
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing
|
||||||
|
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 3.5
|
Layout.preferredWidth: Kirigami.Units.iconSizes.large
|
||||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 3.5
|
Layout.preferredHeight: Kirigami.Units.iconSizes.large
|
||||||
|
|
||||||
name: room ? room.displayName : ""
|
name: room ? room.displayName : ""
|
||||||
source: room && room.avatarMediaId ? ("image://mxc/" + room.avatarMediaId) : ""
|
source: room && room.avatarMediaId ? ("image://mxc/" + room.avatarMediaId) : ""
|
||||||
@@ -47,6 +48,7 @@ ColumnLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
@@ -54,14 +56,13 @@ ColumnLayout {
|
|||||||
|
|
||||||
Kirigami.Heading {
|
Kirigami.Heading {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
type: Kirigami.Heading.Type.Primary
|
|
||||||
wrapMode: QQC2.Label.Wrap
|
|
||||||
text: room ? room.displayName : i18n("No name")
|
text: room ? room.displayName : i18n("No name")
|
||||||
textFormat: Text.PlainText
|
textFormat: Text.PlainText
|
||||||
}
|
}
|
||||||
|
|
||||||
Kirigami.SelectableLabel {
|
Kirigami.SelectableLabel {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
font: Kirigami.Theme.smallFont
|
||||||
textFormat: TextEdit.PlainText
|
textFormat: TextEdit.PlainText
|
||||||
text: room && room.canonicalAlias ? room.canonicalAlias : i18n("No Canonical Alias")
|
text: room && room.canonicalAlias ? room.canonicalAlias : i18n("No Canonical Alias")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import QtQuick.Layouts 1.15
|
|||||||
|
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami 2.20 as Kirigami
|
||||||
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
import org.kde.kirigamiaddons.delegates 1.0 as Delegates
|
||||||
|
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
|
||||||
import org.kde.kitemmodels 1.0
|
import org.kde.kitemmodels 1.0
|
||||||
|
|
||||||
import org.kde.neochat 1.0
|
import org.kde.neochat 1.0
|
||||||
@@ -302,7 +303,7 @@ Kirigami.OverlayDrawer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
contentItem: RowLayout {
|
contentItem: RowLayout {
|
||||||
Kirigami.Avatar {
|
KirigamiComponents.Avatar {
|
||||||
implicitWidth: height
|
implicitWidth: height
|
||||||
sourceSize {
|
sourceSize {
|
||||||
height: Kirigami.Units.gridUnit + Kirigami.Units.smallSpacing * 2.5
|
height: Kirigami.Units.gridUnit + Kirigami.Units.smallSpacing * 2.5
|
||||||
|
|||||||
Reference in New Issue
Block a user