GH-378 add a resource search path to custom themes

This allows adding images and other bits and pieces to themes.
This commit is contained in:
Petr Mrázek
2016-11-06 05:48:52 +01:00
parent bc753859b5
commit 37cc59c04d
4 changed files with 14 additions and 1 deletions

View File

@ -128,10 +128,11 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QString folder)
{
m_id = folder;
QString path = FS::PathCombine("themes", m_id);
QString pathResources = FS::PathCombine("themes", m_id, "resources");
qDebug() << "Loading theme" << m_id;
if(!FS::ensureFolderPathExists(path))
if(!FS::ensureFolderPathExists(path) || !FS::ensureFolderPathExists(pathResources))
{
qWarning() << "couldn't create folder for theme!";
m_palette = baseTheme->colorScheme();
@ -191,6 +192,12 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QString folder)
}
}
QStringList CustomTheme::searchPaths()
{
return { FS::PathCombine("themes", m_id, "resources") };
}
QString CustomTheme::id()
{
return m_id;

View File

@ -15,6 +15,7 @@ public:
double fadeAmount() override;
QColor fadeColor() override;
QString qtTheme() override;
QStringList searchPaths() override;
private: /* data */
QPalette m_palette;

View File

@ -13,6 +13,10 @@ public:
virtual QPalette colorScheme() = 0;
virtual QColor fadeColor() = 0;
virtual double fadeAmount() = 0;
virtual QStringList searchPaths()
{
return {};
}
static QPalette fadeInactive(QPalette in, qreal bias, QColor color);
};