mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
refresh custom token display with each custom token change
This commit is contained in:
parent
57244494b6
commit
b6a6ea2f6b
3
HISTORY
3
HISTORY
@ -361,3 +361,6 @@ Version 0.5.1
|
||||
|
||||
Version 0.5.2
|
||||
|
||||
- only close OSD when a skin is successfully updated from Git
|
||||
- refresh custom token display with each custom token change
|
||||
|
||||
|
@ -174,6 +174,9 @@ void cSDDisplayChannel::Flush(void) {
|
||||
channelView->DrawBackground();
|
||||
channelView->DrawSignalBackground();
|
||||
channelView->DrawCurrentWeather();
|
||||
}
|
||||
|
||||
if (initial || channelView->CustomTokenChange()) {
|
||||
channelView->DrawCustomTokens();
|
||||
}
|
||||
|
||||
|
@ -110,6 +110,8 @@ void cSDDisplayReplay::Flush(void) {
|
||||
replayView->DoFadeIn();
|
||||
initial = false;
|
||||
} else {
|
||||
if (replayView->CustomTokenChange())
|
||||
replayView->DrawCustomTokens();
|
||||
replayView->Flush();
|
||||
}
|
||||
}
|
||||
|
@ -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());
|
||||
|
@ -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);
|
||||
};
|
||||
|
@ -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);
|
||||
|
@ -556,10 +556,18 @@ void cDisplayChannelView::DrawCustomTokens(void) {
|
||||
} else {
|
||||
map < string, string > stringTokens = tmplView->GetCustomStringTokens();
|
||||
map < string, int > intTokens = tmplView->GetCustomIntTokens();
|
||||
ClearViewElement(veCustomTokens);
|
||||
DrawViewElement(veCustomTokens, &stringTokens, &intTokens);
|
||||
}
|
||||
}
|
||||
|
||||
bool cDisplayChannelView::CustomTokenChange(void) {
|
||||
if (!tmplView)
|
||||
return false;
|
||||
return tmplView->CustomTokenChange();
|
||||
}
|
||||
|
||||
|
||||
void cDisplayChannelView::DrawCurrentWeather(void) {
|
||||
if (!ExecuteViewElement(veCurrentWeather)) {
|
||||
return;
|
||||
|
@ -49,6 +49,7 @@ public:
|
||||
void ClearChannelGroups(void);
|
||||
void DisplayMessage(eMessageType Type, const char *Text);
|
||||
void DrawCustomTokens(void);
|
||||
bool CustomTokenChange(void);
|
||||
void DrawCurrentWeather(void);
|
||||
void DoStart(void) { Start(); };
|
||||
void Flush(void) { DoFlush(); };
|
||||
|
@ -293,7 +293,6 @@ void cDisplayMenuMainView::DrawStaticViewElements(void) {
|
||||
DrawTemperatures();
|
||||
DrawCurrentSchedule();
|
||||
DrawCurrentWeather();
|
||||
DrawCustomTokens();
|
||||
}
|
||||
|
||||
bool cDisplayMenuMainView::DrawDynamicViewElements(void) {
|
||||
@ -301,9 +300,9 @@ bool cDisplayMenuMainView::DrawDynamicViewElements(void) {
|
||||
bool memChanged = DrawMemory();
|
||||
bool vdrChanged = DrawVdrStats();
|
||||
bool devicesChanged = DrawDevices();
|
||||
bool customTokensChanged = DrawCustomTokens();
|
||||
initial = false;
|
||||
return loadChanged || memChanged || vdrChanged || devicesChanged;
|
||||
|
||||
return loadChanged || memChanged || vdrChanged || devicesChanged || customTokensChanged;
|
||||
}
|
||||
|
||||
void cDisplayMenuMainView::DrawTimers(void) {
|
||||
@ -588,12 +587,15 @@ void cDisplayMenuMainView::DrawCurrentWeather(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void cDisplayMenuMainView::DrawCustomTokens(void) {
|
||||
bool cDisplayMenuMainView::DrawCustomTokens(void) {
|
||||
if (!ExecuteViewElement(veCustomTokens)) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
if (!tmplView)
|
||||
return;
|
||||
return false;
|
||||
|
||||
if (!initial && !tmplView->CustomTokenChange())
|
||||
return false;
|
||||
|
||||
if (DetachViewElement(veCustomTokens)) {
|
||||
cViewElement *viewElement = GetViewElement(veCustomTokens);
|
||||
@ -608,8 +610,10 @@ void cDisplayMenuMainView::DrawCustomTokens(void) {
|
||||
} else {
|
||||
map < string, string > stringTokens = tmplView->GetCustomStringTokens();
|
||||
map < string, int > intTokens = tmplView->GetCustomIntTokens();
|
||||
ClearViewElement(veCustomTokens);
|
||||
DrawViewElement(veCustomTokens, &stringTokens, &intTokens);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -62,7 +62,7 @@ private:
|
||||
bool DrawDevices(void);
|
||||
void DrawCurrentSchedule(void);
|
||||
void DrawCurrentWeather(void);
|
||||
void DrawCustomTokens(void);
|
||||
bool DrawCustomTokens(void);
|
||||
public:
|
||||
cDisplayMenuMainView(cTemplateView *tmplView, bool menuInit, string currentRecording);
|
||||
virtual ~cDisplayMenuMainView();
|
||||
|
@ -457,9 +457,16 @@ void cDisplayReplayView::DrawCustomTokens(void) {
|
||||
return;
|
||||
map < string, string > stringTokens = tmplView->GetCustomStringTokens();
|
||||
map < string, int > intTokens = tmplView->GetCustomIntTokens();
|
||||
ClearViewElement(veCustomTokens);
|
||||
DrawViewElement(veCustomTokens, &stringTokens, &intTokens);
|
||||
}
|
||||
|
||||
bool cDisplayReplayView::CustomTokenChange(void) {
|
||||
if (!tmplView)
|
||||
return false;
|
||||
return tmplView->CustomTokenChange();
|
||||
}
|
||||
|
||||
/****************************************************************************************
|
||||
* Private Functions
|
||||
*****************************************************************************************/
|
||||
|
@ -44,6 +44,7 @@ public:
|
||||
void ClearOnPause(void);
|
||||
void DelayOnPause(void);
|
||||
void DrawCustomTokens(void);
|
||||
bool CustomTokenChange(void);
|
||||
void DoFadeIn(void) { Start(); };
|
||||
void Flush(void) { DoFlush(); };
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user