mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
added timer type to epg2vdr interface
This commit is contained in:
parent
beeb82bbda
commit
e068cb93fd
4
HISTORY
4
HISTORY
@ -435,3 +435,7 @@ Version 0.7.2
|
|||||||
Version 1.2.4 (horchi)
|
Version 1.2.4 (horchi)
|
||||||
|
|
||||||
- added compatibility to vdr 2.3.8
|
- added compatibility to vdr 2.3.8
|
||||||
|
|
||||||
|
Version 1.2.5 (horchi)
|
||||||
|
|
||||||
|
- added timer type to epg2vdr interface
|
||||||
|
@ -1045,6 +1045,7 @@ enum class eLeMenuTimersST {
|
|||||||
stateinfo,
|
stateinfo,
|
||||||
action,
|
action,
|
||||||
vdrname,
|
vdrname,
|
||||||
|
type,
|
||||||
count
|
count
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1086,6 +1087,7 @@ enum class eCeMenuTimersST {
|
|||||||
stateinfo,
|
stateinfo,
|
||||||
action,
|
action,
|
||||||
vdrname,
|
vdrname,
|
||||||
|
type,
|
||||||
count
|
count
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
/******************************************************************
|
/******************************************************************
|
||||||
* cListElement
|
* cListElement
|
||||||
******************************************************************/
|
******************************************************************/
|
||||||
cListElement::cListElement(void) {
|
cListElement::cListElement(void) {
|
||||||
dirty = false;
|
dirty = false;
|
||||||
num = -1;
|
num = -1;
|
||||||
current = false;
|
current = false;
|
||||||
@ -23,9 +23,9 @@ cListElement::cListElement(void) {
|
|||||||
|
|
||||||
cListElement::cListElement(const cListElement &other) : cViewElement(other) {
|
cListElement::cListElement(const cListElement &other) : cViewElement(other) {
|
||||||
num = -1;
|
num = -1;
|
||||||
current = false;
|
current = false;
|
||||||
wasCurrent = false;
|
wasCurrent = false;
|
||||||
selectable = false;
|
selectable = false;
|
||||||
selectedFromTop = true;
|
selectedFromTop = true;
|
||||||
suppressAnimation = false;
|
suppressAnimation = false;
|
||||||
listShifter = NULL;
|
listShifter = NULL;
|
||||||
@ -33,7 +33,7 @@ cListElement::cListElement(const cListElement &other) : cViewElement(other) {
|
|||||||
orientation = eOrientation::vertical;
|
orientation = eOrientation::vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cListElement::SetCurrent(bool cur) {
|
void cListElement::SetCurrent(bool cur) {
|
||||||
if (!cur && current)
|
if (!cur && current)
|
||||||
wasCurrent = true;
|
wasCurrent = true;
|
||||||
else
|
else
|
||||||
@ -78,7 +78,7 @@ void cListElement::Render(void) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//don't clear animated list element if it was current
|
//don't clear animated list element if it was current
|
||||||
//and animation was not suppressed because of cleared list
|
//and animation was not suppressed because of cleared list
|
||||||
sdOsd->Lock();
|
sdOsd->Lock();
|
||||||
if (animated && wasCurrent && !suppressAnimation) {
|
if (animated && wasCurrent && !suppressAnimation) {
|
||||||
@ -92,13 +92,13 @@ void cListElement::Render(void) {
|
|||||||
sdOsd->Lock();
|
sdOsd->Lock();
|
||||||
node->Render();
|
node->Render();
|
||||||
sdOsd->Unlock();
|
sdOsd->Unlock();
|
||||||
|
|
||||||
if (DoScroll() && node->Scrolling() && !node->ScrollingStarted()) {
|
if (DoScroll() && node->Scrolling() && !node->ScrollingStarted()) {
|
||||||
cArea *scrollArea = node->ScrollingArea();
|
cArea *scrollArea = node->ScrollingArea();
|
||||||
if (scrollArea) {
|
if (scrollArea) {
|
||||||
cScroller *scroller = new cScroller(scrollArea);
|
cScroller *scroller = new cScroller(scrollArea);
|
||||||
scrollers.push_back(scroller);
|
scrollers.push_back(scroller);
|
||||||
cView::AddAnimation(scroller);
|
cView::AddAnimation(scroller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -490,7 +490,7 @@ void cVeMenuMain::SplitText(void) {
|
|||||||
if (found) {
|
if (found) {
|
||||||
//if current char is not a figure anymore, break
|
//if current char is not a figure anymore, break
|
||||||
if (!(*c >= '0' && *c <= '9')) {
|
if (!(*c >= '0' && *c <= '9')) {
|
||||||
//there has to be a space after the menu item number
|
//there has to be a space after the menu item number
|
||||||
//plugins with figures in their name are eval :-)
|
//plugins with figures in their name are eval :-)
|
||||||
if (*c != ' ')
|
if (*c != ' ')
|
||||||
found = false;
|
found = false;
|
||||||
@ -787,7 +787,7 @@ bool cLeMenuSchedules::Parse(bool forced) {
|
|||||||
}
|
}
|
||||||
} else if (!channel) {
|
} else if (!channel) {
|
||||||
//Hack für komischen patch von jinx
|
//Hack für komischen patch von jinx
|
||||||
//stringTokens.insert(pair<string,string>("title", dayseparator));
|
//stringTokens.insert(pair<string,string>("title", dayseparator));
|
||||||
}
|
}
|
||||||
if (channel) {
|
if (channel) {
|
||||||
tokenContainer->AddStringToken((int)eLeMenuSchedulesST::channelname, channel->Name());
|
tokenContainer->AddStringToken((int)eLeMenuSchedulesST::channelname, channel->Name());
|
||||||
@ -866,7 +866,7 @@ void cCeMenuSchedules::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineLoopToken("{schedule[start]}", (int)eCeMenuSchedulesLT::start);
|
tokenContainer->DefineLoopToken("{schedule[start]}", (int)eCeMenuSchedulesLT::start);
|
||||||
tokenContainer->DefineLoopToken("{schedule[stop]}", (int)eCeMenuSchedulesLT::stop);
|
tokenContainer->DefineLoopToken("{schedule[stop]}", (int)eCeMenuSchedulesLT::stop);
|
||||||
schedulesIndex = tokenContainer->LoopIndex("schedule");
|
schedulesIndex = tokenContainer->LoopIndex("schedule");
|
||||||
InheritTokenContainer();
|
InheritTokenContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cCeMenuSchedules::Set(const cEvent *event, const cChannel *channel, bool withDate, eTimerMatch timerMatch, eMenuCategory menuCat) {
|
void cCeMenuSchedules::Set(const cEvent *event, const cChannel *channel, bool withDate, eTimerMatch timerMatch, eMenuCategory menuCat) {
|
||||||
@ -955,7 +955,7 @@ bool cCeMenuSchedules::Parse(bool forced) {
|
|||||||
}
|
}
|
||||||
vector<int> loopInfo;
|
vector<int> loopInfo;
|
||||||
loopInfo.push_back(eventsAvailable);
|
loopInfo.push_back(eventsAvailable);
|
||||||
tokenContainer->CreateLoopTokenContainer(&loopInfo);
|
tokenContainer->CreateLoopTokenContainer(&loopInfo);
|
||||||
|
|
||||||
if (schedule) {
|
if (schedule) {
|
||||||
int num = 0;
|
int num = 0;
|
||||||
@ -971,7 +971,7 @@ bool cCeMenuSchedules::Parse(bool forced) {
|
|||||||
num++;
|
num++;
|
||||||
if (num > 11)
|
if (num > 11)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -1017,7 +1017,7 @@ void cLeMenuChannels::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineIntToken("{isSat}", (int)eLeMenuChannelsIT::isSat);
|
tokenContainer->DefineIntToken("{isSat}", (int)eLeMenuChannelsIT::isSat);
|
||||||
tokenContainer->DefineIntToken("{isTerr}", (int)eLeMenuChannelsIT::isTerr);
|
tokenContainer->DefineIntToken("{isTerr}", (int)eLeMenuChannelsIT::isTerr);
|
||||||
tokenContainer->DefineIntToken("{isEncrypted}", (int)eLeMenuChannelsIT::isEncrypted);
|
tokenContainer->DefineIntToken("{isEncrypted}", (int)eLeMenuChannelsIT::isEncrypted);
|
||||||
InheritTokenContainer();
|
InheritTokenContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cLeMenuChannels::ClearCurrentElement(void) {
|
void cLeMenuChannels::ClearCurrentElement(void) {
|
||||||
@ -1238,7 +1238,7 @@ bool cCeMenuChannels::Parse(bool forced) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<int> loopInfo;
|
vector<int> loopInfo;
|
||||||
int eventsAvailable = 0;
|
int eventsAvailable = 0;
|
||||||
if (schedule) {
|
if (schedule) {
|
||||||
@ -1253,7 +1253,7 @@ bool cCeMenuChannels::Parse(bool forced) {
|
|||||||
eventsAvailable = 0;
|
eventsAvailable = 0;
|
||||||
|
|
||||||
loopInfo.push_back(eventsAvailable);
|
loopInfo.push_back(eventsAvailable);
|
||||||
tokenContainer->CreateLoopTokenContainer(&loopInfo);
|
tokenContainer->CreateLoopTokenContainer(&loopInfo);
|
||||||
|
|
||||||
if (schedule && eventsAvailable > 0) {
|
if (schedule && eventsAvailable > 0) {
|
||||||
int num = 0;
|
int num = 0;
|
||||||
@ -1269,7 +1269,7 @@ bool cCeMenuChannels::Parse(bool forced) {
|
|||||||
num++;
|
num++;
|
||||||
if (num > 11)
|
if (num > 11)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1307,6 +1307,7 @@ void cLeMenuTimers::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineStringToken("{stateinfo}", (int)eLeMenuTimersST::stateinfo);
|
tokenContainer->DefineStringToken("{stateinfo}", (int)eLeMenuTimersST::stateinfo);
|
||||||
tokenContainer->DefineStringToken("{action}", (int)eLeMenuTimersST::action);
|
tokenContainer->DefineStringToken("{action}", (int)eLeMenuTimersST::action);
|
||||||
tokenContainer->DefineStringToken("{vdrname}", (int)eLeMenuTimersST::vdrname);
|
tokenContainer->DefineStringToken("{vdrname}", (int)eLeMenuTimersST::vdrname);
|
||||||
|
tokenContainer->DefineStringToken("{type}", (int)eLeMenuTimersST::type);
|
||||||
tokenContainer->DefineIntToken("{nummenuitem}", (int)eLeMenuTimersIT::nummenuitem);
|
tokenContainer->DefineIntToken("{nummenuitem}", (int)eLeMenuTimersIT::nummenuitem);
|
||||||
tokenContainer->DefineIntToken("{current}", (int)eLeMenuTimersIT::current);
|
tokenContainer->DefineIntToken("{current}", (int)eLeMenuTimersIT::current);
|
||||||
tokenContainer->DefineIntToken("{separator}", (int)eLeMenuTimersIT::separator);
|
tokenContainer->DefineIntToken("{separator}", (int)eLeMenuTimersIT::separator);
|
||||||
@ -1321,7 +1322,7 @@ void cLeMenuTimers::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineIntToken("{flagpending}", (int)eLeMenuTimersIT::flagpending);
|
tokenContainer->DefineIntToken("{flagpending}", (int)eLeMenuTimersIT::flagpending);
|
||||||
tokenContainer->DefineIntToken("{isvdrrunning}", (int)eLeMenuTimersIT::isvdrrunning);
|
tokenContainer->DefineIntToken("{isvdrrunning}", (int)eLeMenuTimersIT::isvdrrunning);
|
||||||
tokenContainer->DefineIntToken("{isremote}", (int)eLeMenuTimersIT::isremote);
|
tokenContainer->DefineIntToken("{isremote}", (int)eLeMenuTimersIT::isremote);
|
||||||
InheritTokenContainer();
|
InheritTokenContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cLeMenuTimers::ClearCurrentElement(void) {
|
void cLeMenuTimers::ClearCurrentElement(void) {
|
||||||
@ -1348,7 +1349,7 @@ bool cLeMenuTimers::Parse(bool forced) {
|
|||||||
tokenContainer->AddIntToken((int)eLeMenuTimersIT::flagvps, timer->HasFlags(tfVps));
|
tokenContainer->AddIntToken((int)eLeMenuTimersIT::flagvps, timer->HasFlags(tfVps));
|
||||||
tokenContainer->AddIntToken((int)eLeMenuTimersIT::flagrecording, timer->Recording());
|
tokenContainer->AddIntToken((int)eLeMenuTimersIT::flagrecording, timer->Recording());
|
||||||
tokenContainer->AddIntToken((int)eLeMenuTimersIT::flagpending, timer->Pending());
|
tokenContainer->AddIntToken((int)eLeMenuTimersIT::flagpending, timer->Pending());
|
||||||
|
|
||||||
const char *file = Setup.FoldersInTimerMenu ? NULL : strrchr(timer->File(), FOLDERDELIMCHAR);
|
const char *file = Setup.FoldersInTimerMenu ? NULL : strrchr(timer->File(), FOLDERDELIMCHAR);
|
||||||
if (file && strcmp(file + 1, TIMERMACRO_TITLE) && strcmp(file + 1, TIMERMACRO_EPISODE))
|
if (file && strcmp(file + 1, TIMERMACRO_TITLE) && strcmp(file + 1, TIMERMACRO_EPISODE))
|
||||||
file++;
|
file++;
|
||||||
@ -1357,7 +1358,7 @@ bool cLeMenuTimers::Parse(bool forced) {
|
|||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::title, file);
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::title, file);
|
||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::timerstart, *cString::sprintf("%02d:%02d", timer->Start() / 100, timer->Start() % 100));
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::timerstart, *cString::sprintf("%02d:%02d", timer->Start() / 100, timer->Start() % 100));
|
||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::timerstop, *cString::sprintf("%02d:%02d", timer->Stop() / 100, timer->Stop() % 100));
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::timerstop, *cString::sprintf("%02d:%02d", timer->Stop() / 100, timer->Stop() % 100));
|
||||||
|
|
||||||
cString day("");
|
cString day("");
|
||||||
cString dayName("");
|
cString dayName("");
|
||||||
if (timer->WeekDays())
|
if (timer->WeekDays())
|
||||||
@ -1373,7 +1374,7 @@ bool cLeMenuTimers::Parse(bool forced) {
|
|||||||
strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r);
|
strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r);
|
||||||
day = buffer;
|
day = buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct tm tm_r;
|
struct tm tm_r;
|
||||||
time_t timerDate = timer->Day();
|
time_t timerDate = timer->Day();
|
||||||
localtime_r(&timerDate, &tm_r);
|
localtime_r(&timerDate, &tm_r);
|
||||||
@ -1417,6 +1418,8 @@ bool cLeMenuTimers::Parse(bool forced) {
|
|||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::state, state.str().c_str());
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::state, state.str().c_str());
|
||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::stateinfo, epgTimer->StateInfo());
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::stateinfo, epgTimer->StateInfo());
|
||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::vdrname, epgTimer->VdrName());
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::vdrname, epgTimer->VdrName());
|
||||||
|
char tp[2]; sprintf(tp, "%c", epgTimer->Type());
|
||||||
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::type, tp);
|
||||||
stringstream action;
|
stringstream action;
|
||||||
action << epgTimer->Action();
|
action << epgTimer->Action();
|
||||||
tokenContainer->AddStringToken((int)eLeMenuTimersST::action, action.str().c_str());
|
tokenContainer->AddStringToken((int)eLeMenuTimersST::action, action.str().c_str());
|
||||||
@ -1465,6 +1468,7 @@ void cCeMenuTimers::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineStringToken("{stateinfo}", (int)eCeMenuTimersST::stateinfo);
|
tokenContainer->DefineStringToken("{stateinfo}", (int)eCeMenuTimersST::stateinfo);
|
||||||
tokenContainer->DefineStringToken("{action}", (int)eCeMenuTimersST::action);
|
tokenContainer->DefineStringToken("{action}", (int)eCeMenuTimersST::action);
|
||||||
tokenContainer->DefineStringToken("{vdrname}", (int)eCeMenuTimersST::vdrname);
|
tokenContainer->DefineStringToken("{vdrname}", (int)eCeMenuTimersST::vdrname);
|
||||||
|
tokenContainer->DefineStringToken("{type}", (int)eCeMenuTimersST::type);
|
||||||
tokenContainer->DefineIntToken("{menuitemx}", (int)eCeMenuTimersIT::menuitemx);
|
tokenContainer->DefineIntToken("{menuitemx}", (int)eCeMenuTimersIT::menuitemx);
|
||||||
tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuTimersIT::menuitemy);
|
tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuTimersIT::menuitemy);
|
||||||
tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuTimersIT::menuitemwidth);
|
tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuTimersIT::menuitemwidth);
|
||||||
@ -1509,7 +1513,7 @@ bool cCeMenuTimers::Parse(bool forced) {
|
|||||||
tokenContainer->AddIntToken((int)eCeMenuTimersIT::flagvps, timer->HasFlags(tfVps));
|
tokenContainer->AddIntToken((int)eCeMenuTimersIT::flagvps, timer->HasFlags(tfVps));
|
||||||
tokenContainer->AddIntToken((int)eCeMenuTimersIT::flagrecording, timer->Recording());
|
tokenContainer->AddIntToken((int)eCeMenuTimersIT::flagrecording, timer->Recording());
|
||||||
tokenContainer->AddIntToken((int)eCeMenuTimersIT::flagpending, timer->Pending());
|
tokenContainer->AddIntToken((int)eCeMenuTimersIT::flagpending, timer->Pending());
|
||||||
|
|
||||||
const char *file = Setup.FoldersInTimerMenu ? NULL : strrchr(timer->File(), FOLDERDELIMCHAR);
|
const char *file = Setup.FoldersInTimerMenu ? NULL : strrchr(timer->File(), FOLDERDELIMCHAR);
|
||||||
if (file && strcmp(file + 1, TIMERMACRO_TITLE) && strcmp(file + 1, TIMERMACRO_EPISODE))
|
if (file && strcmp(file + 1, TIMERMACRO_TITLE) && strcmp(file + 1, TIMERMACRO_EPISODE))
|
||||||
file++;
|
file++;
|
||||||
@ -1518,7 +1522,7 @@ bool cCeMenuTimers::Parse(bool forced) {
|
|||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::title, file);
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::title, file);
|
||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::timerstart, *cString::sprintf("%02d:%02d", timer->Start() / 100, timer->Start() % 100));
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::timerstart, *cString::sprintf("%02d:%02d", timer->Start() / 100, timer->Start() % 100));
|
||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::timerstop, *cString::sprintf("%02d:%02d", timer->Stop() / 100, timer->Stop() % 100));
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::timerstop, *cString::sprintf("%02d:%02d", timer->Stop() / 100, timer->Stop() % 100));
|
||||||
|
|
||||||
cString day("");
|
cString day("");
|
||||||
cString dayName("");
|
cString dayName("");
|
||||||
if (timer->WeekDays())
|
if (timer->WeekDays())
|
||||||
@ -1534,7 +1538,7 @@ bool cCeMenuTimers::Parse(bool forced) {
|
|||||||
strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r);
|
strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r);
|
||||||
day = buffer;
|
day = buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct tm tm_r;
|
struct tm tm_r;
|
||||||
time_t timerDate = timer->Day();
|
time_t timerDate = timer->Day();
|
||||||
localtime_r(&timerDate, &tm_r);
|
localtime_r(&timerDate, &tm_r);
|
||||||
@ -1582,6 +1586,8 @@ bool cCeMenuTimers::Parse(bool forced) {
|
|||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::state, state.str().c_str());
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::state, state.str().c_str());
|
||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::stateinfo, epgTimer->StateInfo());
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::stateinfo, epgTimer->StateInfo());
|
||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::vdrname, epgTimer->VdrName());
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::vdrname, epgTimer->VdrName());
|
||||||
|
char tp[2]; sprintf(tp, "%c", epgTimer->Type());
|
||||||
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::type, tp);
|
||||||
stringstream action;
|
stringstream action;
|
||||||
action << epgTimer->Action();
|
action << epgTimer->Action();
|
||||||
tokenContainer->AddStringToken((int)eCeMenuTimersST::action, action.str().c_str());
|
tokenContainer->AddStringToken((int)eCeMenuTimersST::action, action.str().c_str());
|
||||||
@ -2026,7 +2032,7 @@ bool cCeMenuRecordings::Parse(bool forced) {
|
|||||||
tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::durationevent, duration);
|
tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::durationevent, duration);
|
||||||
tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::durationeventhours, duration / 60);
|
tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::durationeventhours, duration / 60);
|
||||||
tokenContainer->AddStringToken((int)eCeMenuRecordingsST::durationeventminutes, *cString::sprintf("%.2d", duration%60));
|
tokenContainer->AddStringToken((int)eCeMenuRecordingsST::durationeventminutes, *cString::sprintf("%.2d", duration%60));
|
||||||
|
|
||||||
tokenContainer->AddStringToken((int)eCeMenuRecordingsST::shorttext, info->ShortText());
|
tokenContainer->AddStringToken((int)eCeMenuRecordingsST::shorttext, info->ShortText());
|
||||||
tokenContainer->AddStringToken((int)eCeMenuRecordingsST::description, info->Description());
|
tokenContainer->AddStringToken((int)eCeMenuRecordingsST::description, info->Description());
|
||||||
|
|
||||||
@ -2188,7 +2194,7 @@ void cLeChannelList::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineIntToken("{channellogoexists}", (int)eLeChannelListIT::channellogoexists);
|
tokenContainer->DefineIntToken("{channellogoexists}", (int)eLeChannelListIT::channellogoexists);
|
||||||
tokenContainer->DefineIntToken("{presenteventelapsed}", (int)eLeChannelListIT::presenteventelapsed);
|
tokenContainer->DefineIntToken("{presenteventelapsed}", (int)eLeChannelListIT::presenteventelapsed);
|
||||||
tokenContainer->DefineIntToken("{presenteventremaining}", (int)eLeChannelListIT::presenteventremaining);
|
tokenContainer->DefineIntToken("{presenteventremaining}", (int)eLeChannelListIT::presenteventremaining);
|
||||||
InheritTokenContainer();
|
InheritTokenContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cLeChannelList::Set(const cChannel *channel) {
|
void cLeChannelList::Set(const cChannel *channel) {
|
||||||
@ -2237,7 +2243,7 @@ bool cLeChannelList::Parse(bool forced) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2263,7 +2269,7 @@ void cLeGroupList::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineIntToken("{numchannels}", (int)eLeGroupListIT::numchannels);
|
tokenContainer->DefineIntToken("{numchannels}", (int)eLeGroupListIT::numchannels);
|
||||||
tokenContainer->DefineIntToken("{nummenuitem}", (int)eLeGroupListIT::nummenuitem);
|
tokenContainer->DefineIntToken("{nummenuitem}", (int)eLeGroupListIT::nummenuitem);
|
||||||
tokenContainer->DefineIntToken("{current}", (int)eLeGroupListIT::current);
|
tokenContainer->DefineIntToken("{current}", (int)eLeGroupListIT::current);
|
||||||
InheritTokenContainer();
|
InheritTokenContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cLeGroupList::Set(const char *group, int numChannels) {
|
void cLeGroupList::Set(const char *group, int numChannels) {
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SERVICE_H_
|
#ifndef _SERVICE_H_
|
||||||
#define _SERVICE_H_
|
#define _SERVICE_H_
|
||||||
|
|
||||||
#include <vdr/timers.h>
|
#include <vdr/timers.h>
|
||||||
#include <vdr/epg.h>
|
#include <vdr/epg.h>
|
||||||
@ -25,9 +25,9 @@ class cEpgEvent_Interface_V1 : public cEvent
|
|||||||
: cEvent(EventID) {}
|
: cEvent(EventID) {}
|
||||||
|
|
||||||
// #TODO ... getter
|
// #TODO ... getter
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// #TODO ... attributes
|
// #TODO ... attributes
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -38,21 +38,37 @@ class cEpgEvent_Interface_V1 : public cEvent
|
|||||||
class cEpgTimer_Interface_V1 : public cTimer
|
class cEpgTimer_Interface_V1 : public cTimer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
cEpgTimer_Interface_V1(bool Instant = false, bool Pause = false, cChannel* Channel = 0)
|
|
||||||
: cTimer(Instant, Pause, Channel) {}
|
|
||||||
|
|
||||||
long TimerId() { return timerid; }
|
|
||||||
long EventId() { return eventid; }
|
|
||||||
const char* VdrName() { return vdrName ? vdrName : ""; }
|
|
||||||
const char* VdrUuid() { return vdrUuid ? vdrUuid : ""; }
|
|
||||||
int isVdrRunning() { return vdrRunning; }
|
|
||||||
int isLocal() { return local; }
|
|
||||||
int isRemote() { return !isLocal(); }
|
|
||||||
|
|
||||||
char State() { return state; }
|
enum TimerType
|
||||||
const char* StateInfo() { return stateInfo ? stateInfo : ""; }
|
{
|
||||||
char Action() { return action; }
|
ttRecord = 'R', // Aufnahme-Timer
|
||||||
|
ttView = 'V', // Umschalt-Timer
|
||||||
|
ttSearch = 'S' // Such-Timer
|
||||||
|
};
|
||||||
|
|
||||||
|
cEpgTimer_Interface_V1(bool Instant = false, bool Pause = false, const cChannel* Channel = 0)
|
||||||
|
#if defined (APIVERSNUM) && (APIVERSNUM >= 20301)
|
||||||
|
: cTimer(Instant, Pause, Channel) {}
|
||||||
|
#else
|
||||||
|
: cTimer(Instant, Pause, (cChannel*)Channel) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
long TimerId() const { return timerid; }
|
||||||
|
long EventId() const { return eventid; }
|
||||||
|
const char* VdrName() const { return vdrName ? vdrName : ""; }
|
||||||
|
const char* VdrUuid() const { return vdrUuid ? vdrUuid : ""; }
|
||||||
|
int isVdrRunning() const { return vdrRunning; }
|
||||||
|
int isLocal() const { return local; }
|
||||||
|
int isRemote() const { return !isLocal(); }
|
||||||
|
int isRecordTimer() const { return type == ttRecord; }
|
||||||
|
int isSwithTimer() const { return type == ttView; }
|
||||||
|
char State() const { return state; }
|
||||||
|
int hasState(char s) const { return state == s; }
|
||||||
|
const char* StateInfo() const { return stateInfo ? stateInfo : ""; }
|
||||||
|
char Action() const { return action; }
|
||||||
|
char Type() const { return type; }
|
||||||
|
time_t CreateTime() const { return createTime; }
|
||||||
|
time_t ModTime() const { return modTime; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@ -63,10 +79,14 @@ class cEpgTimer_Interface_V1 : public cTimer
|
|||||||
char* vdrUuid;
|
char* vdrUuid;
|
||||||
int local;
|
int local;
|
||||||
int vdrRunning;
|
int vdrRunning;
|
||||||
|
|
||||||
char state;
|
char state;
|
||||||
char* stateInfo;
|
char* stateInfo;
|
||||||
char action;
|
char action;
|
||||||
|
|
||||||
|
char type;
|
||||||
|
time_t createTime;
|
||||||
|
time_t modTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
//***************************************************************************
|
//***************************************************************************
|
||||||
@ -92,7 +112,7 @@ class cEpgEvent : public cEpgEvent_Interface_V1
|
|||||||
|
|
||||||
cEpgEvent(tEventID EventID);
|
cEpgEvent(tEventID EventID);
|
||||||
virtual ~cEpgEvent() {}
|
virtual ~cEpgEvent() {}
|
||||||
|
|
||||||
// #TODO ... setter
|
// #TODO ... setter
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -118,4 +138,4 @@ class cEpgTimer : public cEpgTimer_Interface_V1
|
|||||||
|
|
||||||
//***************************************************************************
|
//***************************************************************************
|
||||||
|
|
||||||
#endif // _SERVICE_H_
|
#endif // _SERVICE_H_
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static const char *VERSION = "1.2.4";
|
static const char *VERSION = "1.2.5";
|
||||||
static const char *DESCRIPTION = trNOOP("Skin Designer");
|
static const char *DESCRIPTION = trNOOP("Skin Designer");
|
||||||
|
|
||||||
class cPluginSkinDesigner : public cPlugin, public skindesignerapi::SkindesignerAPI {
|
class cPluginSkinDesigner : public cPlugin, public skindesignerapi::SkindesignerAPI {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user