diff --git a/lookandfeel/contents/components/KeyboardLayoutButton.qml b/lookandfeel/contents/components/KeyboardLayoutButton.qml --- a/lookandfeel/contents/components/KeyboardLayoutButton.qml +++ b/lookandfeel/contents/components/KeyboardLayoutButton.qml @@ -27,6 +27,8 @@ PlasmaComponents.ToolButton { id: kbLayoutButton + readonly property int currentIndex: layout.layouts.indexOf(layout.currentLayout) + iconName: "input-keyboard" implicitWidth: minimumWidth text: layout.currentLayoutDisplayName diff --git a/lookandfeel/contents/components/SessionManagementScreen.qml b/lookandfeel/contents/components/SessionManagementScreen.qml --- a/lookandfeel/contents/components/SessionManagementScreen.qml +++ b/lookandfeel/contents/components/SessionManagementScreen.qml @@ -28,6 +28,11 @@ Item { id: root + /** + * Emitted when a link in the message label is clicked + */ + signal notificationMessageLinkActivated(string link) + /* * Any message to be displayed to the user, visible above the text fields */ @@ -92,6 +97,10 @@ horizontalAlignment: Text.AlignHCenter wrapMode: Text.WordWrap font.italic: true + linkColor: color + onLinkActivated: { + root.notificationMessageLinkActivated(link) + } } ColumnLayout { Layout.minimumHeight: implicitHeight diff --git a/lookandfeel/contents/lockscreen/LockScreenUi.qml b/lookandfeel/contents/lockscreen/LockScreenUi.qml --- a/lookandfeel/contents/lockscreen/LockScreenUi.qml +++ b/lookandfeel/contents/lockscreen/LockScreenUi.qml @@ -35,7 +35,11 @@ Connections { target: authenticator onFailed: { - root.notification = i18nd("plasma_lookandfeel_org.kde.lookandfeel","Unlocking failed"); + if (keyboardLayoutButton.currentIndex > 0) { + root.notification = i18nd("plasma_lookandfeel_org.kde.lookandfeel","Unlocking failed. Check your keyboard layout."); + } else { + root.notification = i18nd("plasma_lookandfeel_org.kde.lookandfeel","Unlocking failed"); + } } onGraceLockedChanged: { if (!authenticator.graceLocked) { @@ -445,6 +449,7 @@ } KeyboardLayoutButton { + id: keyboardLayoutButton } Item {