Merge remote-tracking branch 'cst-next'

This commit is contained in:
Stefan Seyfried
2016-01-16 12:51:04 +01:00
31 changed files with 148 additions and 119 deletions

View File

@@ -206,13 +206,11 @@ int CListBox::exec(CMenuTarget* parent, const std::string & /*actionKey*/)
if(getItemCount()!=0) {
int step = ((int) msg == g_settings.key_pagedown) ? listmaxshow : 1; // browse or step 1
int new_selected = selected + step;
if (new_selected >= (int) getItemCount()) {
if (((getItemCount() - listmaxshow -1 < selected) && (step != 1)) || (selected != (getItemCount() - 1)))
if (new_selected > (int) getItemCount() - 1) {
if ((selected != getItemCount() - 1))
new_selected = getItemCount() - 1;
else if (((getItemCount() / listmaxshow) + 1) * listmaxshow == getItemCount() + listmaxshow) // last page has full entries
new_selected = 0;
else
new_selected = ((step == (int) listmaxshow) && (new_selected < (int) (((getItemCount() / listmaxshow)+1) * listmaxshow))) ? (getItemCount() - 1) : 0;
new_selected = 0;
}
updateSelection(new_selected);
}