mirror of
https://github.com/luneko/SweetTokyoNight.git
synced 2025-12-16 08:29:53 +01:00
Kde: Add sddm theme
This commit is contained in:
74
kde/sddm/components/UserList.qml
Normal file
74
kde/sddm/components/UserList.qml
Normal file
@@ -0,0 +1,74 @@
|
||||
import QtQuick 2.2
|
||||
|
||||
ListView {
|
||||
id: view
|
||||
readonly property string selectedUser: currentItem ? currentItem.userName : ""
|
||||
readonly property int userItemWidth: units.gridUnit * 8
|
||||
readonly property int userItemHeight: units.gridUnit * 8
|
||||
|
||||
implicitHeight: userItemHeight
|
||||
|
||||
activeFocusOnTab : true
|
||||
|
||||
/*
|
||||
* Signals that a user was explicitly selected
|
||||
*/
|
||||
signal userSelected;
|
||||
|
||||
orientation: ListView.Horizontal
|
||||
highlightRangeMode: ListView.StrictlyEnforceRange
|
||||
|
||||
//centre align selected item (which implicitly centre aligns the rest
|
||||
preferredHighlightBegin: width/2 - userItemWidth/2
|
||||
preferredHighlightEnd: preferredHighlightBegin
|
||||
|
||||
delegate: UserDelegate {
|
||||
avatarPath: model.icon || ""
|
||||
iconSource: model.iconName || "user-identity"
|
||||
|
||||
name: {
|
||||
var displayName = model.realName || model.name
|
||||
|
||||
if (model.vtNumber === undefined || model.vtNumber < 0) {
|
||||
return displayName
|
||||
}
|
||||
|
||||
if (!model.session) {
|
||||
return i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Nobody logged in on that session", "Unused")
|
||||
}
|
||||
|
||||
|
||||
var location = ""
|
||||
if (model.isTty) {
|
||||
location = i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "User logged in on console number", "TTY %1", model.vtNumber)
|
||||
} else if (model.displayNumber) {
|
||||
location = i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "User logged in on console (X display number)", "on TTY %1 (Display %2)", model.vtNumber, model.displayNumber)
|
||||
}
|
||||
|
||||
if (location) {
|
||||
return i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Username (location)", "%1 (%2)", displayName, location)
|
||||
}
|
||||
|
||||
return displayName
|
||||
}
|
||||
|
||||
userName: model.name
|
||||
|
||||
width: userItemWidth
|
||||
height: userItemHeight
|
||||
|
||||
//if we only have one delegate, we don't need to clip the text as it won't be overlapping with anything
|
||||
constrainText: ListView.view.count > 1
|
||||
|
||||
isCurrent: ListView.isCurrentItem
|
||||
|
||||
onClicked: {
|
||||
ListView.view.currentIndex = index;
|
||||
ListView.view.userSelected();
|
||||
}
|
||||
}
|
||||
|
||||
Keys.onEscapePressed: view.userSelected()
|
||||
Keys.onEnterPressed: view.userSelected()
|
||||
Keys.onReturnPressed: view.userSelected()
|
||||
}
|
||||
Reference in New Issue
Block a user