Use AvatarButton in UserInfo instead of a custom button. This has the advantage of showing keyboard focus properly
(cherry picked from commit 1eb622165b)
This commit is contained in:
committed by
Tobias Fella
parent
e9ac9deb40
commit
4097addae9
@@ -5,7 +5,7 @@ import QtQuick
|
|||||||
import QtQuick.Controls as QQC2
|
import QtQuick.Controls as QQC2
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
import org.kde.kirigamiaddons.components as KirigamiComponents
|
||||||
import org.kde.kirigamiaddons.delegates as Delegates
|
import org.kde.kirigamiaddons.delegates as Delegates
|
||||||
|
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
@@ -35,43 +35,28 @@ RowLayout {
|
|||||||
switchUserButton.checked = false;
|
switchUserButton.checked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
KirigamiComponents.AvatarButton {
|
||||||
QQC2.AbstractButton {
|
|
||||||
id: accountButton
|
id: accountButton
|
||||||
|
readonly property string mediaId: root.connection.localUser.avatarMediaId
|
||||||
|
|
||||||
Layout.preferredWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
Layout.preferredWidth: Kirigami.Units.iconSizes.medium
|
||||||
Layout.preferredHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
Layout.preferredHeight: Kirigami.Units.iconSizes.medium
|
||||||
Layout.leftMargin: Kirigami.Units.largeSpacing
|
Layout.leftMargin: Kirigami.Units.largeSpacing
|
||||||
|
|
||||||
TapHandler {
|
|
||||||
acceptedButtons: Qt.RightButton | Qt.LeftButton
|
|
||||||
onTapped: (eventPoint, button) => {
|
|
||||||
// TODO Qt6 remove
|
|
||||||
if (!button) {
|
|
||||||
button = eventPoint.event.button;
|
|
||||||
}
|
|
||||||
if (button == Qt.RightButton) {
|
|
||||||
accountMenu.open();
|
|
||||||
} else {
|
|
||||||
pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat.settings', 'AccountEditorPage'), {
|
|
||||||
connection: root.connection
|
|
||||||
}, {
|
|
||||||
title: i18n("Account editor")
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
text: i18n("Edit this account")
|
text: i18n("Edit this account")
|
||||||
|
source: mediaId ? ("image://mxc/" + mediaId) : ""
|
||||||
|
|
||||||
contentItem: KirigamiComponents.Avatar {
|
onClicked: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat.settings', 'AccountEditorPage'), {
|
||||||
readonly property string mediaId: root.connection.localUser.avatarMediaId
|
connection: root.connection
|
||||||
|
}, {
|
||||||
|
title: i18n("Account editor")
|
||||||
|
});
|
||||||
|
|
||||||
source: mediaId ? ("image://mxc/" + mediaId) : ""
|
TapHandler {
|
||||||
name: root.connection.localUser.displayName ?? root.connection.localUser.id
|
acceptedButtons: Qt.RightButton
|
||||||
|
onTapped: accountMenu.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.maximumWidth: Math.round(root.width * 0.55)
|
Layout.maximumWidth: Math.round(root.width * 0.55)
|
||||||
|
|||||||
Reference in New Issue
Block a user