+ else if (e == celServiceTypePixmap || e == celFolderPixmap || e == celMarkerPixmap)
+ {
+ int orbpos = m_cursor->getUnsignedData(4) >> 16;
+ ePtr<gPixmap> &pixmap =
+ (e == celFolderPixmap) ? m_pixmaps[picFolder] :
+ (e == celMarkerPixmap) ? m_pixmaps[picMarker] :
+ (orbpos == 0xFFFF) ? m_pixmaps[picDVB_C] :
+ (orbpos == 0xEEEE) ? m_pixmaps[picDVB_T] : m_pixmaps[picDVB_S];
+ if (pixmap)
+ {
+ eSize pixmap_size = pixmap->size();
+ int p = celServiceInfo;
+ if (e == celFolderPixmap)
+ p = celServiceName;
+ else if (e == celMarkerPixmap)
+ p = celServiceNumber;
+ eRect area = m_element_position[p];
+ int correction = (area.height() - pixmap_size.height()) / 2;
+
+ if (isPlayable)
+ {
+ if (e != celServiceTypePixmap)
+ continue;
+ m_element_position[celServiceInfo] = area;
+ m_element_position[celServiceInfo].setLeft(area.left() + pixmap_size.width() + 8);
+ m_element_position[celServiceInfo].setWidth(area.width() - pixmap_size.width() - 8);
+ }
+ else if (m_cursor->flags & eServiceReference::isDirectory)
+ {
+ if (e != celFolderPixmap)
+ continue;
+ xoffset = pixmap_size.width() + 8;
+ }
+ else if (m_cursor->flags & eServiceReference::isMarker)
+ {
+ if (e != celMarkerPixmap)
+ continue;
+ }
+ else
+ eFatal("unknown service type in listboxservice");