diff --git a/src/qml/UserDetailDialog.qml b/src/qml/UserDetailDialog.qml index aa7e66b75..d62b563f1 100644 --- a/src/qml/UserDetailDialog.qml +++ b/src/qml/UserDetailDialog.qml @@ -116,6 +116,16 @@ Kirigami.Dialog { } } + Kirigami.Chip { + visible: root.room + text: root.room ? QmlUtils.nameForLevel(root.room.memberEffectivePowerLevel(root.user.id)) : "" + closable: false + checkable: false + + Layout.leftMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.largeSpacing + } + Kirigami.Separator { Layout.fillWidth: true } diff --git a/src/utils.cpp b/src/utils.cpp index 9a14adfa4..584d6bacc 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -48,6 +48,11 @@ QQuickItem *QmlUtils::focusedWindowItem() } } +QString QmlUtils::nameForLevel(const PowerLevel::Level level) +{ + return PowerLevel::nameForLevel(level); +} + bool Utils::isEmoji(const QString &text) { #ifdef HAVE_ICU diff --git a/src/utils.h b/src/utils.h index 6f5112055..881a704b0 100644 --- a/src/utils.h +++ b/src/utils.h @@ -12,6 +12,8 @@ #include +#include "enums/powerlevel.h" + using namespace Qt::StringLiterals; class QmlUtils : public QObject @@ -38,6 +40,10 @@ public: Q_INVOKABLE QString escapeString(const QString &string); Q_INVOKABLE QColor getUserColor(qreal hueF); Q_INVOKABLE QQuickItem *focusedWindowItem(); + /** + * @brief Invokable version of PowerLevel::nameForLevel. + */ + Q_INVOKABLE QString nameForLevel(PowerLevel::Level level); private: QmlUtils() = default;