1 #pragma once 2 3 #include <QDir> 4 #include <QList> 5 #include <QSet> 6 #include <QWidget> 7 8 #include "preferences/usersettings.h" 9 10 class KeyboardEventFilter; 11 class PlayerManager; 12 class ControllerManager; 13 class ControlObject; 14 class Library; 15 class VinylControlManager; 16 class EffectsManager; 17 class RecordingManager; 18 class LaunchImage; 19 20 class SkinLoader { 21 public: 22 SkinLoader(UserSettingsPointer pConfig); 23 virtual ~SkinLoader(); 24 25 QWidget* loadConfiguredSkin(QWidget* pParent, 26 QSet<ControlObject*>* skinCreatedControls, 27 KeyboardEventFilter* pKeyboard, 28 PlayerManager* pPlayerManager, 29 ControllerManager* pControllerManager, 30 Library* pLibrary, 31 VinylControlManager* pVCMan, 32 EffectsManager* pEffectsManager, 33 RecordingManager* pRecordingManager); 34 35 LaunchImage* loadLaunchImage(QWidget* pParent); 36 37 QString getSkinPath(const QString& skinName) const; 38 QPixmap getSkinPreview(const QString& skinName, 39 const QString& schemeName, 40 const double devicePixelRatio) const; 41 QString getConfiguredSkinPath() const; 42 QString getDefaultSkinName() const; 43 QList<QDir> getSkinSearchPaths() const; 44 45 private: 46 QString pickResizableSkin(const QString& oldSkin) const; 47 48 UserSettingsPointer m_pConfig; 49 }; 50