Skip to content
This repository has been archived by the owner on Apr 15, 2023. It is now read-only.

Commit

Permalink
changed: finished moving skins to addon framework
Browse files Browse the repository at this point in the history
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@29545 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
  • Loading branch information
alcoheca committed Apr 27, 2010
1 parent 4d165b4 commit 553d213
Show file tree
Hide file tree
Showing 11 changed files with 74 additions and 48 deletions.
2 changes: 1 addition & 1 deletion guilib/GUIColorManager.cpp
Expand Up @@ -54,7 +54,7 @@ void CGUIColorManager::Load(const CStdString &colorFile)


// first load the default color map if it exists // first load the default color map if it exists
CStdString path, basePath; CStdString path, basePath;
CUtil::AddFileToFolder(g_SkinInfo->GetBaseDir(), "colors", basePath); CUtil::AddFileToFolder(g_SkinInfo->Path(), "colors", basePath);
CUtil::AddFileToFolder(basePath, "defaults.xml", path); CUtil::AddFileToFolder(basePath, "defaults.xml", path);


if (xmlDoc.LoadFile(PTH_IC(path))) if (xmlDoc.LoadFile(PTH_IC(path)))
Expand Down
56 changes: 37 additions & 19 deletions xbmc/Application.cpp
Expand Up @@ -1007,8 +1007,8 @@ bool CApplication::Initialize()


g_windowManager.Add(new CGUIWindowHome); // window id = 0 g_windowManager.Add(new CGUIWindowHome); // window id = 0


CLog::Log(LOGNOTICE, "load default skin:[%s]", g_guiSettings.GetString("lookandfeel.skin").c_str()); if (!LoadSkin(g_guiSettings.GetString("lookandfeel.skin")))
LoadSkin(g_guiSettings.GetString("lookandfeel.skin")); LoadSkin(DEFAULT_SKIN);


g_windowManager.Add(new CGUIWindowPrograms); // window id = 1 g_windowManager.Add(new CGUIWindowPrograms); // window id = 1
g_windowManager.Add(new CGUIWindowPictures); // window id = 2 g_windowManager.Add(new CGUIWindowPictures); // window id = 2
Expand Down Expand Up @@ -1484,8 +1484,27 @@ void CApplication::ReloadSkin()
} }
} }


void CApplication::LoadSkin(const CStdString& strSkin) bool CApplication::LoadSkin(const CStdString& skinID)
{ {
AddonPtr addon;
if (CAddonMgr::Get()->GetAddon(skinID, addon))
{
LoadSkin(boost::dynamic_pointer_cast<ADDON::CSkinInfo>(addon));
return true;
}
return false;
}

void CApplication::LoadSkin(const SkinPtr& skin)
{
if (!skin)
{
CLog::Log(LOGERROR, "failed to load requested skin, fallback to \"%s\" skin", DEFAULT_SKIN);
g_guiSettings.SetString("lookandfeel.skin", DEFAULT_SKIN);
LoadSkin(DEFAULT_SKIN);
return ;
}

bool bPreviousPlayingState=false; bool bPreviousPlayingState=false;
bool bPreviousRenderingState=false; bool bPreviousRenderingState=false;
if (g_application.m_pPlayer && g_application.IsPlayingVideo()) if (g_application.m_pPlayer && g_application.IsPlayingVideo())
Expand All @@ -1507,9 +1526,6 @@ void CApplication::LoadSkin(const CStdString& strSkin)
// close the music and video overlays (they're re-opened automatically later) // close the music and video overlays (they're re-opened automatically later)
CSingleLock lock(g_graphicsContext); CSingleLock lock(g_graphicsContext);


CStdString strSkinPath = g_settings.GetSkinFolder(strSkin);
CLog::Log(LOGINFO, " load skin from:%s", strSkinPath.c_str());

// save the current window details // save the current window details
int currentWindow = g_windowManager.GetActiveWindow(); int currentWindow = g_windowManager.GetActiveWindow();
vector<int> currentModelessWindows; vector<int> currentModelessWindows;
Expand All @@ -1518,12 +1534,14 @@ void CApplication::LoadSkin(const CStdString& strSkin)
CLog::Log(LOGINFO, " delete old skin..."); CLog::Log(LOGINFO, " delete old skin...");
UnloadSkin(); UnloadSkin();


// Load in the skin.xml file if it exists CLog::Log(LOGINFO, " load skin from:%s", skin->Path().c_str());
g_SkinInfo->Load(strSkinPath);
g_SkinInfo = skin;
g_SkinInfo->Start();


CLog::Log(LOGINFO, " load fonts for skin..."); CLog::Log(LOGINFO, " load fonts for skin...");
g_graphicsContext.SetMediaDir(strSkinPath); g_graphicsContext.SetMediaDir(skin->Path());
g_directoryCache.ClearSubPaths(strSkinPath); g_directoryCache.ClearSubPaths(skin->Path());
if (g_langInfo.ForceUnicodeFont() && !g_fontManager.IsFontSetUnicode(g_guiSettings.GetString("lookandfeel.font"))) if (g_langInfo.ForceUnicodeFont() && !g_fontManager.IsFontSetUnicode(g_guiSettings.GetString("lookandfeel.font")))
{ {
CLog::Log(LOGINFO, " language needs a ttf font, loading first ttf font available"); CLog::Log(LOGINFO, " language needs a ttf font, loading first ttf font available");
Expand All @@ -1542,16 +1560,16 @@ void CApplication::LoadSkin(const CStdString& strSkin)
g_fontManager.LoadFonts(g_guiSettings.GetString("lookandfeel.font")); g_fontManager.LoadFonts(g_guiSettings.GetString("lookandfeel.font"));


// load in the skin strings // load in the skin strings
CStdString skinPath, skinEnglishPath; CStdString langPath, skinEnglishPath;
CUtil::AddFileToFolder(strSkinPath, "language", skinPath); CUtil::AddFileToFolder(skin->Path(), "language", langPath);
CUtil::AddFileToFolder(skinPath, g_guiSettings.GetString("locale.language"), skinPath); CUtil::AddFileToFolder(langPath, g_guiSettings.GetString("locale.language"), langPath);
CUtil::AddFileToFolder(skinPath, "strings.xml", skinPath); CUtil::AddFileToFolder(langPath, "strings.xml", langPath);


CUtil::AddFileToFolder(strSkinPath, "language", skinEnglishPath); CUtil::AddFileToFolder(skin->Path(), "language", skinEnglishPath);
CUtil::AddFileToFolder(skinEnglishPath, "English", skinEnglishPath); CUtil::AddFileToFolder(skinEnglishPath, "English", skinEnglishPath);
CUtil::AddFileToFolder(skinEnglishPath, "strings.xml", skinEnglishPath); CUtil::AddFileToFolder(skinEnglishPath, "strings.xml", skinEnglishPath);


g_localizeStrings.LoadSkinStrings(skinPath, skinEnglishPath); g_localizeStrings.LoadSkinStrings(langPath, skinEnglishPath);


int64_t start; int64_t start;
start = CurrentHostCounter(); start = CurrentHostCounter();
Expand All @@ -1562,11 +1580,11 @@ void CApplication::LoadSkin(const CStdString& strSkin)
{ {
// failed to load home.xml // failed to load home.xml
// fallback to default skin // fallback to default skin
if ( strcmpi(strSkin.c_str(), DEFAULT_SKIN) != 0) if ( strcmpi(skin->ID().c_str(), DEFAULT_SKIN) != 0)
{ {
CLog::Log(LOGERROR, "failed to load home.xml for skin:%s, fallback to \"%s\" skin", strSkin.c_str(), DEFAULT_SKIN); CLog::Log(LOGERROR, "failed to load home.xml for skin:%s, fallback to \"%s\" skin", skin->ID().c_str(), DEFAULT_SKIN);
g_guiSettings.SetString("lookandfeel.skin", DEFAULT_SKIN); g_guiSettings.SetString("lookandfeel.skin", DEFAULT_SKIN);
LoadSkin(g_guiSettings.GetString("lookandfeel.skin")); LoadSkin(DEFAULT_SKIN);
return ; return ;
} }
} }
Expand Down
7 changes: 6 additions & 1 deletion xbmc/Application.h
Expand Up @@ -28,6 +28,10 @@


class CFileItem; class CFileItem;
class CFileItemList; class CFileItemList;
namespace ADDON
{
class CSkinInfo;
}


#include "GUIDialogSeekBar.h" #include "GUIDialogSeekBar.h"
#include "GUIDialogKaiToast.h" #include "GUIDialogKaiToast.h"
Expand Down Expand Up @@ -116,7 +120,7 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs
bool IsCurrentThread() const; bool IsCurrentThread() const;
void Stop(); void Stop();
void RestartApp(); void RestartApp();
void LoadSkin(const CStdString& strSkin); bool LoadSkin(const CStdString& skinID);
void UnloadSkin(); void UnloadSkin();
bool LoadUserWindows(); bool LoadUserWindows();
void ReloadSkin(); void ReloadSkin();
Expand Down Expand Up @@ -274,6 +278,7 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs


protected: protected:
void RenderScreenSaver(); void RenderScreenSaver();
void LoadSkin(const boost::shared_ptr<ADDON::CSkinInfo>& skin);


friend class CApplicationMessenger; friend class CApplicationMessenger;
// screensaver // screensaver
Expand Down
2 changes: 1 addition & 1 deletion xbmc/GUIWindowSettingsCategory.cpp
Expand Up @@ -2667,7 +2667,7 @@ void CGUIWindowSettingsCategory::FillInSkinColors(CSetting *pSetting)
vector<CStdString> vecColors; vector<CStdString> vecColors;


CStdString strPath; CStdString strPath;
CUtil::AddFileToFolder(g_SkinInfo->GetBaseDir(),"colors",strPath); CUtil::AddFileToFolder(g_SkinInfo->Path(),"colors",strPath);


CFileItemList items; CFileItemList items;
CDirectory::GetDirectory(PTH_IC(strPath), items, ".xml"); CDirectory::GetDirectory(PTH_IC(strPath), items, ".xml");
Expand Down
2 changes: 1 addition & 1 deletion xbmc/Settings.h
Expand Up @@ -22,7 +22,7 @@


#define PRE_SKIN_VERSION_9_10_COMPATIBILITY 1 #define PRE_SKIN_VERSION_9_10_COMPATIBILITY 1


#define DEFAULT_SKIN "Confluence" #define DEFAULT_SKIN "org.xbmc.addons.confluence"
#define DEFAULT_FANART_HEIGHT 0 #define DEFAULT_FANART_HEIGHT 0
#ifdef MID #ifdef MID
#define DEFAULT_VSYNC VSYNC_DISABLED #define DEFAULT_VSYNC VSYNC_DISABLED
Expand Down
7 changes: 7 additions & 0 deletions xbmc/addons/Addon.cpp
Expand Up @@ -137,6 +137,12 @@ const CStdString TranslateType(const ADDON::TYPE &type, bool pretty/*=false*/)
return g_localizeStrings.Get(24009); return g_localizeStrings.Get(24009);
return "script"; return "script";
} }
case ADDON::ADDON_SKIN:
{
if (pretty)
return g_localizeStrings.Get(166);
return "skin";
}
case ADDON::ADDON_SCRIPT_LIBRARY: case ADDON::ADDON_SCRIPT_LIBRARY:
{ {
return "script-library"; return "script-library";
Expand Down Expand Up @@ -164,6 +170,7 @@ const ADDON::TYPE TranslateType(const CStdString &string)
else if (string.Equals("visualization-library")) return ADDON_VIZ_LIBRARY; else if (string.Equals("visualization-library")) return ADDON_VIZ_LIBRARY;
else if (string.Equals("plugin")) return ADDON_PLUGIN; else if (string.Equals("plugin")) return ADDON_PLUGIN;
else if (string.Equals("script")) return ADDON_SCRIPT; else if (string.Equals("script")) return ADDON_SCRIPT;
else if (string.Equals("skin")) return ADDON_SKIN;
else if (string.Equals("script-library")) return ADDON_SCRIPT_LIBRARY; else if (string.Equals("script-library")) return ADDON_SCRIPT_LIBRARY;
else if (string.Equals("addon-repository")) return ADDON_REPOSITORY; else if (string.Equals("addon-repository")) return ADDON_REPOSITORY;
else return ADDON_UNKNOWN; else return ADDON_UNKNOWN;
Expand Down
5 changes: 5 additions & 0 deletions xbmc/addons/AddonManager.cpp
Expand Up @@ -45,6 +45,7 @@
#include "Scraper.h" #include "Scraper.h"
//#endif //#endif
#include "Repository.h" #include "Repository.h"
#include "Skin.h"


using namespace std; using namespace std;


Expand Down Expand Up @@ -129,6 +130,8 @@ bool CAddonMgr::GetAllAddons(VECADDONS &addons, bool enabledOnly/*= true*/)
addons.insert(addons.end(), temp.begin(), temp.end()); addons.insert(addons.end(), temp.begin(), temp.end());
if (CAddonMgr::Get()->GetAddons(ADDON_SCRIPT, temp, CONTENT_NONE, enabledOnly)) if (CAddonMgr::Get()->GetAddons(ADDON_SCRIPT, temp, CONTENT_NONE, enabledOnly))
addons.insert(addons.end(), temp.begin(), temp.end()); addons.insert(addons.end(), temp.begin(), temp.end());
if (CAddonMgr::Get()->GetAddons(ADDON_SKIN, temp, CONTENT_NONE, enabledOnly))
addons.insert(addons.end(), temp.begin(), temp.end());
if (CAddonMgr::Get()->GetAddons(ADDON_VIZ, temp, CONTENT_NONE, enabledOnly)) if (CAddonMgr::Get()->GetAddons(ADDON_VIZ, temp, CONTENT_NONE, enabledOnly))
addons.insert(addons.end(), temp.begin(), temp.end()); addons.insert(addons.end(), temp.begin(), temp.end());
return !addons.empty(); return !addons.empty();
Expand Down Expand Up @@ -684,6 +687,8 @@ AddonPtr CAddonMgr::AddonFromProps(AddonProps& addonProps)
return AddonPtr(new CAddon(addonProps)); return AddonPtr(new CAddon(addonProps));
case ADDON_SCRAPER: case ADDON_SCRAPER:
return AddonPtr(new CScraper(addonProps)); return AddonPtr(new CScraper(addonProps));
case ADDON_SKIN:
return AddonPtr(new CSkinInfo(addonProps));
case ADDON_VIZ: case ADDON_VIZ:
return AddonPtr(new CVisualisation(addonProps)); return AddonPtr(new CVisualisation(addonProps));
case ADDON_SCREENSAVER: case ADDON_SCREENSAVER:
Expand Down
26 changes: 10 additions & 16 deletions xbmc/addons/Skin.cpp
Expand Up @@ -51,7 +51,6 @@ CSkinInfo::~CSkinInfo()


void CSkinInfo::SetDefaults() void CSkinInfo::SetDefaults()
{ {
m_strBaseDir = "";
m_DefaultResolution = RES_PAL_4x3; m_DefaultResolution = RES_PAL_4x3;
m_DefaultResolutionWide = RES_INVALID; m_DefaultResolutionWide = RES_INVALID;
m_effectsSlowDown = 1.0f; m_effectsSlowDown = 1.0f;
Expand All @@ -60,14 +59,14 @@ void CSkinInfo::SetDefaults()
m_onlyAnimateToHome = true; m_onlyAnimateToHome = true;
} }


void CSkinInfo::Load(const CStdString& strSkinDir, bool loadIncludes) void CSkinInfo::Start(const CStdString& strSkinDir /* = "" */)
{ {
bool loadIncludes = true;
SetDefaults(); SetDefaults();
m_strBaseDir = strSkinDir;


// Load from skin.xml // Load from skin.xml
TiXmlDocument xmlDoc; TiXmlDocument xmlDoc;
CStdString strFile = m_strBaseDir + "\\skin.xml"; CStdString strFile = Path() + "\\skin.xml";
if (xmlDoc.LoadFile(strFile)) if (xmlDoc.LoadFile(strFile))
{ // ok - get the default skin folder out of it... { // ok - get the default skin folder out of it...
const TiXmlNode* root = xmlDoc.RootElement(); const TiXmlNode* root = xmlDoc.RootElement();
Expand All @@ -77,8 +76,8 @@ void CSkinInfo::Load(const CStdString& strSkinDir, bool loadIncludes)
if (!GetResolution(root, "defaultwideresolution", m_DefaultResolutionWide)) if (!GetResolution(root, "defaultwideresolution", m_DefaultResolutionWide))
m_DefaultResolutionWide = m_DefaultResolution; m_DefaultResolutionWide = m_DefaultResolution;


CLog::Log(LOGINFO, "Default 4:3 resolution directory is %s", CUtil::AddFileToFolder(m_strBaseDir, GetDirFromRes(m_DefaultResolution)).c_str()); CLog::Log(LOGINFO, "Default 4:3 resolution directory is %s", CUtil::AddFileToFolder(Path(), GetDirFromRes(m_DefaultResolution)).c_str());
CLog::Log(LOGINFO, "Default 16:9 resolution directory is %s", CUtil::AddFileToFolder(m_strBaseDir, GetDirFromRes(m_DefaultResolutionWide)).c_str()); CLog::Log(LOGINFO, "Default 16:9 resolution directory is %s", CUtil::AddFileToFolder(Path(), GetDirFromRes(m_DefaultResolutionWide)).c_str());


XMLUtils::GetDouble(root, "version", m_Version); XMLUtils::GetDouble(root, "version", m_Version);
XMLUtils::GetFloat(root, "effectslowdown", m_effectsSlowDown); XMLUtils::GetFloat(root, "effectslowdown", m_effectsSlowDown);
Expand All @@ -97,7 +96,7 @@ void CSkinInfo::Load(const CStdString& strSkinDir, bool loadIncludes)


CStdString CSkinInfo::GetSkinPath(const CStdString& strFile, RESOLUTION *res, const CStdString& strBaseDir /* = "" */) const CStdString CSkinInfo::GetSkinPath(const CStdString& strFile, RESOLUTION *res, const CStdString& strBaseDir /* = "" */) const
{ {
CStdString strPathToUse = m_strBaseDir; CStdString strPathToUse = Path();
if (!strBaseDir.IsEmpty()) if (!strBaseDir.IsEmpty())
strPathToUse = strBaseDir; strPathToUse = strBaseDir;


Expand Down Expand Up @@ -197,11 +196,6 @@ CStdString CSkinInfo::GetDirFromRes(RESOLUTION res) const
return strRes; return strRes;
} }


CStdString CSkinInfo::GetBaseDir() const
{
return m_strBaseDir;
}

double CSkinInfo::GetMinVersion() double CSkinInfo::GetMinVersion()
{ {
return SKIN_MIN_VERSION; return SKIN_MIN_VERSION;
Expand Down Expand Up @@ -293,13 +287,13 @@ void CSkinInfo::GetSkinPaths(std::vector<CStdString> &paths) const
RESOLUTION resToUse = RES_INVALID; RESOLUTION resToUse = RES_INVALID;
GetSkinPath("Home.xml", &resToUse); GetSkinPath("Home.xml", &resToUse);
if (resToUse == RES_HDTV_1080i) if (resToUse == RES_HDTV_1080i)
paths.push_back(CUtil::AddFileToFolder(m_strBaseDir, GetDirFromRes(RES_HDTV_1080i))); paths.push_back(CUtil::AddFileToFolder(Path(), GetDirFromRes(RES_HDTV_1080i)));
if (resToUse == RES_HDTV_720p) if (resToUse == RES_HDTV_720p)
paths.push_back(CUtil::AddFileToFolder(m_strBaseDir, GetDirFromRes(RES_HDTV_720p))); paths.push_back(CUtil::AddFileToFolder(Path(), GetDirFromRes(RES_HDTV_720p)));
if (resToUse != m_DefaultResolutionWide && IsWide(resToUse)) if (resToUse != m_DefaultResolutionWide && IsWide(resToUse))
paths.push_back(CUtil::AddFileToFolder(m_strBaseDir, GetDirFromRes(m_DefaultResolutionWide))); paths.push_back(CUtil::AddFileToFolder(Path(), GetDirFromRes(m_DefaultResolutionWide)));
if (resToUse != m_DefaultResolution && (!IsWide(resToUse) || m_DefaultResolutionWide != m_DefaultResolution)) if (resToUse != m_DefaultResolution && (!IsWide(resToUse) || m_DefaultResolutionWide != m_DefaultResolution))
paths.push_back(CUtil::AddFileToFolder(m_strBaseDir, GetDirFromRes(m_DefaultResolution))); paths.push_back(CUtil::AddFileToFolder(Path(), GetDirFromRes(m_DefaultResolution)));
} }


bool CSkinInfo::GetResolution(const TiXmlNode *root, const char *tag, RESOLUTION &res) const bool CSkinInfo::GetResolution(const TiXmlNode *root, const char *tag, RESOLUTION &res) const
Expand Down
7 changes: 2 additions & 5 deletions xbmc/addons/Skin.h
Expand Up @@ -49,10 +49,9 @@ class CSkinInfo : public CAddon
virtual ~CSkinInfo(); virtual ~CSkinInfo();


/*! \brief Load information regarding the skin from the given skin directory /*! \brief Load information regarding the skin from the given skin directory
\param skinDir folder of the skin to load \param skinDir folder of the skin to load (defaults to this skin's basedir)
\param loadIncludes whether the includes from the skin should also be loaded (defaults to true)
*/ */
void Load(const CStdString& skinDir, bool loadIncludes = true); void Start(const CStdString& skinDir = "");


bool HasSkinFile(const CStdString &strFile) const; bool HasSkinFile(const CStdString &strFile) const;


Expand All @@ -65,7 +64,6 @@ class CSkinInfo : public CAddon
*/ */
CStdString GetSkinPath(const CStdString& file, RESOLUTION *res = NULL, const CStdString& baseDir = "") const; CStdString GetSkinPath(const CStdString& file, RESOLUTION *res = NULL, const CStdString& baseDir = "") const;


CStdString GetBaseDir() const;
double GetVersion() const { return m_Version; }; double GetVersion() const { return m_Version; };


/*! \brief Return whether skin debugging is enabled /*! \brief Return whether skin debugging is enabled
Expand Down Expand Up @@ -123,7 +121,6 @@ class CSkinInfo : public CAddon


RESOLUTION m_DefaultResolution; // default resolution for the skin in 4:3 modes RESOLUTION m_DefaultResolution; // default resolution for the skin in 4:3 modes
RESOLUTION m_DefaultResolutionWide; // default resolution for the skin in 16:9 modes RESOLUTION m_DefaultResolutionWide; // default resolution for the skin in 16:9 modes
CStdString m_strBaseDir;
double m_Version; double m_Version;


float m_effectsSlowDown; float m_effectsSlowDown;
Expand Down
4 changes: 2 additions & 2 deletions xbmc/lib/libPython/xbmcmodule/winxml.cpp
Expand Up @@ -100,7 +100,7 @@ namespace PYXBMC
CStdString basePath; CStdString basePath;
CUtil::AddFileToFolder(strFallbackPath, "resources", basePath); CUtil::AddFileToFolder(strFallbackPath, "resources", basePath);
CUtil::AddFileToFolder(basePath, "skins", basePath); CUtil::AddFileToFolder(basePath, "skins", basePath);
CUtil::AddFileToFolder(basePath, CUtil::GetFileName(g_SkinInfo->GetBaseDir()), basePath); CUtil::AddFileToFolder(basePath, CUtil::GetFileName(g_SkinInfo->Path()), basePath);
strSkinPath = g_SkinInfo->GetSkinPath(strXMLname, &res, basePath); strSkinPath = g_SkinInfo->GetSkinPath(strXMLname, &res, basePath);
if (!XFILE::CFile::Exists(strSkinPath)) if (!XFILE::CFile::Exists(strSkinPath))
{ {
Expand All @@ -121,7 +121,7 @@ namespace PYXBMC
CUtil::AddFileToFolder(basePath, "skins", basePath); CUtil::AddFileToFolder(basePath, "skins", basePath);
CUtil::AddFileToFolder(basePath, strDefault, basePath); CUtil::AddFileToFolder(basePath, strDefault, basePath);


skinInfo.Load(basePath); skinInfo.Start(basePath);
strSkinPath = skinInfo.GetSkinPath(strXMLname, &res, basePath); strSkinPath = skinInfo.GetSkinPath(strXMLname, &res, basePath);


if (!XFILE::CFile::Exists(strSkinPath)) if (!XFILE::CFile::Exists(strSkinPath))
Expand Down
4 changes: 2 additions & 2 deletions xbmc/lib/libPython/xbmcmodule/winxmldialog.cpp
Expand Up @@ -100,7 +100,7 @@ namespace PYXBMC
CStdString basePath; CStdString basePath;
CUtil::AddFileToFolder(strFallbackPath, "resources", basePath); CUtil::AddFileToFolder(strFallbackPath, "resources", basePath);
CUtil::AddFileToFolder(basePath, "skins", basePath); CUtil::AddFileToFolder(basePath, "skins", basePath);
CUtil::AddFileToFolder(basePath, CUtil::GetFileName(g_SkinInfo->GetBaseDir()), basePath); CUtil::AddFileToFolder(basePath, CUtil::GetFileName(g_SkinInfo->Path()), basePath);
strSkinPath = g_SkinInfo->GetSkinPath(strXMLname, &res, basePath); strSkinPath = g_SkinInfo->GetSkinPath(strXMLname, &res, basePath);
if (!XFILE::CFile::Exists(strSkinPath)) if (!XFILE::CFile::Exists(strSkinPath))
{ {
Expand All @@ -121,7 +121,7 @@ namespace PYXBMC
CUtil::AddFileToFolder(basePath, "skins", basePath); CUtil::AddFileToFolder(basePath, "skins", basePath);
CUtil::AddFileToFolder(basePath, strDefault, basePath); CUtil::AddFileToFolder(basePath, strDefault, basePath);


skinInfo.Load(basePath); skinInfo.Start(basePath);
strSkinPath = skinInfo.GetSkinPath(strXMLname, &res, basePath); strSkinPath = skinInfo.GetSkinPath(strXMLname, &res, basePath);


if (!XFILE::CFile::Exists(strSkinPath)) if (!XFILE::CFile::Exists(strSkinPath))
Expand Down

0 comments on commit 553d213

Please sign in to comment.