XBMC Community Forum
Make Panel scroll by page - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Skin Development (/forumdisplay.php?fid=12)
+--- Thread: Make Panel scroll by page (/showthread.php?tid=104015)

Pages: 1 2


- jmarshall - 2011-06-23 00:02

The work involved might not be too bad. You'd check in MoveLeft/Right (also handles up/down depending on orientation) whether you were at the last item, and if so would scroll a whole page instead of just one item (i.e. you'd (de/in)crement m_offset by m_itemsPerPage and (in/de)crement m_cursor by a similar amount - 1 (depending on container)). You'd have to take account of the last page size though.

Note that "inertial scrolling" is already implemented at least in part - we know if you've held down a key and speed up scrolling automatically based on that. The problem is that not all the input classes support updating the length of time of a hold (keyboard does I think?) It's the same mechanism that is used to not loop the list when you hold down DOWN.

Cheers,
Jonathan


- Hitcher - 2011-06-23 07:47

jmarshall Wrote:Note that "inertial scrolling" is already implemented at least in part - we know if you've held down a key and speed up scrolling automatically based on that. The problem is that not all the input classes support updating the length of time of a hold (keyboard does I think?) It's the same mechanism that is used to not loop the list when you hold down DOWN.

About that, I've found that using a remote to simulate the arrow keys stops this working. Anyone know why?


- liquidskin76 - 2011-06-23 14:18

pecinko Wrote:Guys,

I'm using a Panel container for Icons view and I was wondering if there's a way to make it scroll by one page instead of by one row? I just want to make it easier on the eyes, nothing special.

Much like what you get when using scrollbar.

This would be a really handy feature for future use in a nightly/eden Welo.

I'd like Welo's wall view to scroll left/right instead up/down, however obviously doing that at the moment means (in Welo's case) its a 2 item scroll (left/right) vs a 10 item scroll (up/down).

Cheers


- dazex - 2011-07-12 08:28

Actually, the feature OP propose would be nice for skins created specifically for touch devices.


- pecinko - 2011-07-12 09:18

dazex Wrote:Actually, the feature OP propose would be nice for skins created specifically for touch devices.

It seams so, but it may not help that much. On touch screen you can have arrows which would move actual view by a page already and you can press any of them any moment you wish. In thumbnail views touch screen have big advantage over a remote.

When using remote, you must click your way to a scrollbar(or arrows), roll a page, then again click your way to an item you wish to focus. Since it's somewhat cumbersome, usually you end up just standing on last line and keep pressing arrow keys on a remote and that scrolls by row/column.


- vanMiez - 2011-07-12 09:59

even if it is not nearly the thing you guys want to achieve, i have a request wich also referes to this theme and wich could be implemented as well, if a python crack is changing something in the behaviour of scrolling, so there it hasn't to be looked up twice.

when in a two or three rowed horizontal panel (say its id is 55) you can define <onup> and <ondown> both with 55 but instead of going to the next item in the next column it will go to the first item in the actual column if you are on the last item of a column... so i would request the behaviour should be: "nextitem" no matter where the focused item was before.


and in addition (referring to this thread): why not simply make it possible to define "nextpage" and "previouspage" as the action for <onup> <onleft> <onright> <ondown> to solve your problems?

i don't want to hijack the thread, but i think it referes to scrolling behaviour as well...


- pecinko - 2011-07-23 18:32

An alternative would be ability to define focusposition and movement for panel container, like in fixedlist.

EDIT. I forgot Jeroen already proposed this alternative.