mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-09-02 02:11:11 +02:00
- fix pagedown logic, but this time for real (i hope)
Why this was so difficult code? I don't know.
This commit is contained in:
@@ -380,14 +380,12 @@ int CBEChannelWidget::exec(CMenuTarget* parent, const std::string & /*actionKey*
|
||||
if (!(Channels->empty())) {
|
||||
int step = ((int) msg == g_settings.key_pagedown) ? listmaxshow : 1; // browse or step 1
|
||||
int new_selected = selected + step;
|
||||
if (new_selected >= (int) Channels->size()) {
|
||||
if (((Channels->size() - listmaxshow -1 < selected) && (step != 1)) || (selected != (Channels->size() - 1)))
|
||||
new_selected = Channels->size() - 1;
|
||||
else if (((Channels->size() / listmaxshow) + 1) * listmaxshow == Channels->size() + listmaxshow) // last page has full entries
|
||||
new_selected = 0;
|
||||
else
|
||||
new_selected = ((step == (int) listmaxshow) && (new_selected < (int) (((Channels->size() / listmaxshow)+1) * listmaxshow))) ? (Channels->size() - 1) : 0;
|
||||
}
|
||||
if (new_selected > (int) Channels->size() - 1) {
|
||||
if ((selected != Channels->size() - 1))
|
||||
new_selected = Channels->size() - 1;
|
||||
else
|
||||
new_selected = 0;
|
||||
}
|
||||
updateSelection(new_selected);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user