X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/f973710dc6bcfc13f8db4e5720dd2aeb1518b012..064515cf022f9ec6197c355b259960f5cb5d731e:/lib/service/listboxservice.cpp diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index cd48c62e..13538e99 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -48,6 +48,8 @@ void eListboxServiceContent::setCurrent(const eServiceReference &ref) m_cursor_number = index; break; } + if (m_listbox) + m_listbox->moveSelectionTo(index); } void eListboxServiceContent::getCurrent(eServiceReference &ref) @@ -142,7 +144,7 @@ void eListboxServiceContent::setVisualMode(int mode) if (m_visual_mode == visModeSimple) { m_element_position[celServiceName] = eRect(ePoint(0, 0), m_itemsize); - m_element_font[celServiceName] = new gFont("Arial", 23); + m_element_font[celServiceName] = new gFont("Regular", 23); m_element_position[celServiceNumber] = eRect(); m_element_font[celServiceNumber] = 0; m_element_position[celIcon] = eRect(); @@ -189,6 +191,11 @@ void eListboxServiceContent::cursorHome() { if (m_current_marked && m_saved_cursor == m_list.end()) { + if (m_cursor_number >= m_size) + { + m_cursor_number = m_size-1; + --m_cursor; + } while (m_cursor_number) { std::iter_swap(m_cursor--, m_cursor);