diff options
Diffstat (limited to 'status.h')
-rw-r--r-- | status.h | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -27,16 +27,50 @@ public: typedef std::string tRecordingInfo; typedef std::vector<tRecordingInfo> tRecordings; + struct tEvent : public cListObject { + time_t startTime; + time_t stopTime; + int channelNumber; + std::string channelName; + int priority; + bool isRecording; + std::string title; + + tEvent(cTimer *timer) : + startTime(timer->StartTime()), + stopTime(timer->StopTime()), + channelNumber(timer->Channel()->Number()), + channelName(timer->Channel()->Name()), + priority(timer->Priority()), + isRecording(timer->Recording()), + title(timer->File()) {} + + virtual int Compare(const cListObject &listObj) const { + tEvent *e = (tEvent *)&listObj; + int r = startTime - e->startTime; + if (r == 0) + r = e->priority - priority; + return r; + } + }; + + typedef std::vector<tEvent> tEvents; + private: + void UpdateEvents(void); + cText2SkinRender *mRender; eReplayMode mReplayMode; bool mReplayIsLoop; bool mReplayIsShuffle; tRecordings mRecordings; + const cRecording *mReplay; + cList<tEvent> mEvents; cMutex mRecordingsLock; uint mCurrentRecording; uint mNextRecording; int mLastLanguage; + int mTimerConflicts; protected: virtual void Replaying(const cControl *Control, const char *Name, @@ -45,6 +79,9 @@ protected: const char *FileName, bool On); virtual void OsdClear(void); + virtual void OsdCurrentItem(const char *Text); + virtual void OsdItem(const char *Text, int Index); + public: cText2SkinStatus(void); |