41 virtual void GoTo(
int start,
int cur_row) = 0;
44 bool exact =
true)
const = 0;
54 int start_chan_idx,
int cur_chan_idx,
uint rows_disp);
56 bool ProcessEntry(
const QStringList &actions,
const QKeyEvent *e);
85 QString title, QString category,
86 int arrow,
int recType,
int recStat,
bool selected)
108 const QString &startChanNum,
109 const QDateTime &startTime,
110 TV *player =
nullptr,
111 bool embedVideo =
false,
112 bool allowFinder =
true,
117 void GoTo(
int start,
int cur_row)
override;
120 bool Create(
void)
override;
121 void Load(
void)
override;
122 void Init(
void)
override;
159 void Close()
override;
164 uint chanid, QString channum,
165 const QDateTime &startTime,
166 TV *player =
nullptr,
167 bool embedVideo =
false,
168 bool allowFinder =
true,
207 bool exact =
true)
const override;
219 const QVector<ProgramList*> &proglists,
221 const std::list<GuideUIElement> &elements);
223 QVector<bool> &unavailables);
225 const QVector<bool> &unavailables);
std::vector< ChannelGroupItem > ChannelGroupList
std::vector< ChannelInfo > ChannelInfoList
void Init(void) override
Used after calling Load() to assign data to widgets and other UI initilisation which is prohibited in...
void moveToTime(const QDateTime &datetime)
void moveUpDown(MoveVector movement)
ProgramInfo * GetCurrentProgram(void) const override
MythUIText * m_jumpToText
ChannelGroupList m_changrplist
db_chan_list_list_t m_channelInfos
ProgInfoGuideArray m_programInfos
void PlayerExiting(TV *Player)
MythUIImage * m_channelImage
MythUIButtonList * m_channelList
void GoTo(int start, int cur_row) override
void Load(void) override
Load data which will ultimately be displayed on-screen or used to determine what appears on-screen (S...
MythUIButtonList * m_timeList
ChannelGroupList m_channelGroupListManual
bool gestureEvent(MythGestureEvent *event) override
Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop.
ProgramList GetProgramList(uint chanid) const
ProgramList * getProgramListFromProgram(int chanNum)
void updateChannelsUI(const QVector< ChannelInfo * > &chinfos, const QVector< bool > &unavailables)
QRecursiveMutex m_jumpToChannelLock
QDateTime GetCurrentStartTime(void) const
void ShowMenu(void) override
MythUIText * m_changroupname
int GetStartChannelOffset(int row=-1) const
void updateChannelsNonUI(QVector< ChannelInfo * > &chinfos, QVector< bool > &unavailables)
void updateProgramsUI(unsigned int firstRow, unsigned int numRows, int progPast, const QVector< ProgramList * > &proglists, const ProgInfoGuideArray &programInfos, const std::list< GuideUIElement > &elements)
void setStartChannel(int newStartChannel)
QMap< uint, uint > m_channelInfoIdx
void SetJumpToChannel(JumpToChannel *ptr) override
JumpToChannel * m_jumpToChannel
uint GetCurrentStartChannel(void) const
uint m_currentStartChannel
bool Create(void) override
std::vector< ProgramList * > m_programs
int FindChannel(uint chanid, const QString &channum, bool exact=true) const override
void updateJumpToChannel(void)
void updateChannels(void)
GuideGrid(MythScreenStack *parentStack, uint chanid, QString channum, const QDateTime &startTime, TV *player=nullptr, bool embedVideo=false, bool allowFinder=true, int changrpid=-1)
QString m_channelOrdering
void aboutToShow() override
Q_DISABLE_COPY(GuideGrid)
uint GetChannelCount(void) const
void fillChannelInfos(bool gotostartchannel=true)
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
ChannelInfo * GetChannelInfo(uint chan_idx, int sel=-1)
void toggleGuideListing()
void ToggleMute(bool CycleChannels)
QDateTime m_currentEndTime
void ShowJumpToTime(void)
void ShowRecordingMenu(void)
uint GetAlternateChannelIndex(uint chan_idx, bool with_same_channum) const
static void HideTVWindow(void)
void fillProgramRowInfos(int row, bool useExistingData)
void ChannelGroupMenu(int mode=0)
void fillProgramInfos(bool useExistingData=false)
void updateDateText(void)
ChannelInfoList GetSelection(void) const
void customEvent(QEvent *event) override
MythUIText * m_longdateText
QDateTime m_originalStartTime
QDateTime m_currentStartTime
void toggleChannelFavorite(int grpid=-1)
void aboutToHide() override
void ChangeVolume(bool Up, int NewVolume=-1)
static void RunProgramGuide(uint startChanId, const QString &startChanNum, const QDateTime &startTime, TV *player=nullptr, bool embedVideo=false, bool allowFinder=true, int changrpid=-1)
std::chrono::minutes m_selectRecThreshold
void moveLeftRight(MoveVector movement)
MythUIGuideGrid * m_guideGrid
GuideUIElement(int row, int col, const QRect area, QString title, QString category, int arrow, int recType, int recStat, bool selected)
virtual void SetJumpToChannel(JumpToChannel *ptr)=0
virtual ~JumpToChannelListener()=default
virtual void GoTo(int start, int cur_row)=0
virtual int FindChannel(uint chanid, const QString &channum, bool exact=true) const =0
virtual void deleteLater(void)
JumpToChannel(JumpToChannelListener *parent, QString start_entry, int start_chan_idx, int cur_chan_idx, uint rows_disp)
JumpToChannelListener * m_listener
int m_previousStartChannelIndex
int m_previousCurrentChannelIndex
static const uint kJumpToChannelTimeout
bool ProcessEntry(const QStringList &actions, const QKeyEvent *e)
~JumpToChannel() override=default
QString GetEntry(void) const
A custom event that represents a mouse gesture.
A narrow purpose widget used to show television programs and the timeslots they occupy on channels.
Image widget, displays a single image or multiple images in sequence.
All purpose text widget, displays a text string.
Holds information on recordings and videos.
std::vector< db_chan_list_t > db_chan_list_list_t
std::array< std::array< ProgramInfo *, MAX_DISPLAY_TIMES >, MAX_DISPLAY_CHANS > ProgInfoGuideArray
std::vector< ChannelInfo > db_chan_list_t
static constexpr int MAX_DISPLAY_CHANS