summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhorchi <vdr@jwendel.de>2018-02-16 18:12:48 +0100
committerhorchi <vdr@jwendel.de>2018-02-16 18:12:48 +0100
commitbeeb82bbda1b6989d25b3ba1dfc943ba8698cd5e (patch)
treea303162e3491019300ae2b5582788c0207cd75dc
parentc8d54dbe256773e88e714e1cdb7160ca9dc2f927 (diff)
downloadvdr-plugin-skindesigner-beeb82bbda1b6989d25b3ba1dfc943ba8698cd5e.tar.gz
vdr-plugin-skindesigner-beeb82bbda1b6989d25b3ba1dfc943ba8698cd5e.tar.bz2
compatibility to vdr 2.3.8
-rw-r--r--HISTORY34
-rw-r--r--coreengine/complextypes.c62
-rw-r--r--displaymenu.c2
-rw-r--r--displaymenu.h3
-rw-r--r--skindesigner.c6
5 files changed, 56 insertions, 51 deletions
diff --git a/HISTORY b/HISTORY
index bc869db..0fc94b4 100644
--- a/HISTORY
+++ b/HISTORY
@@ -67,9 +67,9 @@ Version 0.0.3
- fixed Bug that displaychannel was not shown after closing displaymenu with
"backspace" (with active menuorg plugin)
- fixed Bug with menuselection Patch
-- added tokens {month}, {monthname} and {year} in displaymenutimers listitem and
+- added tokens {month}, {monthname} and {year} in displaymenutimers listitem and
currentitem
-- added dedicated tokens for posters and banners in <srapercontent> in
+- added dedicated tokens for posters and banners in <srapercontent> in
displaychannel and displayreplay
- added Plugin Interface
- fixed crash when clearing a message in displaychannel and displayreplay
@@ -81,7 +81,7 @@ Version 0.0.4
Version 0.0.5
-- added {channelnumber} and {channelname} Tokens in displaymenudetailepg
+- added {channelnumber} and {channelname} Tokens in displaymenudetailepg
detailheader
- fixed {hasicon} Token in displaymenu header
- added {newmails} Token in displaychannel statusinfo, mailbox plugin
@@ -111,7 +111,7 @@ Version 0.0.8
Version 0.1.0
- fixed display of color buttons in detailed views
-- fixed possible Nullpointer access in displaymenurootview
+- fixed possible Nullpointer access in displaymenurootview
- added currentschedule viewelement in displaymenumain
- fixed bug that wrong channel was shown in header of whatson
if entering from whatsonnow
@@ -180,7 +180,7 @@ Version 0.1.6
adds its vakues and potentially overrides valués from globals.xml
- check icons, menuicons and skinparts additionally directly in skin folder
to allow default images which can be used for all skins
-- fixed bug that setup variables are sometimes not identified in case two
+- fixed bug that setup variables are sometimes not identified in case two
or more skin names start identically
Version 0.2.0
@@ -195,7 +195,7 @@ Version 0.2.1
- some more nopacity optimizations - thanx@utility
- added possibiliy to use submenus in the skin setup menus
- reloading active skin directly after closing setup menu so that
- changes of setup parameters are immediately in use
+ changes of setup parameters are immediately in use
Version 0.2.2
@@ -260,7 +260,7 @@ Version 0.3.3
no signal information will be fetched to improve performance.
Version 0.3.4
-
+
- fixed backward compatibility to VDR version < 2.1.1 where
cRecording::IsInUse() was introduced
- automatically detect type of image if no file extension is available
@@ -270,7 +270,7 @@ Version 0.4.0
- fixed bug that time was not correctly drawn if a submenu implements
its own time display
-- fixed bug that date was drawn every flush in displayreplay
+- fixed bug that date was drawn every flush in displayreplay
- fixed bug in metrixhd timers menu
- fixed bug that datetime was not correctly drawn if a submenu implements
its own datetime display
@@ -290,7 +290,7 @@ Version 0.4.2
- fixed bug that string tokens are not evaluated in area conditions
- added possibility to draw a debug grid in views
- added more info if debugImage is activted in config
-- added possibility for blinking images, texts, rectangles, ellipses
+- added possibility for blinking images, texts, rectangles, ellipses
and slopes
- adapted libskindesignerapi makefile for LCLBLD
@@ -376,7 +376,7 @@ Version 0.5.3
- added SVG Template parsing
- fixed memory leak when creating fonts
- fixed crash using animated images in plugins
-- added banner to displaymenuschedulescurrentview and
+- added banner to displaymenuschedulescurrentview and
displaymenureplaycurrentview
- immplemented areacontainers to group areas
- fixed bug displaying pixmaps with transparency
@@ -406,10 +406,10 @@ Version 0.6.2
Version 0.6.3
- implemented horizontal menus
- For displaying horizontal menus with VDR <= 2.2.x a VDR
- patch is required (see /patches/vdr-2.2.0_horizontal_menu.patch
- in the plugin source directory). Without this patch the keys
- left/right and up/down are not toggled in horizontal menus.
+ For displaying horizontal menus with VDR <= 2.2.x a VDR
+ patch is required (see /patches/vdr-2.2.0_horizontal_menu.patch
+ in the plugin source directory). Without this patch the keys
+ left/right and up/down are not toggled in horizontal menus.
With VDR >= 2.3.1 this patch is not needed anymore.
- added possibility to add conditions to <menuitems> elements
- added possibility to define a viewelement several times with
@@ -418,7 +418,7 @@ Version 0.6.3
- added "valign" option in <drawtextbox>. If the box height is set
and the text does not need the complete height, with valign="center"
the text can be placed horizontally centered inside the box borders.
-- implemented optional horizontal main-, recordings- and
+- implemented optional horizontal main-, recordings- and
weatherforecast menu in metrixhd
Version 0.7.0
@@ -431,3 +431,7 @@ Version 0.7.1
- added possibility to define help texts for skin setup parameters
Version 0.7.2
+
+Version 1.2.4 (horchi)
+
+- added compatibility to vdr 2.3.8
diff --git a/coreengine/complextypes.c b/coreengine/complextypes.c
index 3f8773a..2574208 100644
--- a/coreengine/complextypes.c
+++ b/coreengine/complextypes.c
@@ -83,13 +83,13 @@ cCond::cCond(const cCond &other) {
compareStrValue = strdup(other.compareStrValue);
}
-cCond::~cCond(void) {
- free(expr);
+cCond::~cCond(void) {
+ free(expr);
free(compareStrValue);
}
void cCond::Debug(void) {
- esyslog("skindesigner: cond %s, operation %s, type %d", expr,
+ esyslog("skindesigner: cond %s, operation %s, type %d", expr,
(operation == eCondOp::tAnd) ? "++" : "||",
(int)type);
if (constant)
@@ -138,15 +138,15 @@ bool cCondition::True(void) {
for (cCond *c = conds.First(); c; c = conds.Next(c)) {
bool condTrue = true;
//evaluate condition
- if (c->constant)
+ if (c->constant)
{
condTrue = c->isTrue;
- }
- else if (c->type == eCondType::token)
+ }
+ else if (c->type == eCondType::token)
{
if (c->tokenType == eCondTokenType::inttoken) {
int tokenVal = tokenContainer->IntToken(c->tokenIndex);
- condTrue = (tokenVal > 0) ? true : false;
+ condTrue = (tokenVal > 0) ? true : false;
} else if (c->tokenType == eCondTokenType::stringtoken) {
char *tokenVal = tokenContainer->StringToken(c->tokenIndex);
if (tokenVal)
@@ -159,8 +159,8 @@ bool cCondition::True(void) {
}
}
- }
- else if (c->type == eCondType::negtoken)
+ }
+ else if (c->type == eCondType::negtoken)
{
if (c->tokenType == eCondTokenType::inttoken) {
int tokenVal = tokenContainer->IntToken(c->tokenIndex);
@@ -177,7 +177,7 @@ bool cCondition::True(void) {
}
}
}
- else if (c->type == eCondType::lowerInt || c->type == eCondType::equalInt || c->type == eCondType::notequalInt || c->type == eCondType::greaterInt)
+ else if (c->type == eCondType::lowerInt || c->type == eCondType::equalInt || c->type == eCondType::notequalInt || c->type == eCondType::greaterInt)
{
if (c->tokenType == eCondTokenType::inttoken) {
int tokenVal = tokenContainer->IntToken(c->tokenIndex);
@@ -219,7 +219,7 @@ bool cCondition::True(void) {
}
}
}
- else if (c->type == eCondType::isset || c->type == eCondType::empty)
+ else if (c->type == eCondType::isset || c->type == eCondType::empty)
{
if (c->tokenType == eCondTokenType::stringtoken) {
char *tokenVal = tokenContainer->StringToken(c->tokenIndex);
@@ -251,7 +251,7 @@ bool cCondition::True(void) {
}
}
}
- else if (c->type == eCondType::equalString || c->type == eCondType::notEqualString || c->type == eCondType::contains || c->type == eCondType::notContains)
+ else if (c->type == eCondType::equalString || c->type == eCondType::notEqualString || c->type == eCondType::contains || c->type == eCondType::notContains)
{
if (c->tokenType == eCondTokenType::stringtoken) {
char *tokenVal = tokenContainer->StringToken(c->tokenIndex);
@@ -284,7 +284,7 @@ bool cCondition::True(void) {
if (c->operation == eCondOp::tAnd) {
ok = ok && condTrue;
} else if (c->operation == eCondOp::tOr) {
- ok = ok || condTrue;
+ ok = ok || condTrue;
}
}
return ok;
@@ -470,8 +470,8 @@ void cCondition::SetTokenIndex(cCond *c, const char *token) {
/******************************************************************
* cSummand
******************************************************************/
-cSummand::cSummand(const char *summand) {
- this->summand = strdup(summand);
+cSummand::cSummand(const char *summand) {
+ this->summand = strdup(summand);
}
cSummand::cSummand(const cSummand &other) {
@@ -485,7 +485,7 @@ cSummand::cSummand(const cSummand &other) {
}
cSummand::~cSummand(void) {
- free(summand);
+ free(summand);
}
void cSummand::Debug(void) {
@@ -564,7 +564,7 @@ bool cNumericExpr::CacheStatic(void) {
value = atoi(expr);
return true;
}
-
+
//check if expression is a percent expression
if (PercentValue(expr)) {
return true;
@@ -676,7 +676,7 @@ int cNumericExpr::Calculate(void) {
if (f->multiplication)
factor *= fac;
else if (fac)
- factor /= fac;
+ factor /= fac;
}
if (s->positive)
result += factor;
@@ -722,7 +722,7 @@ bool cNumericExpr::IsNumericExpression(const char *e) {
else
return false;
}
- return true;
+ return true;
}
bool cNumericExpr::PercentValue(const char *e) {
@@ -762,7 +762,7 @@ char *cNumericExpr::ReplacePercentValue(char *e) {
if (horizontal) {
sprintf(replacement, "%.5f*{areawidth}", percentVal);
} else {
- sprintf(replacement, "%.5f*{areaheight}", percentVal);
+ sprintf(replacement, "%.5f*{areaheight}", percentVal);
}
int len = strlen(replacement) + 1;
@@ -888,7 +888,7 @@ void cNumericExpr::CreateFactors(void) {
f->constValue = EvaluateExpressionDouble(sum);
s->factors.Add(f);
free(sum);
- continue;
+ continue;
}
bool multiplication = true;
char *fac = strtok(sum, delimiterFac);
@@ -906,7 +906,7 @@ void cNumericExpr::CreateFactors(void) {
} else if (SetReferenceFactor(f, fac)) {
f->multiplication = multiplication;
s->factors.Add(f);
- } else if (SetGeometryFactor(f, fac)) {
+ } else if (SetGeometryFactor(f, fac)) {
f->multiplication = multiplication;
s->factors.Add(f);
} else {
@@ -961,7 +961,7 @@ bool cNumericExpr::SetReferenceFactor(cFactor *f, char *tokenName) {
f->type = eFactorType::widthref;
} else if (startswith(tokenName, "{height(") && endswith(tokenName, ")}")) {
start = 8;
- f->type = eFactorType::heightref;
+ f->type = eFactorType::heightref;
}
if (start == 0)
@@ -986,7 +986,7 @@ bool cNumericExpr::SetGeometryFactor(cFactor *f, char *tokenName) {
f->type = eFactorType::columnwidth;
ok = true;
} else if (!strcmp(tokenName, "{rowheight}")) {
- f->type = eFactorType::rowheight;
+ f->type = eFactorType::rowheight;
ok = true;
}
return ok;
@@ -1007,7 +1007,7 @@ void cNumericExpr::ConsolidateSummand(void) {
s = constSummand;
}
}
- }
+ }
}
void cNumericExpr::ConsolidateFactors(void) {
@@ -1020,7 +1020,7 @@ void cNumericExpr::ConsolidateFactors(void) {
} else {
if (f->multiplication)
constFactor->constValue *= f->constValue;
- else
+ else
constFactor->constValue /= f->constValue;
s->factors.Del(f);
f = constFactor;
@@ -1042,7 +1042,7 @@ cColor::cColor(const char *expression) {
cColor::cColor(const cColor &other) {
globals = other.globals;
expr = strdup(other.expr);
- value = other.value;
+ value = other.value;
}
cColor::~cColor(void) {
@@ -1442,7 +1442,7 @@ bool cTextExpr::ParsePrintfToken(cTextToken *t) {
strncpy(buffer, startExpr+1, expLen);
buffer[expLen] = '\0';
t->printfExpr = strdup(buffer);
-
+
//find variables
char *startVar = strchr(t->constValue, ',');
if (!startVar)
@@ -1525,7 +1525,7 @@ void cTextExpr::DeterminatePrintfToken(cTextToken *t) {
}
} else if (t->printfVarIndices[i].type == ePrintfVarType::looptoken && loopInfo && loopInfo->row >= 0) {
if (tokenContainer->LoopToken(loopInfo->index, loopInfo->row, t->printfVarIndices[i].index)) {
- results.push_back(atoi(tokenContainer->LoopToken(loopInfo->index, loopInfo->row, t->printfVarIndices[i].index)));
+ results.push_back(atoi(tokenContainer->LoopToken(loopInfo->index, loopInfo->row, t->printfVarIndices[i].index)));
}
}
}
@@ -1611,8 +1611,8 @@ char *cTextExpr::CopyTextPart(char *start, char *stop, bool incLastChar) {
} else {
//search end of text
char *p = start;
- while (*p)
- len++; p++;
+ while (*p) {
+ len++; p++; }
len++;
}
val = (char*)malloc(len+1);
diff --git a/displaymenu.c b/displaymenu.c
index b105c21..6634b92 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -69,7 +69,7 @@ void cSDDisplayMenu::SetMessage(eMessageType Type, const char *Text) {
view->SetMessage(Type, Text);
}
-bool cSDDisplayMenu::SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch) {
+bool cSDDisplayMenu::SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive) {
if (!view)
return false;
if (Index == 0) {
diff --git a/displaymenu.h b/displaymenu.h
index 94fcd2f..c978736 100644
--- a/displaymenu.h
+++ b/displaymenu.h
@@ -23,7 +23,8 @@ public:
virtual void SetTitle(const char *Title);
virtual void SetButtons(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL);
virtual void SetMessage(eMessageType Type, const char *Text);
- virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch);
+ virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive);
+ virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch) { return SetItemEvent(Event, Index, Current, Selectable, Channel, WithDate, TimerMatch, true); }
virtual bool SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable);
virtual bool SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider);
virtual bool SetItemRecording(const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New);
diff --git a/skindesigner.c b/skindesigner.c
index bc09f31..ef0dc1f 100644
--- a/skindesigner.c
+++ b/skindesigner.c
@@ -20,7 +20,7 @@
#endif
-static const char *VERSION = "1.2.3";
+static const char *VERSION = "1.2.4";
static const char *DESCRIPTION = trNOOP("Skin Designer");
class cPluginSkinDesigner : public cPlugin, public skindesignerapi::SkindesignerAPI {
@@ -114,7 +114,7 @@ bool cPluginSkinDesigner::Start(void) {
cImageImporterSVG::InitLibRSVG();
cGlobalTimers::StartRefreshThread();
bool trueColorAvailable = true;
-
+
if (!cOsdProvider::SupportsTrueColor()) {
esyslog("skindesigner: No TrueColor OSD found! Using default Skin LCARS!");
trueColorAvailable = false;
@@ -221,7 +221,7 @@ const char **cPluginSkinDesigner::SVDRPHelpPages(void) {
}
cString cPluginSkinDesigner::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) {
-
+
cSkinDesigner *activeSkin = NULL;
cSkinDesigner *availableSkin = NULL;
config.InitSkinRefsIterator();