mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 09:21:18 +02:00
- epgview: more imdb/tmdb unifications
Conflicts: src/gui/epgview.cpp Signed-off-by: Thilo Graf <dbt@novatux.de> TODO: fix star values, no count of stars at epg window to see, variable 'stars' is missing.
This commit is contained in:
@@ -293,9 +293,10 @@ void CEpgData::showText(int startPos, int ypos, bool has_cover, bool fullClear)
|
||||
medlineheight = font->getHeight();
|
||||
|
||||
// show ranking
|
||||
if ((stars > 0 || imdb_stars > 0) && (tmdb_active || imdb_active) && startPos == 0)
|
||||
if (startPos == 0 && (imdb_active || tmdb_active))
|
||||
{
|
||||
std::string provider_logo = "";
|
||||
int stars = 0;
|
||||
|
||||
if (tmdb_active && startPos == 0)
|
||||
provider_logo = NEUTRINO_ICON_TMDB;
|
||||
@@ -705,7 +706,6 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
|
||||
imdb_active = false;
|
||||
imdb_stars = 0;
|
||||
tmdb_active = false;
|
||||
stars = 0;
|
||||
|
||||
t_channel_id epg_id = channel_id;
|
||||
CZapitChannel * channel = CServiceManager::getInstance()->FindChannel(channel_id);
|
||||
@@ -1154,8 +1154,10 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
|
||||
break;
|
||||
case CRCInput::RC_0: //imdb
|
||||
{
|
||||
if (imdb_active) {
|
||||
if (imdb_active)
|
||||
{
|
||||
imdb_active = false;
|
||||
imdb_stars = 0;
|
||||
showTimerEventBar(true, !mp_info && isCurrentEPG(channel_id), mp_info); //show buttons
|
||||
epgText = epgText_saved;
|
||||
textCount = epgText.size();
|
||||
@@ -1163,25 +1165,30 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
|
||||
if (g_settings.tmdb_enabled)
|
||||
{
|
||||
showPos = 0;
|
||||
if (!tmdb_active) {
|
||||
if (!tmdb_active)
|
||||
{
|
||||
tmdb->setTitle(epgData.title);
|
||||
if ((tmdb->getResults() > 0) && (!tmdb->getDescription().empty())) {
|
||||
if ((tmdb->getResults() > 0) && (!tmdb->getDescription().empty()))
|
||||
{
|
||||
tmdb_active = true;
|
||||
tmdb_stars = tmdb->getStars();
|
||||
epgText_saved = epgText;
|
||||
epgText.clear();
|
||||
tmdb_active = true;
|
||||
epgTextSwitch = tmdb->getMovieText();
|
||||
processTextToArray(tmdb->getEPGText(), 0, tmdb->hasPoster());
|
||||
textCount = epgText.size();
|
||||
stars = tmdb->getStars();
|
||||
showText(showPos, sy + toph, tmdb->hasPoster());
|
||||
} else {
|
||||
ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NODETAILED, CMsgBox::mbrOk , CMsgBox::mbrOk);
|
||||
timeoutEnd = CRCInput::calcTimeoutEnd(timeout);
|
||||
}
|
||||
} else {
|
||||
else
|
||||
ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NODETAILED, CMsgBox::mbrOk , CMsgBox::mbrOk);
|
||||
}
|
||||
else
|
||||
{
|
||||
tmdb_active = false;
|
||||
tmdb_stars = 0;
|
||||
epgText = epgText_saved;
|
||||
textCount = epgText.size();
|
||||
tmdb_active = false;
|
||||
stars=0;
|
||||
showText(showPos, sy + toph);
|
||||
}
|
||||
}
|
||||
@@ -1189,44 +1196,67 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
|
||||
}
|
||||
case CRCInput::RC_green:
|
||||
{
|
||||
if (tmdb_active) {
|
||||
if (tmdb_active)
|
||||
{
|
||||
tmdb_active = false;
|
||||
tmdb_stars = 0;
|
||||
epgText = epgText_saved;
|
||||
textCount = epgText.size();
|
||||
stars=0;
|
||||
}
|
||||
if (!imdb_active)
|
||||
if (g_settings.omdb_enabled)
|
||||
{
|
||||
//show IMDb info
|
||||
imdb_active = true;
|
||||
imdb->setTitle(epgData.title);
|
||||
showIMDb();
|
||||
showTimerEventBar(true, !mp_info && isCurrentEPG(channel_id), mp_info); //show buttons
|
||||
timeoutEnd = CRCInput::calcTimeoutEnd(timeout);
|
||||
}
|
||||
else if (imdb_active && imdb->hasPoster())
|
||||
{
|
||||
imdb_active = false;
|
||||
CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_IMDB_INFO_SAVE);
|
||||
hintBox->paint();
|
||||
|
||||
std::string picname;
|
||||
if (mp_info)
|
||||
showPos = 0;
|
||||
if (!imdb_active)
|
||||
{
|
||||
size_t _pos;
|
||||
if ((_pos = movie_filename.rfind(".")) != std::string::npos)
|
||||
picname = movie_filename.substr(0, _pos) + ".jpg";
|
||||
imdb->setTitle(epgData.title);
|
||||
if (((imdb->getIMDbElement("Title").find(imdb->search_error)) == std::string::npos))
|
||||
{
|
||||
imdb_active = true;
|
||||
imdb_stars = imdb->getStars();
|
||||
epgText_saved = epgText;
|
||||
epgText.clear();
|
||||
epgTextSwitch = imdb->getMovieText();
|
||||
processTextToArray(imdb->getEPGText(), 0, imdb->hasPoster());
|
||||
textCount = epgText.size();
|
||||
showText(0, sy + toph, imdb->hasPoster());
|
||||
showTimerEventBar(true, !mp_info && isCurrentEPG(channel_id), mp_info); //show buttons
|
||||
timeoutEnd = CRCInput::calcTimeoutEnd(timeout);
|
||||
}
|
||||
else
|
||||
ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NODETAILED, CMsgBox::mbrOk , CMsgBox::mbrOk);
|
||||
}
|
||||
else if (imdb_active && imdb->hasPoster())
|
||||
{
|
||||
imdb_active = false;
|
||||
CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_IMDB_INFO_SAVE);
|
||||
hintBox->paint();
|
||||
|
||||
std::string picname;
|
||||
if (mp_info)
|
||||
{
|
||||
size_t _pos;
|
||||
if ((_pos = movie_filename.rfind(".")) != std::string::npos)
|
||||
picname = movie_filename.substr(0, _pos) + ".jpg";
|
||||
}
|
||||
else
|
||||
picname = imdb->getFilename(channel, epgData.eventID);
|
||||
|
||||
CFileHelpers fh;
|
||||
if (!fh.copyFile(imdb->posterfile.c_str(), picname.c_str(), 0644))
|
||||
perror( "IMDb: error copy file" );
|
||||
|
||||
sleep(2);
|
||||
hintBox->hide();
|
||||
showTimerEventBar(true, !mp_info && isCurrentEPG(channel_id), mp_info); //show buttons
|
||||
}
|
||||
else
|
||||
picname = imdb->getFilename(channel, epgData.eventID);
|
||||
|
||||
CFileHelpers fh;
|
||||
if (!fh.copyFile(imdb->posterfile.c_str(), picname.c_str(), 0644))
|
||||
perror( "IMDb: error copy file" );
|
||||
|
||||
sleep(2);
|
||||
hintBox->hide();
|
||||
showTimerEventBar(true, !mp_info && isCurrentEPG(channel_id), mp_info); //show buttons
|
||||
{
|
||||
imdb_active = false;
|
||||
imdb_stars = 0;
|
||||
epgText = epgText_saved;
|
||||
textCount = epgText.size();
|
||||
showText(showPos, sy + toph);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1638,32 +1668,6 @@ void CEpgData::showTimerEventBar (bool pshow, bool adzap, bool mp_info)
|
||||
}
|
||||
}
|
||||
|
||||
//imdb start
|
||||
int CEpgData::showIMDb()
|
||||
{
|
||||
//title
|
||||
std::string title = imdb->getIMDbElement("Title");
|
||||
|
||||
if(((title.find(imdb->search_error)) != std::string::npos))
|
||||
return 1;
|
||||
|
||||
// clear epg array
|
||||
epgText_saved = epgText;
|
||||
epgText.clear();
|
||||
|
||||
//data
|
||||
epgTextSwitch = imdb->getMovieText();
|
||||
processTextToArray(imdb->getEPGText(), 0, imdb->hasPoster());
|
||||
|
||||
textCount = epgText.size();
|
||||
|
||||
//rating
|
||||
imdb_stars = imdb->getStars();
|
||||
|
||||
showText(0, sy + toph, imdb->hasPoster());
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CEpgData::ResetModules()
|
||||
{
|
||||
if (header){
|
||||
|
@@ -35,8 +35,8 @@
|
||||
|
||||
#include <system/settings.h>
|
||||
|
||||
#include <gui/mdb-imdb.h>
|
||||
#include <gui/mdb-tmdb.h>
|
||||
#include "mdb-imdb.h"
|
||||
#include "mdb-tmdb.h"
|
||||
#include <driver/movieinfo.h>
|
||||
#include "widget/menue.h"
|
||||
#include "widget/navibar.h"
|
||||
@@ -68,7 +68,7 @@ class CEpgData
|
||||
bool has_follow_screenings;
|
||||
bool call_fromfollowlist;
|
||||
bool tmdb_active;
|
||||
int stars;
|
||||
|
||||
time_t tmp_curent_zeit;
|
||||
|
||||
uint64_t prev_id;
|
||||
@@ -101,14 +101,11 @@ class CEpgData
|
||||
void showProgressBar();
|
||||
bool isCurrentEPG(const t_channel_id channel_id);
|
||||
|
||||
|
||||
bool imdb_active;
|
||||
int imdb_stars;
|
||||
int tmdb_stars, imdb_stars;
|
||||
std::string imdb_rating;
|
||||
std::string epg_title;
|
||||
std::string movie_filename;
|
||||
int showIMDb();
|
||||
Font *fontIMDb;
|
||||
|
||||
public:
|
||||
|
||||
|
Reference in New Issue
Block a user