diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 1196f4741..2e979e8fd 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -34,6 +34,7 @@ #endif #include +#include #include #include #include @@ -44,25 +45,24 @@ #include #include -#include -#include - #include "widget/hintbox.h" #include "widget/buttons.h" #include "gui/bouquetlist.h" #include -extern CBouquetList * bouquetList; +#include +#include #include /* CZapitClient::Utf8_to_Latin1 */ -#include - #include #include #include -extern CRemoteControl *g_RemoteControl; /* neutrino.cpp */ #include + +extern CBouquetList * bouquetList; +extern CRemoteControl *g_RemoteControl; /* neutrino.cpp */ + extern CPictureViewer * g_PicViewer; void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventList &eList, char search = 0, std::string search_text = ""); @@ -293,16 +293,9 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam sort_mode=0; - bool fadeIn = g_settings.widget_fade; - bool fadeOut = false; - int fadeValue = g_settings.menu_Content_alpha; - uint32_t fadeTimer = 0; - if ( fadeIn ) { - fadeValue = 100; - frameBuffer->setBlendMode(2); // Global alpha multiplied with pixel alpha - frameBuffer->setBlendLevel(fadeValue, fadeValue); - fadeTimer = g_RCInput->addTimer( FADE_TIME, false ); - } + COSDFader fader(g_settings.menu_Content_alpha); + fader.StartFadeIn(); + readEvents(channel_id); UpdateTimerList(); @@ -327,38 +320,15 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam if ( msg <= CRCInput::RC_MaxRC ) timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); - if((msg == NeutrinoMessages::EVT_TIMER) && (data == fadeTimer)) { - if (fadeOut) { // disappear - fadeValue += FADE_STEP; - if (fadeValue >= 100) { - fadeValue = g_settings.menu_Content_alpha; - g_RCInput->killTimer (fadeTimer); - loop = false; - } else - frameBuffer->setBlendLevel(fadeValue, fadeValue); - } else { // appears - fadeValue -= FADE_STEP; - if (fadeValue <= g_settings.menu_Content_alpha) { - fadeValue = g_settings.menu_Content_alpha; - g_RCInput->killTimer (fadeTimer); - fadeIn = false; - frameBuffer->setBlendMode(1); // Set back to per pixel alpha - } else - frameBuffer->setBlendLevel(fadeValue, fadeValue); - } + if((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetTimer())) { + if(fader.Fade()) + loop = false; } else if (msg == CRCInput::RC_timeout) { selected = oldselected; - if ( fadeIn ) { - g_RCInput->killTimer(fadeTimer); - fadeIn = false; - } - if ((!fadeOut) && g_settings.widget_fade) { - fadeOut = true; - fadeTimer = g_RCInput->addTimer( FADE_TIME, false ); + if(fader.StartFadeOut()) { timeoutEnd = CRCInput::calcTimeoutEnd( 1 ); - frameBuffer->setBlendMode(2); // Global alpha multiplied with pixel alpha msg = 0; } else loop = false; @@ -566,15 +536,8 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam showFunctionBar(true, channel_id); } else { selected = oldselected; - if ( fadeIn ) { - g_RCInput->killTimer(fadeTimer); - fadeIn = false; - } - if ((!fadeOut) && g_settings.widget_fade) { - fadeOut = true; - fadeTimer = g_RCInput->addTimer( FADE_TIME, false ); + if(fader.StartFadeOut()) { timeoutEnd = CRCInput::calcTimeoutEnd( 1 ); - frameBuffer->setBlendMode(2); // Global alpha multiplied with pixel alpha msg = 0; } else loop = false; @@ -691,11 +654,7 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam } hide(); - if ( fadeIn || fadeOut ) { - g_RCInput->killTimer(fadeTimer); - frameBuffer->setBlendMode(1); // Set back to per pixel alpha - } - + fader.Stop(); return res; }