From b6a6ea2f6bf697b94a489521b774f2b8dc67629a Mon Sep 17 00:00:00 2001 From: louis Date: Fri, 5 Jun 2015 14:48:45 +0200 Subject: refresh custom token display with each custom token change --- libtemplate/globals.c | 23 +++++++++++++++++++++++ libtemplate/globals.h | 7 +++++-- libtemplate/templateview.h | 1 + 3 files changed, 29 insertions(+), 2 deletions(-) (limited to 'libtemplate') 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 cGlobals::cGlobals(void) { + customTokenChange = 0; + lastCustomTokenQuery = 0; + fonts.insert(pair("vdrOsd", Setup.FontOsd)); fonts.insert(pair("vdrFix", Setup.FontFix)); fonts.insert(pair("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(name, value)); + customTokenChange = time(0); } void cGlobals::AddCustomString(string &name, string &value) { customStringTokens.erase(name); customStringTokens.insert(pair(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 cGlobals::GetCustomStringTokens(void) { + lastCustomTokenQuery = time(0); + return customStringTokens; +} + +map 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::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 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 GetCustomStringTokens(void) { return customStringTokens; }; - map GetCustomIntTokens(void) { return customIntTokens; }; + map GetCustomStringTokens(void); + map 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 GetCustomStringTokens(void) { return globals->GetCustomStringTokens(); }; map 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); -- cgit v1.2.3