diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-11-30 12:42:58 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-11-30 12:42:58 +0000 |
| commit | cd883d9759844701ef57afa0cb03de7722acc5e5 (patch) | |
| tree | 6caa2f72d44597fee60c6a3ab28b9c8476f52003 /lib/service | |
| parent | 496ab246034f94b00ab437d20e84710c7513511c (diff) | |
| download | enigma2-cd883d9759844701ef57afa0cb03de7722acc5e5.tar.gz enigma2-cd883d9759844701ef57afa0cb03de7722acc5e5.zip | |
some changes for service groups
Diffstat (limited to 'lib/service')
| -rw-r--r-- | lib/service/listboxservice.cpp | 24 | ||||
| -rw-r--r-- | lib/service/servicedvb.cpp | 7 |
2 files changed, 16 insertions, 15 deletions
diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index f6d9e78b..2e0dfa98 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -432,11 +432,9 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const ePtr<iStaticServiceInformation> service_info; m_service_center->info(*m_cursor, service_info); eServiceReference ref = *m_cursor; - bool checkPlayable = - (ref.flags & eServiceReference::flagDirectory) != eServiceReference::flagDirectory || - (ref.flags & eServiceReference::isGroup); + bool isPlayable = !(ref.flags & eServiceReference::isDirectory || ref.flags & eServiceReference::isMarker); - if (checkPlayable && m_is_playable_ignore.valid() && service_info && !service_info->isPlayable(*m_cursor, m_is_playable_ignore)) + if (isPlayable && m_is_playable_ignore.valid() && service_info && !service_info->isPlayable(*m_cursor, m_is_playable_ignore)) painter.setForegroundColor(gRGB(0xbbbbbb)); int xoffset=0; // used as offset when painting the folder/marker symbol @@ -549,7 +547,15 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const eRect area = m_element_position[p]; int correction = (area.height() - pixmap_size.height()) / 2; - if (m_cursor->flags & eServiceReference::flagDirectory) + 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; @@ -561,13 +567,7 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const continue; } else - { - 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); - } + eFatal("unknown service type in listboxservice"); area.moveBy(offset); painter.clip(area); diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 76fc005b..1264b872 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -172,8 +172,9 @@ int eStaticServiceDVBBouquetInformation::isPlayable(const eServiceReference &ref ((const eServiceReferenceDVB&)ignore).getChannelID(chid_ignore); for (std::list<eServiceReference>::iterator it(bouquet->m_services.begin()); it != bouquet->m_services.end(); ++it) { - int tmp=res->canAllocateChannel(chid, chid_ignore); ((const eServiceReferenceDVB&)*it).getChannelID(chid); + int tmp=res->canAllocateChannel(chid, chid_ignore); + eDebug("%d %s", tmp, it->toString().c_str()); if (tmp > cur) { m_playable_service = *it; @@ -545,7 +546,7 @@ RESULT eDVBServiceList::getNext(eServiceReference &ref) RESULT eDVBServiceList::startEdit(ePtr<iMutableServiceList> &res) { - if (m_parent.flags & eServiceReference::flagDirectory) // bouquet + if (m_parent.flags & eServiceReference::canDescent) // bouquet { ePtr<iDVBChannelList> db; ePtr<eDVBResourceManager> resm; @@ -639,7 +640,7 @@ RESULT eServiceFactoryDVB::list(const eServiceReference &ref, ePtr<iListableServ RESULT eServiceFactoryDVB::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr) { /* is a listable service? */ - if ((ref.flags & eServiceReference::flagDirectory) == eServiceReference::flagDirectory) // bouquet + if (ref.flags & eServiceReference::canDescent) // bouquet { if ( !ref.name.empty() ) // satellites or providers list ptr = m_StaticServiceDVBInfo; |
