mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
allow currentelements to use conditions
This commit is contained in:
parent
b6a6ea2f6b
commit
64b131e6b0
4
HISTORY
4
HISTORY
@ -363,4 +363,6 @@ Version 0.5.2
|
||||
|
||||
- only close OSD when a skin is successfully updated from Git
|
||||
- refresh custom token display with each custom token change
|
||||
|
||||
- added recording shorttext, description and scraper poster tokens
|
||||
to displaymenurecordings listelement
|
||||
- allow currentelements to use conditions
|
||||
|
@ -170,6 +170,7 @@ bool cSDDisplayMenu::SetItemRecording(const cRecording *Recording, int Index, bo
|
||||
cDisplayMenuListView *list = rootView->GetListView();
|
||||
if (!list)
|
||||
return false;
|
||||
|
||||
list->AddRecordingMenuItem(Index, Recording, Level, Total, New, Current, Selectable);
|
||||
if (state == vsIdle)
|
||||
state = vsMenuUpdate;
|
||||
|
@ -430,6 +430,7 @@
|
||||
<!ATTLIST currentelement
|
||||
delay CDATA #REQUIRED
|
||||
fadetime CDATA #IMPLIED
|
||||
condition CDATA #IMPLIED
|
||||
debug CDATA #IMPLIED
|
||||
>
|
||||
|
||||
|
@ -1245,6 +1245,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) {
|
||||
attributes.insert("debug");
|
||||
attributes.insert("delay");
|
||||
attributes.insert("fadetime");
|
||||
attributes.insert("condition");
|
||||
funcsAllowed.insert(pair< string, set<string> >("currentelement", attributes));
|
||||
|
||||
//definition of allowed parameters for viewtab
|
||||
|
@ -3,6 +3,9 @@
|
||||
<!-- Available Variables recordings menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{name} Name of recording
|
||||
{epgname} Name of recording (Name from EPG)
|
||||
{shorttext} Short Text of recording
|
||||
{description} Descrption of recording
|
||||
{date} Date of recording (day dd.mm.yyyy)
|
||||
{time} Time of recording
|
||||
{daynumeric} day as number
|
||||
@ -17,6 +20,7 @@
|
||||
{current} true if item is currently selected
|
||||
{new} true if recording is new
|
||||
{percentseen} percent already watched, -1 for VDR < 2.1.8
|
||||
{watched} true if percentseen > 85% including MarginStop of not cutted recording
|
||||
{cutted} true if recording is cutted
|
||||
{folder} true if item is a folder
|
||||
{numrecordingsfolder} if item is a folder, number of recordings in this folder
|
||||
@ -25,7 +29,11 @@
|
||||
{thumbnailbwidth} width of scraped poster thumbnail
|
||||
{thumbnailheight} height of scraped poster thumbnail
|
||||
{thumbnailpath} absolute path of scraped poster thumbnail
|
||||
-->
|
||||
{hasposter} true if a scraped poster is available for recording
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
-->
|
||||
<listelement>
|
||||
<!-- Background -->
|
||||
<area x="1%" width="58%" layer="2">
|
||||
|
@ -4,6 +4,8 @@
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{name} Real Name of recording (Name of Recording Folder)
|
||||
{epgname} Name of recording (Name from EPG)
|
||||
{shorttext} Short Text of recording
|
||||
{description} Descrption of recording
|
||||
{date} Date of recording
|
||||
{time} Time of recording
|
||||
{daynumeric} day as number
|
||||
@ -27,6 +29,10 @@
|
||||
{thumbnailbwidth} width of scraped poster thumbnail
|
||||
{thumbnailheight} height of scraped poster thumbnail
|
||||
{thumbnailpath} absolute path of scraped poster thumbnail
|
||||
{hasposter} true if a scraped poster is available for recording
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
-->
|
||||
<listelement>
|
||||
</listelement>
|
||||
|
@ -227,7 +227,7 @@ void cDisplayMenuItemMainView::Render(void) {
|
||||
|
||||
if (current) {
|
||||
cTemplateViewElement *tmplCurrent = tmplList->GetListElementCurrent();
|
||||
if (tmplCurrent) {
|
||||
if (tmplCurrent && tmplCurrent->Execute()) {
|
||||
currentView = new cDisplayMenuItemCurrentMainView(tmplCurrent, number, label, icon);
|
||||
currentView->SetPosMenuItem(pos);
|
||||
currentView->Start();
|
||||
@ -418,7 +418,7 @@ void cDisplayMenuItemSchedulesView::Render(void) {
|
||||
|
||||
if (current) {
|
||||
cTemplateViewElement *tmplCurrent = tmplList->GetListElementCurrent();
|
||||
if (tmplCurrent) {
|
||||
if (tmplCurrent && tmplCurrent->Execute()) {
|
||||
currentView = new cDisplayMenuItemCurrentSchedulesView(tmplCurrent, event, channel, timerMatch, cat, isEpgSearchFav);
|
||||
currentView->Start();
|
||||
}
|
||||
@ -526,7 +526,7 @@ void cDisplayMenuItemChannelsView::Render(void) {
|
||||
|
||||
if (current) {
|
||||
cTemplateViewElement *tmplCurrent = tmplList->GetListElementCurrent();
|
||||
if (tmplCurrent) {
|
||||
if (tmplCurrent && tmplCurrent->Execute()) {
|
||||
currentView = new cDisplayMenuItemCurrentChannelView(tmplCurrent, channel);
|
||||
currentView->Start();
|
||||
}
|
||||
@ -657,7 +657,7 @@ void cDisplayMenuItemTimersView::Render(void) {
|
||||
|
||||
if (current) {
|
||||
cTemplateViewElement *tmplCurrent = tmplList->GetListElementCurrent();
|
||||
if (tmplCurrent) {
|
||||
if (tmplCurrent && tmplCurrent->Execute()) {
|
||||
currentView = new cDisplayMenuItemCurrentTimerView(tmplCurrent, timer);
|
||||
currentView->Start();
|
||||
}
|
||||
@ -805,6 +805,9 @@ void cDisplayMenuItemRecordingView::SetTokens(void) {
|
||||
intTokens.insert(pair<string,int>("durationeventhours", duration / 60));
|
||||
stringTokens.insert(pair<string,string>("durationeventminutes", *cString::sprintf("%.2d", duration%60)));
|
||||
|
||||
stringTokens.insert(pair<string,string>("shorttext", info->ShortText() ? info->ShortText() : ""));
|
||||
stringTokens.insert(pair<string,string>("description", info->Description() ? info->Description() : ""));
|
||||
|
||||
static cPlugin *pScraper = GetScraperPlugin();
|
||||
if (!pScraper || !usedRecording) {
|
||||
intTokens.insert(pair<string,int>("hasposterthumbnail", false));
|
||||
@ -828,6 +831,29 @@ void cDisplayMenuItemRecordingView::SetTokens(void) {
|
||||
intTokens.insert(pair<string,int>("thumbnailheight", -1));
|
||||
stringTokens.insert(pair<string,string>("thumbnailpath", ""));
|
||||
}
|
||||
|
||||
if (!pScraper || !usedRecording) {
|
||||
intTokens.insert(pair<string,int>("hasposter", false));
|
||||
intTokens.insert(pair<string,int>("posterwidth", -1));
|
||||
intTokens.insert(pair<string,int>("posterheight", -1));
|
||||
stringTokens.insert(pair<string,string>("posterpath", ""));
|
||||
return;
|
||||
}
|
||||
|
||||
ScraperGetPoster call2;
|
||||
call2.event = NULL;
|
||||
call2.recording = usedRecording;
|
||||
if (pScraper->Service("GetPoster", &call2)) {
|
||||
intTokens.insert(pair<string,int>("hasposter", FileExists(call2.poster.path)));
|
||||
intTokens.insert(pair<string,int>("posterwidth", call2.poster.width));
|
||||
intTokens.insert(pair<string,int>("posterheight", call2.poster.height));
|
||||
stringTokens.insert(pair<string,string>("posterpath", call2.poster.path));
|
||||
} else {
|
||||
intTokens.insert(pair<string,int>("hasposter", false));
|
||||
intTokens.insert(pair<string,int>("posterwidth", -1));
|
||||
intTokens.insert(pair<string,int>("posterheight", -1));
|
||||
stringTokens.insert(pair<string,string>("posterpath", ""));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -841,7 +867,7 @@ void cDisplayMenuItemRecordingView::Render(void) {
|
||||
|
||||
if (current) {
|
||||
cTemplateViewElement *tmplCurrent = tmplList->GetListElementCurrent();
|
||||
if (tmplCurrent) {
|
||||
if (tmplCurrent && tmplCurrent->Execute()) {
|
||||
currentView = new cDisplayMenuItemCurrentRecordingView(tmplCurrent, recording, level, total, newRecs);
|
||||
currentView->Start();
|
||||
}
|
||||
@ -898,7 +924,7 @@ void cDisplayMenuItemPluginView::Render(void) {
|
||||
|
||||
if (current) {
|
||||
cTemplateViewElement *tmplCurrent = tmplList->GetListElementCurrent();
|
||||
if (tmplCurrent) {
|
||||
if (tmplCurrent && tmplCurrent->Execute()) {
|
||||
currentView = new cDisplayMenuItemCurrentPluginView(tmplCurrent, stringTokens, intTokens, loopTokens);
|
||||
currentView->Start();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user