mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 09:21:18 +02:00
the current code has differences in hasFollowScreenings() and FollowScreenings() leading to different results. hasFollow() returns true but Follow() then notices that there are actually no repeats. Fix this by making hasFollowScreenings() generate a list "followlist" containing all repeats and FollowScreenings() use that list. An added benefit is that the requested feature to add a possibility to select one of the follow-ups for a record timer will be also able to use that list ;-) git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1383 e54a6e83-5905-42d5-8d5c-058d10e6a962
111 lines
2.9 KiB
C++
111 lines
2.9 KiB
C++
/*
|
|
Neutrino-GUI - DBoxII-Project
|
|
|
|
Copyright (C) 2001 Steffen Hehn 'McClean'
|
|
Homepage: http://dbox.cyberphoria.org/
|
|
|
|
Kommentar:
|
|
|
|
Diese GUI wurde von Grund auf neu programmiert und sollte nun vom
|
|
Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert
|
|
auf der Client-Server Idee, diese GUI ist also von der direkten DBox-
|
|
Steuerung getrennt. Diese wird dann von Daemons uebernommen.
|
|
|
|
|
|
License: GPL
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
|
|
#ifndef __epgview__
|
|
#define __epgview__
|
|
|
|
#include <driver/framebuffer.h>
|
|
#include <driver/rcinput.h>
|
|
#include <driver/fontrenderer.h>
|
|
#include <system/settings.h>
|
|
|
|
#include <gui/color.h>
|
|
#include "widget/menue.h"
|
|
|
|
#include <sectionsdclient/sectionsdclient.h>
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
|
|
#define BIG_FONT_FAKTOR 1.5
|
|
|
|
class CEpgData
|
|
{
|
|
private:
|
|
CFrameBuffer *frameBuffer;
|
|
CChannelEventList evtlist;
|
|
CChannelEventList followlist;
|
|
CEPGData epgData;
|
|
|
|
std::string epg_date;
|
|
std::string epg_start;
|
|
std::string epg_end;
|
|
int epg_done;
|
|
bool bigFonts;
|
|
time_t tmp_curent_zeit;
|
|
|
|
uint64_t prev_id;
|
|
time_t prev_zeit;
|
|
uint64_t next_id;
|
|
time_t next_zeit;
|
|
|
|
int ox, oy, sx, sy, toph, sb;
|
|
int emptyLineCount, info1_lines;
|
|
int textCount;
|
|
typedef std::pair<std::string,bool> epg_pair;
|
|
std::vector<epg_pair> epgText;
|
|
int topheight,topboxheight;
|
|
int buttonheight,botboxheight;
|
|
int medlineheight,medlinecount;
|
|
|
|
void GetEPGData(const t_channel_id channel_id, uint64_t id, time_t* startzeit, bool clear = true );
|
|
void GetPrevNextEPGData( uint64_t id, time_t* startzeit );
|
|
void addTextToArray( const std::string & text, bool screening );
|
|
void processTextToArray(std::string text, bool screening = false);
|
|
void showText( int startPos, int ypos );
|
|
bool hasFollowScreenings(const t_channel_id channel_id, const std::string & title);
|
|
int FollowScreenings(const t_channel_id channel_id, const std::string & title);
|
|
void showTimerEventBar(bool show);
|
|
|
|
public:
|
|
|
|
CEpgData();
|
|
void start( );
|
|
int show(const t_channel_id channel_id, uint64_t id = 0, time_t* startzeit = NULL, bool doLoop = true );
|
|
void hide();
|
|
};
|
|
|
|
|
|
|
|
class CEPGDataHandler : public CMenuTarget
|
|
{
|
|
public:
|
|
int exec( CMenuTarget* parent, const std::string &actionkey);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|