using VDRs OSD Language instead of system language

This commit is contained in:
louis 2014-11-22 12:19:13 +01:00
parent 77368ebbd1
commit a3d636ce92
5 changed files with 14 additions and 13 deletions

View File

@ -93,3 +93,4 @@ Version 0.0.6
- fixed Bug that channel info was not shown when displaying reruns with
epgsearch
- using VDRs OSD Language instead of system language

View File

@ -23,6 +23,7 @@ cDesignerConfig::cDesignerConfig() {
SetSkin();
SetOSDSize();
SetOSDFonts();
osdLanguage = Setup.OSDLanguage;
}
cDesignerConfig::~cDesignerConfig() {
@ -157,6 +158,14 @@ bool cDesignerConfig::OsdFontsChanged(void) {
return changed;
}
bool cDesignerConfig::OsdLanguageChanged(void) {
if (osdLanguage.compare(Setup.OSDLanguage)) {
osdLanguage = Setup.OSDLanguage;
return true;
}
return false;
}
cString cDesignerConfig::GetSkinRessourcePath(void) {
return cString::sprintf("%s%s", *skinPath, osdSkin.c_str());
}

View File

@ -23,6 +23,7 @@ private:
string fontFix;
string fontOsd;
string fontSml;
string osdLanguage;
map < string, map < int, string > > plugins;
map < string, map < int, string > >::iterator plugIt;
public:
@ -43,6 +44,7 @@ public:
bool OsdSizeChanged(void);
void SetOSDFonts(void);
bool OsdFontsChanged(void);
bool OsdLanguageChanged(void);
cString GetSkinRessourcePath(void);
void AddPlugin(string name, map < int, string > &menus);
void InitPluginIterator(void);

View File

@ -168,7 +168,7 @@ void cSkinDesigner::ListCustomTokens(void) {
* PRIVATE FUNCTIONS
*********************************************************************************/
void cSkinDesigner::Init(void) {
if (init || config.OsdSizeChanged() || config.SkinChanged()) {
if (init || config.OsdSizeChanged() || config.SkinChanged() || config.OsdLanguageChanged()) {
if (init) {
config.SetSkin();

View File

@ -6,18 +6,7 @@ cGlobals::cGlobals(void) {
fonts.insert(pair<string, string>("vdrOsd", Setup.FontOsd));
fonts.insert(pair<string, string>("vdrFix", Setup.FontFix));
fonts.insert(pair<string, string>("vdrSml", Setup.FontSml));
string loc = setlocale(LC_NAME, NULL);
size_t index = loc.find_first_of(".");
string langISO = "";
if (index > 0) {
langISO = loc.substr(0, index);
}
if (langISO.size() == 5) {
language = langISO.c_str();
} else {
language = "en_EN";
}
language = Setup.OSDLanguage;
dsyslog("skindesigner: using language %s", language.c_str());
}