X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Flistboxservice.cpp;h=074b8cd061ebad70a59b2ba2798b4cb666870971;hp=cc8c32b50e64c6123fd4f58761f0f6eea059b9e9;hb=74f5884fdc5a23465cf40c27b5c069ff7d882746;hpb=dd2f75a38c17459f1a3d46cf529a6b4fe3f7e3f2 diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index cc8c32b..074b8cd 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -99,6 +99,48 @@ void eListboxServiceContent::getCurrent(eServiceReference &ref) ref = eServiceReference(); } +void eListboxServiceContent::getPrev(eServiceReference &ref) +{ + if (cursorValid()) + { + list::iterator cursor(m_cursor); + if (cursor == m_list.begin()) + { + cursor = m_list.end(); + } + ref = *(--cursor); + } + else + ref = eServiceReference(); +} + +void eListboxServiceContent::getNext(eServiceReference &ref) +{ + if (cursorValid()) + { + list::iterator cursor(m_cursor); + cursor++; + if (cursor == m_list.end()) + { + cursor = m_list.begin(); + } + ref = *(cursor); + } + else + ref = eServiceReference(); +} + +PyObject *eListboxServiceContent::getList() +{ + ePyObject result = PyList_New(m_list.size()); + int pos=0; + for (list::iterator it(m_list.begin()); it != m_list.end(); ++it) + { + PyList_SET_ITEM(result, pos++, NEW_eServiceReference(*it)); + } + return result; +} + int eListboxServiceContent::getNextBeginningWithChar(char c) { // printf("Char: %c\n", c); @@ -585,6 +627,9 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const { if (service_info) service_info->getName(*m_cursor, text); +#ifdef USE_LIBVUGLES2 + painter.setFlush(text == ""); +#endif break; } case celServiceInfo: