diff --git a/src/gui/bedit/bouqueteditor_bouquets.cpp b/src/gui/bedit/bouqueteditor_bouquets.cpp index d8f151a87..c588464f0 100644 --- a/src/gui/bedit/bouqueteditor_bouquets.cpp +++ b/src/gui/bedit/bouqueteditor_bouquets.cpp @@ -292,13 +292,11 @@ int CBEBouquetWidget::exec(CMenuTarget* parent, const std::string & /*actionKey* if (!(Bouquets->empty())) { int step = ((int) msg == g_settings.key_pagedown) ? listmaxshow : 1; // browse or step 1 int new_selected = selected + step; - if (new_selected >= (int) Bouquets->size()) { - if (((Bouquets->size() - listmaxshow -1 < selected) && (step != 1)) || (selected != (Bouquets->size() - 1))) + if (new_selected > (int) Bouquets->size() - 1) { + if ((selected != Bouquets->size() - 1)) new_selected = Bouquets->size() - 1; - else if (((Bouquets->size() / listmaxshow) + 1) * listmaxshow == Bouquets->size() + listmaxshow) // last page has full entries - new_selected = 0; else - new_selected = ((step == (int) listmaxshow) && (new_selected < (int) (((Bouquets->size() / listmaxshow)+1) * listmaxshow))) ? (Bouquets->size() - 1) : 0; + new_selected = 0; } updateSelection(new_selected); } diff --git a/src/gui/bedit/bouqueteditor_channels.cpp b/src/gui/bedit/bouqueteditor_channels.cpp index 5c0ae0b72..6d92d9cc9 100644 --- a/src/gui/bedit/bouqueteditor_channels.cpp +++ b/src/gui/bedit/bouqueteditor_channels.cpp @@ -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); } } diff --git a/src/gui/bouquetlist.cpp b/src/gui/bouquetlist.cpp index d46ec06f3..e1ecb09e6 100644 --- a/src/gui/bouquetlist.cpp +++ b/src/gui/bouquetlist.cpp @@ -546,13 +546,11 @@ int CBouquetList::show(bool bShowChannelList) if (!Bouquets.empty()) { int step = ((int) msg == g_settings.key_pagedown) ? listmaxshow : 1; // browse or step 1 int new_selected = selected + step; - if (new_selected >= (int) Bouquets.size()) { - if (((Bouquets.size() - listmaxshow -1 < selected) && (step != 1)) || (selected != (Bouquets.size() - 1))) + if (new_selected > (int) Bouquets.size() - 1) { + if ((selected != Bouquets.size() - 1)) new_selected = Bouquets.size() - 1; - else if (((Bouquets.size() / listmaxshow) + 1) * listmaxshow == Bouquets.size() + listmaxshow) // last page has full entries - new_selected = 0; else - new_selected = ((step == (int) listmaxshow) && (new_selected < (int) (((Bouquets.size() / listmaxshow)+1) * listmaxshow))) ? (Bouquets.size() - 1) : 0; + new_selected = 0; } updateSelection(new_selected); } diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 89bfcc921..9c658f5ff 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -742,13 +742,11 @@ int CChannelList::show() displayList = 1; int step = ((int) msg == g_settings.key_pagedown) ? listmaxshow : 1; // browse or step 1 int new_selected = selected + step; - if (new_selected >= (int) (*chanlist).size()) { - if ((((*chanlist).size() - listmaxshow -1 < selected) && (step != 1)) || (selected != ((*chanlist).size() - 1))) + if (new_selected > (int) (*chanlist).size() - 1) { + if ((selected != (*chanlist).size() - 1)) new_selected = (*chanlist).size() - 1; - else if ((((*chanlist).size() / listmaxshow) + 1) * listmaxshow == (*chanlist).size() + listmaxshow) // last page has full entries - new_selected = 0; else - new_selected = ((step == (int) listmaxshow) && (new_selected < (int) ((((*chanlist).size() / listmaxshow)+1) * listmaxshow))) ? ((*chanlist).size() - 1) : 0; + new_selected = 0; } actzap = updateSelection(new_selected); } diff --git a/src/gui/upnpbrowser.cpp b/src/gui/upnpbrowser.cpp index d7cc5de49..509300bb0 100644 --- a/src/gui/upnpbrowser.cpp +++ b/src/gui/upnpbrowser.cpp @@ -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); } diff --git a/src/gui/widget/listbox.cpp b/src/gui/widget/listbox.cpp index e5fc17a1c..e05c02943 100644 --- a/src/gui/widget/listbox.cpp +++ b/src/gui/widget/listbox.cpp @@ -208,13 +208,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); }