MP2 - Spring'16 TV Guide - Jumping selection while scrolling (1 Viewer)

osre

Retired Team Member
  • Premium Supporter
  • December 14, 2014
    775
    387
    Home Country
    Germany Germany
    With my "virtual Cursor" idea, which button gets focused next would depend on where the Cursor currently is: more left, right or in the middle of the current button.
    The Problem with using the current Control width as ray is that if Buttons tend to be slightly right or left shiftet in each row (like it can be in EPG) then your Focus moves into this direction.
    If you have a virtual Cursor, which does not move in non Navigation direction, this Problem would not occur.
    About your layout example above: This I would consider poor UI design.
    In EPG you don't have this Situation because there are no gaps between the Buttons and by this you always move to one in the next row.
     

    Brownard

    Development Group
  • Team MediaPortal
  • March 21, 2007
    2,290
    1,872
    Home Country
    United Kingdom United Kingdom
    If you have a virtual Cursor, which does not move in non Navigation direction, this Problem would not occur.
    I agree with you here, I think this could be a good 'optimisation' but I think the ray still needs to be quite wide in cases where there are gaps between controls otherwise you will potentially skip rows (or are we only talking specifically about the EPG grid??), when I was first experimenting with the focus management I ran into similar problems.
    About your layout example above: This I would consider poor UI design.
    Again I agree with you but unfortunately this design does exist in some of the skins which is why I implemented it like I did, I felt it needed to work as best it could in all cases.

    Could you implement a compromise where the ray is the width of the control but the virtual cursor tries to minimise movement in the non navigation direction, so in my layout example the focus would move to the left hand button on the second row but the cursor position would be on the right edge of the button, so pressing up again would return it to the top centre button?

    Another option is to leave it as it is and override AddPotentialFocusableElements to only return specific controls where there is an inherent focus movement like the EPG grid (I imagine this is how @morpheus_xx has implemented the changes in the latest weekly).
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    I suggest to test the current version of EPG first to see if it is already "good enough". You can see it in last weekly build or the branch: https://github.com/MediaPortal/MediaPortal-2/tree/FEAT_TV_ZapChannel

    After that you can make code tests in the focusing logic (generic FrameworkElement). There is a test screen in GUITest plugin that has a combination of controls for basic tests. It can be used as reference scenario (IMO it's good covered by current implementation)
     

    osre

    Retired Team Member
  • Premium Supporter
  • December 14, 2014
    775
    387
    Home Country
    Germany Germany
    If it is working "good enough" currently, I would not do too much now, but save our ideas for improovement for later.
    There are enough Features pending where implementation has started already.
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    More good news: I modified the initializing of the EpgGrid, so that the current channel/running program is focused first. It also makes sure that the channel is in current viewport.
     

    Users who are viewing this thread

    Top Bottom