Changeset View
Changeset View
Standalone View
Standalone View
src/contents/ui/UserPage.qml
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | property var ensurePowerLevels: Kazv.AsyncHandler { | ||||
trigger: () => room.ensureStateEvent('m.room.power_levels', '') | trigger: () => room.ensureStateEvent('m.room.power_levels', '') | ||||
onResolved: { | onResolved: { | ||||
if (success) { | if (success) { | ||||
userPage.powerLevelsLoaded = true; | userPage.powerLevelsLoaded = true; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
property var updatingNameOverride: false | |||||
property var updateNameOverride: Kazv.AsyncHandler { | |||||
trigger: () => { | |||||
userPage.updatingNameOverride = true; | |||||
return sdkVars.userGivenNicknameMap.setAndUpload( | |||||
userPage.userId, nameOverrideInput.text || null); | |||||
} | |||||
onResolved: (success, data) => { | |||||
userPage.updatingNameOverride = false; | |||||
if (!success) { | |||||
showPassiveNotification(l10n.get('user-page-update-name-override-failed-prompt', { errorCode: data.errorCode, errorMsg: data.error })); | |||||
} | |||||
} | |||||
} | |||||
Component.onCompleted: { | Component.onCompleted: { | ||||
userPage.ensureMemberEvent.call(); | userPage.ensureMemberEvent.call(); | ||||
userPage.ensurePowerLevels.call(); | userPage.ensurePowerLevels.call(); | ||||
} | } | ||||
property var setPowerLevel: Kazv.AsyncHandler { | property var setPowerLevel: Kazv.AsyncHandler { | ||||
trigger: () => { | trigger: () => { | ||||
userPage.submittingPowerLevel = true; | userPage.submittingPowerLevel = true; | ||||
▲ Show 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | Kirigami.Avatar { | ||||
objectName: 'avatar' | objectName: 'avatar' | ||||
Layout.alignment: Qt.AlignHCenter | Layout.alignment: Qt.AlignHCenter | ||||
Layout.preferredHeight: Kirigami.Units.iconSizes.enormous | Layout.preferredHeight: Kirigami.Units.iconSizes.enormous | ||||
Layout.preferredWidth: Kirigami.Units.iconSizes.enormous | Layout.preferredWidth: Kirigami.Units.iconSizes.enormous | ||||
source: userPage.user.avatarMxcUri ? matrixSdk.mxcUriToHttp(userPage.user.avatarMxcUri) : '' | source: userPage.user.avatarMxcUri ? matrixSdk.mxcUriToHttp(userPage.user.avatarMxcUri) : '' | ||||
sourceSize.width: Kirigami.Units.iconSizes.enormous | sourceSize.width: Kirigami.Units.iconSizes.enormous | ||||
sourceSize.height: Kirigami.Units.iconSizes.enormous | sourceSize.height: Kirigami.Units.iconSizes.enormous | ||||
name: nameProvider.name | name: nameProvider.name | ||||
} | |||||
RowLayout { | |||||
// Do not allow user to set a name override for themselves | |||||
visible: userPage.userId !== matrixSdk.userId | |||||
TextField { | |||||
id: nameOverrideInput | |||||
objectName: 'nameOverrideInput' | |||||
placeholderText: l10n.get('user-page-overrided-name-placeholder') | |||||
Layout.fillWidth: true | |||||
enabled: !userPage.updatingNameOverride | |||||
text: nameProvider.overridedName | |||||
} | |||||
Button { | |||||
objectName: 'saveNameOverrideButton' | |||||
text: l10n.get('user-page-save-name-override-action') | |||||
enabled: !userPage.updatingNameOverride | |||||
onClicked: updateNameOverride.call() | |||||
} | |||||
} | } | ||||
RowLayout { | RowLayout { | ||||
visible: !userPage.editingPowerLevel | visible: !userPage.editingPowerLevel | ||||
Label { | Label { | ||||
objectName: 'powerLevelLabel' | objectName: 'powerLevelLabel' | ||||
Layout.fillWidth: true | Layout.fillWidth: true | ||||
text: l10n.get('user-page-power-level', { powerLevel: userPage.userPowerLevel }) | text: l10n.get('user-page-power-level', { powerLevel: userPage.userPowerLevel }) | ||||
▲ Show 20 Lines • Show All 155 Lines • Show Last 20 Lines |