Merge pull request #1535 from Nheko-Reborn/powerlevelsInTimeline

Show an indicator in the timeline for mods and admins
This commit is contained in:
DeepBlueV7.X 2023-08-10 08:19:32 +00:00 committed by GitHub
commit 70ede75aa5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 71 additions and 34 deletions

View file

@ -4,6 +4,7 @@
import ".."
import "../ui"
import "../components"
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
@ -159,39 +160,9 @@ ApplicationWindow {
}
Image {
property bool isAdmin: room.permissions.changeLevel(MtxEvent.PowerLevels) <= model.powerlevel
property bool isModerator: room.permissions.redactLevel() <= model.powerlevel
//property bool isDefault: room.permissions.defaultLevel() <= model.powerlevel
property string sourceUrl: {
if (isAdmin)
return "image://colorimage/:/icons/icons/ui/ribbon_star.svg?";
else if (isModerator)
return "image://colorimage/:/icons/icons/ui/ribbon.svg?";
else
return "image://colorimage/:/icons/icons/ui/person.svg?";
}
Layout.preferredWidth: 16
Layout.preferredHeight: 16
sourceSize.width: width
sourceSize.height: height
source: sourceUrl + (ma.hovered ? palette.highlight : palette.buttonText)
ToolTip.visible: ma.hovered
ToolTip.text: {
if (isAdmin)
return qsTr("Administrator: %1").arg(model.powerlevel);
else if (isModerator)
return qsTr("Moderator: %1").arg(model.powerlevel);
else
return qsTr("User: %1").arg(model.powerlevel);
}
HoverHandler {
id: ma
}
PowerlevelIndicator {
powerlevel: model.powerlevel
permissions: room.permissions
}
EncryptionIndicator {