git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add a list to the wizard
[enigma2.git]
/
lib
/
gui
/
elistbox.cpp
diff --git
a/lib/gui/elistbox.cpp
b/lib/gui/elistbox.cpp
index 28d220a2dc20e74c5d4ab4b8351c8eca22e4a02d..e2f1c26f878691063247a066fe25aa18b36a2d7f 100644
(file)
--- a/
lib/gui/elistbox.cpp
+++ b/
lib/gui/elistbox.cpp
@@
-96,17
+96,16
@@
void eListbox::moveSelection(int dir)
/* now, look wether the current selection is out of screen */
m_selected = m_content->cursorGet();
/* now, look wether the current selection is out of screen */
m_selected = m_content->cursorGet();
-
-
if
(m_selected < m_top)
+
+
while
(m_selected < m_top)
{
m_top -= m_items_per_page;
if (m_top < 0)
m_top = 0;
{
m_top -= m_items_per_page;
if (m_top < 0)
m_top = 0;
- } else if (m_selected >= m_top + m_items_per_page)
- {
- /* m_top should be always valid here as it's selected */
- m_top += m_items_per_page;
}
}
+ while (m_selected >= m_top + m_items_per_page)
+ /* m_top should be always valid here as it's selected */
+ m_top += m_items_per_page;
if (m_top != oldtop)
invalidate();
if (m_top != oldtop)
invalidate();
@@
-121,6
+120,14
@@
void eListbox::moveSelection(int dir)
}
}
}
}
+void eListbox::moveSelectionTo(int index)
+{
+ printf("Moving to listbox-entry with index %d\n", index);
+ m_content->cursorHome();
+ m_content->cursorMove(index);
+ moveSelection(justCheck);
+}
+
int eListbox::event(int event, void *data, void *data2)
{
switch (event)
int eListbox::event(int event, void *data, void *data2)
{
switch (event)