Small polishing changes to the lockscreen lookandfeel package
ClosedPublic

Authored by romangg on Oct 14 2016, 11:15 AM.

Details

Summary

Several small improvements to design and usability of the lockscreen:

  • Keyboard focus changes to switchSessionPage (typing password and issuing unlock requests in this view not any longer possible) and back
  • Added keyboard commands for switchSessionPage: Left/right, return, enter, escape
  • Password field is cleaned on changing back to the main screen or session in general
  • Quick fade in of input elements on invocation of lockscreen
  • Animating slide out of clock and input elements when switching user, which is in line with the other sliding animation of the Stackview. It also helps to easen the transition, when the users have different themes or languages

One quick note to the switch session slide out animation: We could of course also fade out the whole screen to black or something. But in the default configuration the users have the same lockscreen backgrounds, where we would unnecessarily create a visual break by this.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
romangg updated this revision to Diff 7391.Oct 14 2016, 11:15 AM
romangg retitled this revision from to Small polishing changes to the lockscreen lookandfeel package.
romangg updated this object.
romangg edited the test plan for this revision. (Show Details)
romangg added a reviewer: davidedmundson.
romangg set the repository for this revision to R120 Plasma Workspace.
romangg added projects: Plasma, VDG.
Restricted Application added a subscriber: plasma-devel. · View Herald TranscriptOct 14 2016, 11:15 AM
davidedmundson added inline comments.Oct 14 2016, 1:13 PM
lookandfeel/contents/lockscreen/LockScreenUi.qml
134

you don't need to do this. (and if you do need to do this, something else is wrong)

They're within separate focus scopes, both "focusitems" should always have focus, then you switch currentItem we change which focusscope is active.

185

a.b.c.d is a sign of a bad layering it will break when someone else refactors.

get MainBlock to clear itself when it gets focus

romangg updated this revision to Diff 7399.Oct 14 2016, 4:11 PM
romangg removed R120 Plasma Workspace as the repository for this revision.
romangg marked an inline comment as done.
romangg set the repository for this revision to R120 Plasma Workspace.
romangg added inline comments.Oct 14 2016, 7:04 PM
lookandfeel/contents/lockscreen/LockScreenUi.qml
134

I think you need at least to switch the focus actively when the current item is changed. The best way is maybe to declare FocusScopes on the items, but I couldn't get the layout to work with this strategy. On the other hand I've simplified my solution by now setting the focus directly in the onStatusChanged handlers. Take a look at the second revision.

eliasp added a subscriber: eliasp.Oct 15 2016, 9:53 AM

What about hiding the password input field (or at least providing the required property) as long as the password grace period hasn't expired?

So as long as no password is required to hide the lockscreen, show no input field.

In D3055#56705, @eliasp wrote:

What about hiding the password input field (or at least providing the required property) as long as the password grace period hasn't expired?

So as long as no password is required to hide the lockscreen, show no input field.

That's definitely a good idea. I would go a step further and say, that we should also hide the "Switch User" icon and show a timer (or maybe even more fancy a progress bar) instead, which indicates how much longer the grace period will go on until the screen is locked with the password.

But I wouldn't add it to this diff, since it can be done independently of this diff. Rather someone (you? me?) should create a new diff in the future regarding this feature.

In D3055#56708, @subdiff wrote:

But I wouldn't add it to this diff, since it can be done independently of this diff. Rather someone (you? me?) should create a new diff in the future regarding this feature.

I agree - this would probably clutter this diff too much. Would really appreciate if you could take care of this - I'm missing the required skill + time to do it.

davidedmundson accepted this revision.Oct 17 2016, 7:53 AM
davidedmundson edited edge metadata.
This revision is now accepted and ready to land.Oct 17 2016, 7:53 AM
This revision was automatically updated to reflect the committed changes.