diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2003-10-17 15:35:43 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2003-10-17 15:35:43 +0000 |
| commit | fc2f5b2cd655f1391f2abda1b39e37cdec98a951 (patch) | |
| tree | 312efcea86a319de407a7c314fb981fb1c71019a /lib/gui/eskin_register.cpp | |
| download | enigma2-fc2f5b2cd655f1391f2abda1b39e37cdec98a951.tar.gz enigma2-fc2f5b2cd655f1391f2abda1b39e37cdec98a951.zip | |
Initial revision
Diffstat (limited to 'lib/gui/eskin_register.cpp')
| -rw-r--r-- | lib/gui/eskin_register.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/gui/eskin_register.cpp b/lib/gui/eskin_register.cpp new file mode 100644 index 00000000..a212449b --- /dev/null +++ b/lib/gui/eskin_register.cpp @@ -0,0 +1,44 @@ +#include <lib/gui/eskin_register.h> +#include <lib/gui/eskin.h> +#include <lib/gdi/gfbdc.h> +#include <lib/base/init.h> +#include <lib/base/init_num.h> +#include <lib/base/econfig.h> + +#define DEFAULTSKIN "stone.esml" + +class eSkinInit +{ + eSkin default_skin; +public: + eSkinInit() + { + if (default_skin.load( CONFIGDIR "/enigma/skins/default.esml")) + if (default_skin.load( DATADIR "/enigma/skins/default.esml")) + eFatal("skin load failed (" DATADIR "/enigma/skins/default.esml)"); + + eString skinfile=DEFAULTSKIN; + + char *temp=0; + if (!eConfig::getInstance()->getKey("/ezap/ui/skin", temp)) + { + skinfile=temp; + free(temp); + } + + if (default_skin.load(skinfile.c_str())) + { + eWarning("failed to load user defined skin %s, falling back to " DEFAULTSKIN, skinfile.c_str()); + if (default_skin.load(CONFIGDIR "/enigma/skins/" DEFAULTSKIN)) + if (default_skin.load(DATADIR "/enigma/skins/" DEFAULTSKIN)) + eFatal("couldn't load fallback skin " DATADIR "/enigma/skins/" DEFAULTSKIN); + } + + default_skin.parseSkins(); + + default_skin.setPalette(gFBDC::getInstance()); + default_skin.makeActive(); + } +}; + +eAutoInitP0<eSkinInit> init_skin(eAutoInitNumbers::skin, "skin subsystem"); |
