mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 23:42:58 +02:00
show event logos only in infoviewer
This commit is contained in:
@@ -529,7 +529,7 @@ void CPictureViewer::getSize(const char* name, int* width, int *height)
|
||||
}
|
||||
}
|
||||
|
||||
bool CPictureViewer::GetLogoName(const uint64_t &ChannelID, const std::string &ChannelName, std::string &name, int *width, int *height, bool lcd4l_mode)
|
||||
bool CPictureViewer::GetLogoName(const uint64_t &ChannelID, const std::string &ChannelName, std::string &name, int *width, int *height, bool lcd4l_mode, bool enable_event_logo)
|
||||
{
|
||||
std::string fileType[] = { ".png", ".jpg", ".gif" };
|
||||
std::vector<std::string> v_path;
|
||||
@@ -538,7 +538,7 @@ bool CPictureViewer::GetLogoName(const uint64_t &ChannelID, const std::string &C
|
||||
// create eventname for eventlogos; Note: We don't process channellogos if any eventlogo was found.
|
||||
std::string EventName = "";
|
||||
int mode = CNeutrinoApp::getInstance()->getMode();
|
||||
if (ChannelID || mode == NeutrinoModes::mode_ts)
|
||||
if (enable_event_logo && (ChannelID || mode == NeutrinoModes::mode_ts))
|
||||
{
|
||||
// TODO: fix eventlogo in moviebrowser
|
||||
|
||||
|
@@ -67,7 +67,7 @@ class CPictureViewer
|
||||
static double m_aspect_ratio_correction;
|
||||
bool DisplayImage (const std::string & name, int posx, int posy, int width, int height, int transp=0 /*CFrameBuffer::TM_EMPTY*/);
|
||||
// bool DisplayLogo (uint64_t channel_id, int posx, int posy, int width, int height);
|
||||
bool GetLogoName(const uint64_t &ChannelID, const std::string &ChannelName, std::string &name, int *width = NULL, int *height = NULL, bool lcd4l_mode = false);
|
||||
bool GetLogoName(const uint64_t &ChannelID, const std::string &ChannelName, std::string &name, int *width = NULL, int *height = NULL, bool lcd4l_mode = false, bool enable_event_logo = false);
|
||||
fb_pixel_t * getImage (const std::string & name, int width, int height);
|
||||
fb_pixel_t * getIcon (const std::string & name, int *width, int *height);
|
||||
void getSize(const char *name, int* width, int *height);
|
||||
|
@@ -407,6 +407,7 @@ void CComponentsChannelLogo::init(const uint64_t& channelId, const std::string&
|
||||
alt_pic_name = "";
|
||||
setChannel(channelId, channelName);
|
||||
do_scale = allow_scale;
|
||||
enable_event_logo = false;
|
||||
}
|
||||
void CComponentsChannelLogo::setAltLogo(const std::string& picture_name)
|
||||
{
|
||||
@@ -444,7 +445,7 @@ void CComponentsChannelLogo::setChannel(const uint64_t& channelId, const std::st
|
||||
|
||||
int dummy;
|
||||
|
||||
has_logo = g_PicViewer->GetLogoName(channel_id, channel_name, image, &dummy, &dummy);
|
||||
has_logo = g_PicViewer->GetLogoName(channel_id, channel_name, image, &dummy, &dummy, false, enable_event_logo);
|
||||
|
||||
if (!has_logo)//no logo was found, use altrenate icon or logo
|
||||
image = alt_pic_name;
|
||||
|
@@ -201,6 +201,9 @@ class CComponentsChannelLogo : public CComponentsPicture
|
||||
///channel name
|
||||
std::string channel_name;
|
||||
|
||||
///mode of event logo
|
||||
bool enable_event_logo;
|
||||
|
||||
///alternate image file, if no channel logo is available
|
||||
std::string alt_pic_name;
|
||||
|
||||
@@ -251,6 +254,10 @@ class CComponentsChannelLogo : public CComponentsPicture
|
||||
///set an alternate logo if no logo is available, NOTE: value of has_logo will set to true
|
||||
void setAltLogo(const char* picture_name);
|
||||
|
||||
///enable/disable eventlogo
|
||||
void enableEventLogo(bool enable = true){enable_event_logo = enable;}
|
||||
void disableEventLogo(){enableEventLogo(false);}
|
||||
|
||||
///returns true, if any logo is available, also if an alternate logo was setted
|
||||
bool hasLogo(){return has_logo;};
|
||||
|
||||
|
@@ -2146,7 +2146,7 @@ int CInfoViewer::showChannelLogo(const t_channel_id logo_channel_id, const int c
|
||||
int start_x = ChanNameX;
|
||||
int chan_w = BoxEndX - (start_x + 2*OFFSET_INNER_MID) - time_width - OFFSET_INNER_MID;
|
||||
|
||||
bool logo_available = g_PicViewer->GetLogoName(logo_channel_id, ChannelName, strAbsIconPath, &logo_w, &logo_h);
|
||||
bool logo_available = g_PicViewer->GetLogoName(logo_channel_id, ChannelName, strAbsIconPath, &logo_w, &logo_h, false, true);
|
||||
|
||||
//fprintf(stderr, "%s: logo_available: %d file: %s\n", __FUNCTION__, logo_available, strAbsIconPath.c_str());
|
||||
|
||||
|
Reference in New Issue
Block a user