summaryrefslogtreecommitdiff
path: root/libtemplate
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-06-05 14:48:45 +0200
committerlouis <louis.braun@gmx.de>2015-06-05 14:48:45 +0200
commitb6a6ea2f6bf697b94a489521b774f2b8dc67629a (patch)
tree201788f6c50ac45e52ddfb9d23b09e4fbdb8b2fa /libtemplate
parent57244494b6a88834c2b01252a83b85fb0b21c456 (diff)
downloadvdr-plugin-skindesigner-b6a6ea2f6bf697b94a489521b774f2b8dc67629a.tar.gz
vdr-plugin-skindesigner-b6a6ea2f6bf697b94a489521b774f2b8dc67629a.tar.bz2
refresh custom token display with each custom token change
Diffstat (limited to 'libtemplate')
-rw-r--r--libtemplate/globals.c23
-rw-r--r--libtemplate/globals.h7
-rw-r--r--libtemplate/templateview.h1
3 files changed, 29 insertions, 2 deletions
diff --git a/libtemplate/globals.c b/libtemplate/globals.c
index e884b24..702bf8e 100644
--- a/libtemplate/globals.c
+++ b/libtemplate/globals.c
@@ -4,6 +4,9 @@
#include <locale.h>
cGlobals::cGlobals(void) {
+ customTokenChange = 0;
+ lastCustomTokenQuery = 0;
+
fonts.insert(pair<string, string>("vdrOsd", Setup.FontOsd));
fonts.insert(pair<string, string>("vdrFix", Setup.FontFix));
fonts.insert(pair<string, string>("vdrSml", Setup.FontSml));
@@ -198,11 +201,13 @@ string cGlobals::DoTranslate(string token) {
void cGlobals::AddCustomInt(string &name, int value) {
customIntTokens.erase(name);
customIntTokens.insert(pair<string,int>(name, value));
+ customTokenChange = time(0);
}
void cGlobals::AddCustomString(string &name, string &value) {
customStringTokens.erase(name);
customStringTokens.insert(pair<string,string>(name, value));
+ customTokenChange = time(0);
}
bool cGlobals::GetCustomInt(string name, int &val) {
@@ -214,6 +219,24 @@ bool cGlobals::GetCustomInt(string name, int &val) {
return false;
}
+map <string, string> cGlobals::GetCustomStringTokens(void) {
+ lastCustomTokenQuery = time(0);
+ return customStringTokens;
+}
+
+map <string, int> cGlobals::GetCustomIntTokens(void) {
+ lastCustomTokenQuery = time(0);
+ return customIntTokens;
+}
+
+bool cGlobals::CustomTokenChange(void) {
+ if (!lastCustomTokenQuery)
+ return true;
+ if (lastCustomTokenQuery < customTokenChange)
+ return true;
+ return false;
+}
+
void cGlobals::ListCustomTokens(void) {
for (map<string, string>::iterator it = customStringTokens.begin(); it != customStringTokens.end(); it++) {
dsyslog("skindesigner: custom string token \"%s\" = \"%s\"", (it->first).c_str(), (it->second).c_str());
diff --git a/libtemplate/globals.h b/libtemplate/globals.h
index 9629e63..d566fac 100644
--- a/libtemplate/globals.h
+++ b/libtemplate/globals.h
@@ -20,6 +20,8 @@ typedef uint32_t tColor;
class cGlobals {
private:
+ time_t customTokenChange;
+ time_t lastCustomTokenQuery;
string language;
string DoTranslate(string token);
map <string, tColor> colors;
@@ -50,8 +52,9 @@ public:
void AddCustomInt(string &name, int value);
void AddCustomString(string &name, string &value);
bool GetCustomInt(string name, int &val);
- map <string, string> GetCustomStringTokens(void) { return customStringTokens; };
- map <string, int> GetCustomIntTokens(void) { return customIntTokens; };
+ map <string, string> GetCustomStringTokens(void);
+ map <string, int> GetCustomIntTokens(void);
+ bool CustomTokenChange(void);
void ListCustomTokens(void);
void Debug(void);
};
diff --git a/libtemplate/templateview.h b/libtemplate/templateview.h
index 64add2a..d592b22 100644
--- a/libtemplate/templateview.h
+++ b/libtemplate/templateview.h
@@ -125,6 +125,7 @@ public:
bool GetScalingWindow(cRect &scalingWindow);
map<string,string> GetCustomStringTokens(void) { return globals->GetCustomStringTokens(); };
map<string,int> GetCustomIntTokens(void) { return globals->GetCustomIntTokens(); };
+ bool CustomTokenChange(void) { return globals->CustomTokenChange(); };
//Checks for parsing template XML files
bool ValidSubView(const char *subView);
bool ValidViewElement(const char *viewElement);