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