- 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:
svenhoefer
2016-01-15 13:51:14 +01:00
parent 06778d42c2
commit b00e78a165
6 changed files with 21 additions and 33 deletions

View File

@@ -504,13 +504,11 @@ void CUpnpBrowserGui::selectDevice()
{
int step = ((int) msg == g_settings.key_pagedown) ? m_listmaxshow : 1; // browse or step 1
int new_selected = m_selecteddevice + step;
if (new_selected >= (int) m_devices.size()) {
if (((m_devices.size() - m_listmaxshow -1 < m_selecteddevice) && (step != 1)) || (m_selecteddevice != (m_devices.size() - 1)))
if (new_selected > (int) m_devices.size() - 1) {
if ((m_selecteddevice != m_devices.size() - 1))
new_selected = m_devices.size() - 1;
else if (((m_devices.size() / m_listmaxshow) + 1) * m_listmaxshow == m_devices.size() + m_listmaxshow) // last page has full entries
new_selected = 0;
else
new_selected = ((step == (int) m_listmaxshow) && (new_selected < (int) (((m_devices.size() / m_listmaxshow)+1) * m_listmaxshow))) ? (m_devices.size() - 1) : 0;
new_selected = 0;
}
updateDeviceSelection(new_selected);
}