Compare commits

..

19 Commits

Author SHA1 Message Date
4d14213cfb Add 'onLoginRequest' and 'sddm.login' back, we need that to do Breeze-style login 2022-03-07 02:35:16 +01:00
64b0e74ccc Merge pull request 'bugfix/7-get-rid-of-reference-errors' (#8) from bugfix/7-get-rid-of-reference-errors into master
Reviewed-on: #8
2022-03-06 22:19:17 +00:00
a8883aa61a Remove playlist entries pointing to nonexistent files, also sort 2022-03-06 23:18:14 +01:00
8282667ef9 Remove interaction with username and password fields on mouse and key press events for background videos 2022-03-06 23:16:45 +01:00
a224269dd5 Remove session.index 2022-03-06 23:09:47 +01:00
339a8c7975 Remove username and password bars 2022-03-06 23:07:23 +01:00
48d57b43c9 Caps lock-related messages are irrelevant for us, remove any mention of it that's been triggering ReferenceError 2022-03-06 22:50:48 +01:00
454614b28a For our use case StackView works without explicit 'height', removing that to get rid of ReferenceError 2022-03-06 22:48:59 +01:00
149b659eea Remove DropShadow, we're sticking to plain outlines 2022-03-06 22:46:30 +01:00
5708d85a38 Tab targets on action buttons are irrelevant, remove them, we're not using action buttons 2022-03-06 22:45:19 +01:00
0965b287ca No need to do animations on inputPanel, we're not using that anymore 2022-03-06 22:43:55 +01:00
5897f2860a Merge pull request 'bugfix/5-increase-avatar-size-and-font-conrtast' (#6) from bugfix/5-increase-avatar-size-and-font-conrtast into master
Reviewed-on: #6
2022-03-06 20:18:13 +00:00
79ae3de435 Parameterize colors, sizes, margins 2022-03-06 21:17:10 +01:00
53de25cc27 Increase avatar size, add outline to usernames 2022-03-06 20:08:18 +01:00
db082d122d Add option 'sessionButtonOpacity', default user list text color to white 2022-03-06 18:08:55 +01:00
a8d6c111e9 Merge pull request 'Remove Aerial-style desktop selector, make "Log in" button invisible' (#4) from bugfix/3-remove-desktop-selector-and-login into master
Reviewed-on: #4
2022-03-05 23:17:59 +00:00
463e0699de Remove Aerial-style desktop selector, make "Log in" button invisible 2022-03-06 00:16:52 +01:00
1c9f53bbb1 Merge pull request 'Remove action buttons (#1)' (#2) from bugfix/1-get-rid-of-action-buttons into master
Reviewed-on: #2
2022-03-05 22:38:01 +00:00
eefe2ce254 Remove action buttons (#1) 2022-03-05 23:36:14 +01:00
10 changed files with 162 additions and 641 deletions

View File

@@ -113,6 +113,7 @@ SessionManagementScreen {
PlasmaComponents3.Button { PlasmaComponents3.Button {
id: loginButton id: loginButton
visible: false
Accessible.name: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Log In") Accessible.name: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Log In")
Layout.preferredHeight: passwordBox.implicitHeight Layout.preferredHeight: passwordBox.implicitHeight
Layout.preferredWidth: text.length == 0 ? loginButton.Layout.preferredHeight : -1 Layout.preferredWidth: text.length == 0 ? loginButton.Layout.preferredHeight : -1

496
Main.qml
View File

@@ -20,8 +20,6 @@ Rectangle {
LayoutMirroring.enabled: Qt.locale().textDirection == Qt.RightToLeft LayoutMirroring.enabled: Qt.locale().textDirection == Qt.RightToLeft
LayoutMirroring.childrenInherit: true LayoutMirroring.childrenInherit: true
property int sessionIndex: session.index
// Inherited from SDDMComponents // Inherited from SDDMComponents
TextConstants { TextConstants {
id: textConstants id: textConstants
@@ -77,23 +75,9 @@ Rectangle {
id: mouseArea1 id: mouseArea1
anchors.fill: parent; anchors.fill: parent;
//onPressed: {playlist1.shuffle(); playlist1.next();} //onPressed: {playlist1.shuffle(); playlist1.next();}
onPressed: { onPressed: {}
fader1.state = fader1.state == "off" ? "on" : "off" ;
if (config.autofocusInput == "true") {
if (username_input_box.text == "")
username_input_box.focus = true
else
password_input_box.focus = true
}
}
}
Keys.onPressed: {
fader1.state = "on";
if (username_input_box.text == "")
username_input_box.focus = true
else
password_input_box.focus = true
} }
Keys.onPressed: {}
} }
WallpaperFader { WallpaperFader {
id: fader1 id: fader1
@@ -101,8 +85,6 @@ Rectangle {
anchors.fill: parent anchors.fill: parent
state: "off" state: "off"
source: video1 source: video1
mainStack: login_container
footer: login_container
} }
// Set Background Video2 // Set Background Video2
@@ -124,27 +106,10 @@ Rectangle {
id: mouseArea2 id: mouseArea2
enabled: false enabled: false
anchors.fill: parent; anchors.fill: parent;
onPressed: { onPressed: {}
fader1.state = fader1.state == "off" ? "on" : "off" ;
if (config.autofocusInput == "true") {
if (username_input_box.text == "")
username_input_box.focus = true
else
password_input_box.focus = true
}
}
}
Behavior on opacity {
enabled: true
NumberAnimation { easing.type: Easing.InOutQuad; duration: 3000 }
}
Keys.onPressed: {
fader2.state = "on";
if (username_input_box.text == "")
username_input_box.focus = true
else
password_input_box.focus = true
} }
Behavior on opacity {}
Keys.onPressed: {}
} }
WallpaperFader { WallpaperFader {
@@ -153,8 +118,6 @@ Rectangle {
anchors.fill: parent anchors.fill: parent
state: "off" state: "off"
source: video2 source: video2
mainStack: login_container
footer: login_container
} }
property MediaPlayer currentPlayer: mediaplayer1 property MediaPlayer currentPlayer: mediaplayer1
@@ -254,7 +217,6 @@ Rectangle {
QQC2.StackView { QQC2.StackView {
id: mainStack id: mainStack
anchors.fill: parent anchors.fill: parent
height: root.height + PlasmaCore.Units.gridUnit * 3
// If true (depends on the style and environment variables), hover events are always accepted // If true (depends on the style and environment variables), hover events are always accepted
// and propagation stopped. This means the parent MouseArea won't get them and the UI won't be shown. // and propagation stopped. This means the parent MouseArea won't get them and the UI won't be shown.
@@ -294,54 +256,7 @@ Rectangle {
return userListModel.count <= userListModel.disableAvatarsThreshold && (userList.y + mainStack.y) > 0 return userListModel.count <= userListModel.disableAvatarsThreshold && (userList.y + mainStack.y) > 0
} }
notificationMessage: {
var text = ""
if (keystateSource.data["Caps Lock"]["Locked"]) {
text += i18nd("plasma_lookandfeel_org.kde.lookandfeel","Caps Lock is on")
if (root.notificationMessage) {
text += " • "
}
}
text += root.notificationMessage
return text
}
actionItems: [
ActionButton {
iconSource: "system-suspend"
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel","Suspend to RAM","Sleep")
fontSize: parseInt(config.fontSize) + 1
onClicked: sddm.suspend()
enabled: sddm.canSuspend
visible: !inputPanel.keyboardActive
},
ActionButton {
iconSource: "system-reboot"
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart")
fontSize: parseInt(config.fontSize) + 1
onClicked: sddm.reboot()
enabled: sddm.canReboot
visible: !inputPanel.keyboardActive
},
ActionButton {
iconSource: "system-shutdown"
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shut Down")
fontSize: parseInt(config.fontSize) + 1
onClicked: sddm.powerOff()
enabled: sddm.canPowerOff
visible: !inputPanel.keyboardActive
},
ActionButton {
iconSource: "system-user-prompt"
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "For switching to a username and password prompt", "Other…")
fontSize: parseInt(config.fontSize) + 1
onClicked: mainStack.push(userPromptComponent)
enabled: true
visible: !userListComponent.showUsernamePrompt && !inputPanel.keyboardActive
}]
onLoginRequest: { onLoginRequest: {
root.notificationMessage = ""
sddm.login(username, password, sessionButton.currentIndex) sddm.login(username, password, sessionButton.currentIndex)
} }
} }
@@ -447,11 +362,6 @@ Rectangle {
target: mainStack target: mainStack
y: Math.min(0, root.height - inputPanel.height - userListComponent.visibleBoundary) y: Math.min(0, root.height - inputPanel.height - userListComponent.visibleBoundary)
} }
PropertyChanges {
target: inputPanel
y: root.height - inputPanel.height
opacity: 1
}
}, },
State { State {
name: "hidden" name: "hidden"
@@ -459,11 +369,6 @@ Rectangle {
target: mainStack target: mainStack
y: 0 y: 0
} }
PropertyChanges {
target: inputPanel
y: root.height - root.height/4
opacity: 0
}
} }
] ]
transitions: [ transitions: [
@@ -471,12 +376,6 @@ Rectangle {
from: "hidden" from: "hidden"
to: "visible" to: "visible"
SequentialAnimation { SequentialAnimation {
ScriptAction {
script: {
inputPanel.item.activated = true;
Qt.inputMethod.show();
}
}
ParallelAnimation { ParallelAnimation {
NumberAnimation { NumberAnimation {
target: mainStack target: mainStack
@@ -484,17 +383,6 @@ Rectangle {
duration: PlasmaCore.Units.longDuration duration: PlasmaCore.Units.longDuration
easing.type: Easing.InOutQuad easing.type: Easing.InOutQuad
} }
NumberAnimation {
target: inputPanel
property: "y"
duration: PlasmaCore.Units.longDuration
easing.type: Easing.OutQuad
}
OpacityAnimator {
target: inputPanel
duration: PlasmaCore.Units.longDuration
easing.type: Easing.OutQuad
}
} }
} }
}, },
@@ -509,23 +397,6 @@ Rectangle {
duration: PlasmaCore.Units.longDuration duration: PlasmaCore.Units.longDuration
easing.type: Easing.InOutQuad easing.type: Easing.InOutQuad
} }
NumberAnimation {
target: inputPanel
property: "y"
duration: PlasmaCore.Units.longDuration
easing.type: Easing.InQuad
}
OpacityAnimator {
target: inputPanel
duration: PlasmaCore.Units.longDuration
easing.type: Easing.InQuad
}
}
ScriptAction {
script: {
inputPanel.item.activated = false;
Qt.inputMethod.hide();
}
} }
} }
} }
@@ -537,7 +408,6 @@ Rectangle {
id: userPromptComponent id: userPromptComponent
Login { Login {
showUsernamePrompt: true showUsernamePrompt: true
notificationMessage: root.notificationMessage
loginScreenUiVisible: loginScreenRoot.uiVisible loginScreenUiVisible: loginScreenRoot.uiVisible
fontSize: parseInt(config.fontSize) + 2 fontSize: parseInt(config.fontSize) + 2
@@ -552,66 +422,6 @@ Rectangle {
setProperty(0, "name", i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Type in Username and Password")); setProperty(0, "name", i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Type in Username and Password"));
} }
} }
onLoginRequest: {
root.notificationMessage = ""
sddm.login(username, password, sessionButton.currentIndex)
}
actionItems: [
ActionButton {
iconSource: "system-suspend"
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel","Suspend to RAM","Sleep")
fontSize: parseInt(config.fontSize) + 1
onClicked: sddm.suspend()
enabled: sddm.canSuspend
visible: !inputPanel.keyboardActive
},
ActionButton {
iconSource: "system-reboot"
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart")
fontSize: parseInt(config.fontSize) + 1
onClicked: sddm.reboot()
enabled: sddm.canReboot
visible: !inputPanel.keyboardActive
},
ActionButton {
iconSource: "system-shutdown"
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shut Down")
fontSize: parseInt(config.fontSize) + 1
onClicked: sddm.powerOff()
enabled: sddm.canPowerOff
visible: !inputPanel.keyboardActive
},
ActionButton {
iconSource: "system-user-list"
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","List Users")
fontSize: parseInt(config.fontSize) + 1
onClicked: mainStack.pop()
visible: !inputPanel.keyboardActive
}
]
}
}
DropShadow {
id: logoShadow
anchors.fill: logo
source: logo
visible: !softwareRendering && config.showlogo == "shown"
horizontalOffset: 1
verticalOffset: 1
radius: 6
samples: 14
spread: 0.3
color : "black" // shadows should always be black
opacity: loginScreenRoot.uiVisible ? 0 : 1
Behavior on opacity {
//OpacityAnimator when starting from 0 is buggy (it shows one frame with opacity 1)"
NumberAnimation {
duration: PlasmaCore.Units.longDuration
easing.type: Easing.InOutQuad
}
} }
} }
@@ -683,295 +493,6 @@ Rectangle {
id: clock id: clock
y: parent.height * config.relativePositionY - clock.height / 2 y: parent.height * config.relativePositionY - clock.height / 2
x: parent.width * config.relativePositionX - clock.width / 2 x: parent.width * config.relativePositionX - clock.width / 2
color: "white"
timeFont.family: textFont.name
dateFont.family: textFont.name
}
Rectangle {
id: login_container
//y: parent.height * 0.8
y: clock.y + clock.height + 30
width: clock.width
height: parent.height * 0.08
color: "transparent"
anchors.left: clock.left
Rectangle {
id: username_row
height: parent.height * 0.36
color: "transparent"
anchors.left: parent.left
anchors.leftMargin: 0
anchors.right: parent.right
anchors.rightMargin: 0
transformOrigin: Item.Center
anchors.margins: 10
Text {
id: username_label
width: parent.width * 0.27
height: parent.height * 0.66
horizontalAlignment: Text.AlignLeft
font.family: textFont.name
font.bold: true
font.pixelSize: 16
color: "white"
text: "Username"
anchors.verticalCenter: parent.verticalCenter
}
TextBox {
id: username_input_box
height: parent.height
text: userModel.lastUser
anchors.verticalCenter: parent.verticalCenter
anchors.left: username_label.right
anchors.leftMargin: config.usernameLeftMargin
anchors.right: parent.right
anchors.rightMargin: 0
font: textFont.name
color: "#25000000"
borderColor: "transparent"
textColor: "white"
Keys.onPressed: {
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
sddm.login(username_input_box.text, password_input_box.text, session.index)
event.accepted = true
}
}
KeyNavigation.backtab: password_input_box
KeyNavigation.tab: password_input_box
}
}
Rectangle {
id: password_row
y: username_row.height + 10
height: parent.height * 0.36
color: "transparent"
anchors.right: parent.right
anchors.rightMargin: 0
anchors.left: parent.left
anchors.leftMargin: 0
Text {
id: password_label
width: parent.width * 0.27
text: textConstants.password
anchors.verticalCenter: parent.verticalCenter
horizontalAlignment: Text.AlignLeft
font.family: textFont.name
font.bold: true
font.pixelSize: 16
color: "white"
}
PasswordBox {
id: password_input_box
height: parent.height
font: textFont.name
color: "#25000000"
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: parent.height // this sets button width, this way its a square
anchors.left: password_label.right
anchors.leftMargin: config.passwordLeftMargin
borderColor: "transparent"
textColor: "white"
tooltipBG: "#25000000"
tooltipFG: "#dc322f"
image: "components/resources/warning_red.png"
onTextChanged: {
if (password_input_box.text == "") {
clear_passwd_button.visible = false
}
if (password_input_box.text != "" && config.showClearPasswordButton != "false") {
clear_passwd_button.visible = true
}
}
Keys.onPressed: {
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
sddm.login(username_input_box.text, password_input_box.text, session.index)
event.accepted = true
}
}
KeyNavigation.backtab: username_input_box
KeyNavigation.tab: login_button
}
Button {
id: clear_passwd_button
height: parent.height
width: parent.height
color: "transparent"
text: "x"
font: textFont.name
border.color: "transparent"
border.width: 0
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.leftMargin: 0
anchors.rightMargin: parent.height
disabledColor: "#dc322f"
activeColor: "#393939"
pressedColor: "#2aa198"
onClicked: {
password_input_box.text=''
password_input_box.focus = true
}
}
Button {
id: login_button
height: parent.height
color: "#393939"
text: ">"
border.color: "#00000000"
anchors.verticalCenter: parent.verticalCenter
anchors.left: password_input_box.right
anchors.right: parent.right
disabledColor: "#dc322f"
activeColor: "#268bd2"
pressedColor: "#2aa198"
textColor: "white"
font: textFont.name
onClicked: sddm.login(username_input_box.text, password_input_box.text, session.index)
KeyNavigation.backtab: password_input_box
KeyNavigation.tab: reboot_button
}
Text {
id: error_message
height: parent.height
font.family: textFont.name
font.pixelSize: 12
color: "white"
anchors.top: password_input_box.bottom
anchors.left: password_input_box.left
anchors.leftMargin: 0
}
}
}
}
// Top Bar
Rectangle {
id: actionBar
width: parent.width
height: parent.height * 0.04
anchors.top: parent.top;
anchors.horizontalCenter: parent.horizontalCenter
color: "transparent"
visible: config.showTopBar != "false"
Row {
id: row_left
anchors.left: parent.left
anchors.margins: 5
height: parent.height
spacing: 10
ComboBox {
id: session
width: 145
height: 20
anchors.verticalCenter: parent.verticalCenter
color: "transparent"
arrowColor: "transparent"
textColor: "#505050"
borderColor: "transparent"
hoverColor: "#5692c4"
model: sessionModel
index: sessionModel.lastIndex
KeyNavigation.backtab: shutdown_button
KeyNavigation.tab: password_input_box
}
ComboBox {
id: language
model: keyboard.layouts
index: keyboard.currentLayout
width: 50
height: 20
anchors.verticalCenter: parent.verticalCenter
color: "transparent"
arrowColor: "transparent"
textColor: "white"
borderColor: "transparent"
hoverColor: "#5692c4"
onValueChanged: keyboard.currentLayout = id
Connections {
target: keyboard
onCurrentLayoutChanged: combo.index = keyboard.currentLayout
}
rowDelegate: Rectangle {
color: "transparent"
Text {
anchors.margins: 4
anchors.top: parent.top
anchors.bottom: parent.bottom
verticalAlignment: Text.AlignVCenter
text: modelItem ? modelItem.modelData.shortName : "zz"
font.family: textFont.name
font.pixelSize: 14
//color: "white"
color: "#505050"
}
}
KeyNavigation.backtab: session
KeyNavigation.tab: username_input_box
}
}
Row {
id: row_right
height: parent.height
anchors.right: parent.right
anchors.margins: 5
spacing: 10
ImageButton {
id: reboot_button
height: parent.height
source: "components/resources/reboot.svg"
visible: sddm.canReboot
onClicked: sddm.reboot()
KeyNavigation.backtab: login_button
KeyNavigation.tab: shutdown_button
}
ImageButton {
id: shutdown_button
height: parent.height
source: "components/resources/shutdown.svg"
visible: sddm.canPowerOff
onClicked: sddm.powerOff()
KeyNavigation.backtab: reboot_button
KeyNavigation.tab: session
}
} }
} }
@@ -1000,12 +521,5 @@ Rectangle {
playlist1.shuffle() playlist1.shuffle()
playlist2.shuffle() playlist2.shuffle()
} }
if (config.showLoginButton == "false") {
login_button.visible = false
password_input_box.anchors.rightMargin = 0
clear_passwd_button.anchors.rightMargin = 0
}
clear_passwd_button.visible = false
} }
} }

View File

@@ -14,6 +14,7 @@ import QtQuick.Controls 1.3 as QQC
PlasmaComponents.ToolButton { PlasmaComponents.ToolButton {
id: root id: root
property int currentIndex: -1 property int currentIndex: -1
opacity: config.sessionButtonOpacity
implicitWidth: minimumWidth implicitWidth: minimumWidth

37
components/Clock.qml Normal file
View File

@@ -0,0 +1,37 @@
/*
SPDX-FileCopyrightText: 2016 David Edmundson <davidedmundson@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
import QtQuick 2.8
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.5 as QQC2
import org.kde.plasma.core 2.0 as PlasmaCore
ColumnLayout {
readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software
QQC2.Label {
text: Qt.formatTime(timeSource.data["Local"]["DateTime"])
color: config.textColor
style: Text.Outline
styleColor: config.textOutlineColor
font.pointSize: config.timeFontPointSize
Layout.alignment: Qt.AlignHCenter
}
QQC2.Label {
text: Qt.formatDate(timeSource.data["Local"]["DateTime"], Qt.DefaultLocaleLongDate)
color: config.textColor
style: Text.Outline
styleColor: config.textOutlineColor
font.pointSize: config.dateFontPointSize
Layout.alignment: Qt.AlignHCenter
}
PlasmaCore.DataSource {
id: timeSource
engine: "time"
connectedSources: ["Local"]
interval: 1000
}
}

View File

@@ -30,9 +30,9 @@ Item {
property int fontSize: PlasmaCore.Theme.defaultFont.pointSize + 2 property int fontSize: PlasmaCore.Theme.defaultFont.pointSize + 2
signal clicked() signal clicked()
property real faceSize: PlasmaCore.Units.gridUnit * 7 property real faceSize: PlasmaCore.Units.gridUnit * config.faceSizeInGridUnits
opacity: isCurrent ? 1.0 : 0.5 opacity: isCurrent ? 1.0 : config.avatarOpacityWhenNotSelected
Behavior on opacity { Behavior on opacity {
OpacityAnimator { OpacityAnimator {
@@ -58,13 +58,13 @@ Item {
bottomMargin: PlasmaCore.Units.largeSpacing bottomMargin: PlasmaCore.Units.largeSpacing
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
} }
Behavior on width { Behavior on width {
PropertyAnimation { PropertyAnimation {
from: faceSize from: faceSize
duration: PlasmaCore.Units.longDuration; duration: PlasmaCore.Units.longDuration;
} }
} }
width: isCurrent ? faceSize : faceSize - PlasmaCore.Units.largeSpacing width: isCurrent ? faceSize : faceSize * config.faceSizeFactorWhenNotSelected
height: width height: width
//Image takes priority, taking a full path to a file, if that doesn't exist we show an icon //Image takes priority, taking a full path to a file, if that doesn't exist we show an icon
@@ -152,15 +152,16 @@ Item {
id: usernameDelegate id: usernameDelegate
// Make it bigger than other fonts to match the scale of the avatar better // Make it bigger than other fonts to match the scale of the avatar better
font.pointSize: wrapper.fontSize + 4 font.pointSize: config.usernamePointSize
anchors { anchors {
bottom: parent.bottom bottom: parent.bottom
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
} }
width: constrainText ? parent.width : implicitWidth width: constrainText ? parent.width : implicitWidth
text: wrapper.name text: wrapper.name
style: softwareRendering ? Text.Outline : Text.Normal style: Text.Outline
styleColor: softwareRendering ? PlasmaCore.ColorScope.backgroundColor : "transparent" //no outline, doesn't matter styleColor: config.textOutlineColor
color: config.textColor
elide: Text.ElideRight elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
//make an indication that this has active focus, this only happens when reached with keyboard navigation //make an indication that this has active focus, this only happens when reached with keyboard navigation

View File

@@ -10,8 +10,8 @@ import org.kde.plasma.core 2.0 as PlasmaCore
ListView { ListView {
id: view id: view
readonly property string selectedUser: currentItem ? currentItem.userName : "" readonly property string selectedUser: currentItem ? currentItem.userName : ""
readonly property int userItemWidth: PlasmaCore.Units.gridUnit * 8 readonly property int userItemWidth: PlasmaCore.Units.gridUnit * config.faceElemWidthInGridUnits
readonly property int userItemHeight: PlasmaCore.Units.gridUnit * 8 readonly property int userItemHeight: PlasmaCore.Units.gridUnit * config.faceElemHeightInGridUnits
property int fontSize: PlasmaCore.Theme.defaultFont.pointSize + 2 property int fontSize: PlasmaCore.Theme.defaultFont.pointSize + 2
implicitHeight: userItemHeight implicitHeight: userItemHeight

View File

@@ -90,14 +90,6 @@ Item {
states: [ states: [
State { State {
name: "on" name: "on"
PropertyChanges {
target: mainStack
opacity: 1
}
PropertyChanges {
target: footer
opacity: 1
}
PropertyChanges { PropertyChanges {
target: wallpaperFader target: wallpaperFader
factor: 1 factor: 1
@@ -105,57 +97,10 @@ Item {
}, },
State { State {
name: "off" name: "off"
PropertyChanges {
target: mainStack
opacity: 0
}
PropertyChanges {
target: footer
opacity: 0
}
PropertyChanges { PropertyChanges {
target: wallpaperFader target: wallpaperFader
factor: 0 factor: 0
} }
} }
] ]
transitions: [
Transition {
from: "off"
to: "on"
//Note: can't use animators as they don't play well with parallelanimations
ParallelAnimation {
NumberAnimation {
target: mainStack
property: "opacity"
duration: units.longDuration
easing.type: Easing.InOutQuad
}
NumberAnimation {
target: footer
property: "opacity"
duration: units.longDuration
easing.type: Easing.InOutQuad
}
}
},
Transition {
from: "on"
to: "off"
ParallelAnimation {
NumberAnimation {
target: mainStack
property: "opacity"
duration: 500
easing.type: Easing.InOutQuad
}
NumberAnimation {
target: footer
property: "opacity"
duration: 500
easing.type: Easing.InOutQuad
}
}
}
]
} }

View File

@@ -1,89 +1,87 @@
/usr/share/sddm/themes/_shared/assets/comp_LA_A006_C004_v01_SDR_FINAL_PS_20180730_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A083_C002_1130KZ_v04_SDR_PS_FINAL_20180725_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b4-3.mov
/usr/share/sddm/themes/_shared/assets/BO_A014_C023_SDR_20190717_F240F3709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_WH_D004_L014_SDR_20191031_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A011_C003_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/CR_A009_C007_SDR_20191113_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_AK_A003_C014_SDR_20191113_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b1-4.mov
/usr/share/sddm/themes/_shared/assets/LA_A005_C009_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C013_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A006_C008_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A001_C004_1207W5_v23_SDR_FINAL_20180706_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b10-3.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT329_113NC_396B_1105_CHINA_v04_SDR_FINAL_20180706_F900F2700_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C008_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_CH_C007_C004_PSNK_v02_SDR_PS_FINAL_20180709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C001_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/GL_G004_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A103_C002_0205DG_v12_SDR_FINAL_20180706_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/DB_D001_C001_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b1-3.mov
/usr/share/sddm/themes/_shared/assets/DB_D002_C003_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A114_C001_0305OT_v10_SDR_FINAL_22062018_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A009_C001_010181A_v09_SDR_PS_FINAL_20180725_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/DB_D011_C009_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/BO_A012_C031_SDR_20190726_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A105_C003_0212CT_FLARE_v10_SDR_PS_FINAL_20180711_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b7-3.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT312_162NC_139M_1041_AFRICA_NIGHT_v14_SDR_FINAL_20180706_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT329_117NC_401C_1037_IRELAND_TO_ASIA_v48_SDR_PS_FINAL_20180725_F0F6300_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b3-1.mov
/usr/share/sddm/themes/_shared/assets/b6-2.mov
/usr/share/sddm/themes/_shared/assets/b3-2.mov
/usr/share/sddm/themes/_shared/assets/PA_A004_C003_SDR_20190719_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b9-3.mov
/usr/share/sddm/themes/_shared/assets/b6-3.mov
/usr/share/sddm/themes/_shared/assets/b2-3.mov
/usr/share/sddm/themes/_shared/assets/g201_CA_A016_C002_SDR_20191114_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/FK_U009_C004_SDR_20191220_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_B005_C011_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT026_363A_103NC_E1027_KOREA_JAPAN_NIGHT_v17_SDR_FINAL_25062018_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b5-2.mov
/usr/share/sddm/themes/_shared/assets/b4-2.mov
/usr/share/sddm/themes/_shared/assets/DB_D001_C005_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A008_C004_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/MEX_A006_C008_SDR_20190923_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b5-3.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT306_139NC_139J_3066_CALI_TO_VEGAS_v07_SDR_FINAL_22062018_SDR_4K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/KP_A010_C002_SDR_20190717_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/PA_A001_C007_SDR_20190717_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/DB_D011_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/AK_A004_C012_SDR_20191217_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/AK_A004_C012_SDR_20191217_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b2-2.mov /usr/share/sddm/themes/_shared/assets/BO_A012_C031_SDR_20190726_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/SE_A016_C009_SDR_20190717_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/BO_A014_C008_SDR_20190719_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT308_139K_142NC_CARIBBEAN_DAY_v09_SDR_FINAL_22062018_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/BO_A014_C023_SDR_20190717_F240F3709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b2-1.mov.1 /usr/share/sddm/themes/_shared/assets/BO_A018_C029_SDR_20190812_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b6-1.mov /usr/share/sddm/themes/_shared/assets/CR_A009_C007_SDR_20191113_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_TH_803_A001_8_SDR_20191031_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/DB_D001_C001_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b5-1.mov /usr/share/sddm/themes/_shared/assets/DB_D001_C005_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b9-2.mov /usr/share/sddm/themes/_shared/assets/DB_D002_C003_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A108_C001_v09_SDR_FINAL_22062018_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/DB_D008_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/DB_D011_C009_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/DB_D011_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/DL_B002_C011_SDR_20191122_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/DL_B002_C011_SDR_20191122_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b8-2.mov /usr/share/sddm/themes/_shared/assets/FK_U009_C004_SDR_20191220_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b1-2.mov
/usr/share/sddm/themes/_shared/assets/b8-1.mov
/usr/share/sddm/themes/_shared/assets/b4-1.mov
/usr/share/sddm/themes/_shared/assets/b1-1.mov
/usr/share/sddm/themes/_shared/assets/b3-3.mov
/usr/share/sddm/themes/_shared/assets/b2-4.mov
/usr/share/sddm/themes/_shared/assets/comp_CH_C007_C011_PSNK_v02_SDR_PS_FINAL_20180709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_CH_C002_C005_PSNK_v05_SDR_PS_FINAL_20180709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_TH_804_A001_8_SDR_20191031_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/PA_A002_C009_SDR_20190730_ALT01_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/GL_G002_C002_2K_SDR_HEVC.mov /usr/share/sddm/themes/_shared/assets/GL_G002_C002_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/GL_G004_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_B005_C011_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C001_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C008_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C010_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/HK_H004_C013_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/KP_A010_C002_SDR_20190717_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A005_C009_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A006_C008_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A008_C004_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A009_C009_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/LA_A011_C003_2K_SDR_HEVC.mov
/usr/share/sddm/themes/_shared/assets/MEX_A006_C008_SDR_20190923_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/PA_A001_C007_SDR_20190717_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/PA_A002_C009_SDR_20190730_ALT01_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/PA_A004_C003_SDR_20190719_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/PA_A010_C007_SDR_20190717_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/PA_A010_C007_SDR_20190717_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b8-3.mov /usr/share/sddm/themes/_shared/assets/RS_A008_C010_SDR_20191218_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GL_G010_C006_v08_6Mbps.mov /usr/share/sddm/themes/_shared/assets/SE_A016_C009_SDR_20190717_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b1-1.mov
/usr/share/sddm/themes/_shared/assets/b1-2.mov
/usr/share/sddm/themes/_shared/assets/b1-3.mov
/usr/share/sddm/themes/_shared/assets/b1-4.mov
/usr/share/sddm/themes/_shared/assets/b2-1.mov
/usr/share/sddm/themes/_shared/assets/b2-2.mov
/usr/share/sddm/themes/_shared/assets/b2-3.mov
/usr/share/sddm/themes/_shared/assets/b2-4.mov
/usr/share/sddm/themes/_shared/assets/b3-1.mov
/usr/share/sddm/themes/_shared/assets/b3-2.mov
/usr/share/sddm/themes/_shared/assets/b3-3.mov
/usr/share/sddm/themes/_shared/assets/b4-1.mov
/usr/share/sddm/themes/_shared/assets/b4-2.mov
/usr/share/sddm/themes/_shared/assets/b4-3.mov
/usr/share/sddm/themes/_shared/assets/b5-1.mov
/usr/share/sddm/themes/_shared/assets/b5-2.mov
/usr/share/sddm/themes/_shared/assets/b5-3.mov
/usr/share/sddm/themes/_shared/assets/b6-1.mov
/usr/share/sddm/themes/_shared/assets/b6-2.mov
/usr/share/sddm/themes/_shared/assets/b6-3.mov
/usr/share/sddm/themes/_shared/assets/b6-4.mov /usr/share/sddm/themes/_shared/assets/b6-4.mov
/usr/share/sddm/themes/_shared/assets/b7-1.mov /usr/share/sddm/themes/_shared/assets/b7-1.mov
/usr/share/sddm/themes/_shared/assets/BO_A018_C029_SDR_20190812_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/b7-2.mov /usr/share/sddm/themes/_shared/assets/b7-2.mov
/usr/share/sddm/themes/_shared/assets/DB_D008_C010_2K_SDR_HEVC.mov /usr/share/sddm/themes/_shared/assets/b7-3.mov
/usr/share/sddm/themes/_shared/assets/LA_A009_C009_2K_SDR_HEVC.mov /usr/share/sddm/themes/_shared/assets/b8-1.mov
/usr/share/sddm/themes/_shared/assets/RS_A008_C010_SDR_20191218_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/b8-2.mov
/usr/share/sddm/themes/_shared/assets/b2-1.mov /usr/share/sddm/themes/_shared/assets/b8-3.mov
/usr/share/sddm/themes/_shared/assets/BO_A014_C008_SDR_20190719_SDR_2K_HEVC.mov /usr/share/sddm/themes/_shared/assets/b9-2.mov
/usr/share/sddm/themes/_shared/assets/b2-1.mov.2 /usr/share/sddm/themes/_shared/assets/b9-3.mov
/usr/share/sddm/themes/_shared/assets/b10-3.mov
/usr/share/sddm/themes/_shared/assets/comp_A001_C004_1207W5_v23_SDR_FINAL_20180706_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A009_C001_010181A_v09_SDR_PS_FINAL_20180725_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A083_C002_1130KZ_v04_SDR_PS_FINAL_20180725_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A103_C002_0205DG_v12_SDR_FINAL_20180706_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A105_C003_0212CT_FLARE_v10_SDR_PS_FINAL_20180711_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A108_C001_v09_SDR_FINAL_22062018_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_A114_C001_0305OT_v10_SDR_FINAL_22062018_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_CH_C002_C005_PSNK_v05_SDR_PS_FINAL_20180709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_CH_C007_C004_PSNK_v02_SDR_PS_FINAL_20180709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_CH_C007_C011_PSNK_v02_SDR_PS_FINAL_20180709_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GL_G010_C006_v08_6Mbps.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT026_363A_103NC_E1027_KOREA_JAPAN_NIGHT_v17_SDR_FINAL_25062018_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT306_139NC_139J_3066_CALI_TO_VEGAS_v07_SDR_FINAL_22062018_SDR_4K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT308_139K_142NC_CARIBBEAN_DAY_v09_SDR_FINAL_22062018_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT312_162NC_139M_1041_AFRICA_NIGHT_v14_SDR_FINAL_20180706_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT329_113NC_396B_1105_CHINA_v04_SDR_FINAL_20180706_F900F2700_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_GMT329_117NC_401C_1037_IRELAND_TO_ASIA_v48_SDR_PS_FINAL_20180725_F0F6300_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/comp_LA_A006_C004_v01_SDR_FINAL_PS_20180730_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_AK_A003_C014_SDR_20191113_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_CA_A016_C002_SDR_20191114_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_TH_803_A001_8_SDR_20191031_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_TH_804_A001_8_SDR_20191031_SDR_2K_HEVC.mov
/usr/share/sddm/themes/_shared/assets/g201_WH_D004_L014_SDR_20191031_SDR_2K_HEVC.mov

View File

@@ -9,8 +9,6 @@ needsFullUserModel=false
background_img_day=background.jpg background_img_day=background.jpg
background_img_night=background.jpg background_img_night=background.jpg
background_vid_day=playlists/day.m3u
background_vid_night=playlists/night.m3u
displayFont="Droid Sans Mono for Powerline" displayFont="Droid Sans Mono for Powerline"
showLoginButton=true showLoginButton=true
passwordLeftMargin=15 passwordLeftMargin=15
@@ -19,3 +17,17 @@ relativePositionX=0.3
relativePositionY=0.7 relativePositionY=0.7
showTopBar=true showTopBar=true
autofocusInput=true autofocusInput=true
background_vid_day=playlists/all_sd.m3u
background_vid_night=playlists/all_sd.m3u
sessionButtonOpacity=0.5
textColor=white
textOutlineColor=black
avatarOpacityWhenNotSelected=0.75
faceSizeInGridUnits=10
faceSizeFactorWhenNotSelected=0.75
faceElemWidthInGridUnits=11
faceElemHeightInGridUnits=11
usernamePointSize=20
timeFontPointSize=56
dateFontPointSize=24

View File

@@ -1,6 +1,4 @@
[General] [General]
background_vid_day=playlists/day.m3u
background_vid_night=playlists/night.m3u
passwordLeftMargin=15 passwordLeftMargin=15
relativePositionX=0.5 relativePositionX=0.5
relativePositionY=0.75 relativePositionY=0.75
@@ -9,3 +7,17 @@ type=color
usernameLeftMargin=15 usernameLeftMargin=15
showTopBar=true showTopBar=true
autofocusInput=true autofocusInput=true
background_vid_day=playlists/all_sd.m3u
background_vid_night=playlists/all_sd.m3u
sessionButtonOpacity=0.5
textColor=white
textOutlineColor=black
avatarOpacityWhenNotSelected=0.75
faceSizeInGridUnits=10
faceSizeFactorWhenNotSelected=0.75
faceElemWidthInGridUnits=11
faceElemHeightInGridUnits=11
usernamePointSize=20
timeFontPointSize=56
dateFontPointSize=24