Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/skin/skinloader.cpp

Go to the documentation of this file.
00001 // skinloader.cpp
00002 // Created 6/21/2010 by RJ Ryan (rryan@mit.edu)
00003 
00004 #include <QString>
00005 #include <QDir>
00006 #include <QtDebug>
00007 
00008 #include "vinylcontrol/vinylcontrolmanager.h"
00009 #include "skin/skinloader.h"
00010 #include "skin/legacyskinparser.h"
00011 
00012 #include "library/library.h"
00013 #include "playermanager.h"
00014 
00015 SkinLoader::SkinLoader(ConfigObject<ConfigValue>* pConfig) :
00016         m_pConfig(pConfig) {
00017 
00018 
00019 }
00020 
00021 SkinLoader::~SkinLoader() {
00022     LegacySkinParser::freeChannelStrings();
00023 }
00024 
00025 QString SkinLoader::getConfiguredSkinPath() {
00026     const QString defaultSkin = "Deere1280x800-WXGA";//XXX: App Store //"Outline1024x600-Netbook";
00027 
00028     QString qSkinPath = m_pConfig->getConfigPath();
00029     qSkinPath.append("skins/");
00030 
00031     QDir skinPath(qSkinPath);
00032 
00033     if (skinPath.exists()) {
00034         // Is the skin listed in the config database there? If not, use default skin.
00035 
00036         QString configSkin = m_pConfig->getValueString(ConfigKey("[Config]","Skin"));
00037         QString qThisSkin = qSkinPath + configSkin;
00038         QDir thisSkin(qThisSkin);
00039 
00040         if (configSkin.length() > 0 && thisSkin.exists()) {
00041             qSkinPath = qThisSkin;
00042         } else {
00043             m_pConfig->set(ConfigKey("[Config]","Skin"), ConfigValue(defaultSkin));
00044             qSkinPath.append(defaultSkin);
00045         }
00046     } else {
00047         qCritical() << "Skin directory does not exist:" << qSkinPath;
00048     }
00049 
00050     return qSkinPath;
00051 }
00052 
00053 QWidget* SkinLoader::loadDefaultSkin(QWidget* pParent,
00054                                        MixxxKeyboard* pKeyboard,
00055                                        PlayerManager* pPlayerManager,
00056                                        Library* pLibrary,
00057                                        VinylControlManager* pVCMan) {
00058     QString skinPath = getConfiguredSkinPath();
00059 
00060     LegacySkinParser legacy(m_pConfig, pKeyboard, pPlayerManager, pLibrary, pVCMan);
00061     return legacy.parseSkin(skinPath, pParent);
00062 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines