Add the "theme" directory to the plasmoid directory structure
This adds an extra step to the lookup of SVG images created with the Svg() global function: after looking in images/ in the plasmoid and then in the desktop theme, it looks in theme/$DESKTOP_THEME_NAME and then theme/ in the plasmoid. This allows plasmoid authors to add images that they want to allow theme authors to override. Forward-port of review request 109857.
This commit is contained in:
parent
ba1a7d0d35
commit
98130b33fe
@ -83,7 +83,7 @@ void PackageStructureTest::multiplePaths()
|
|||||||
void PackageStructureTest::directories()
|
void PackageStructureTest::directories()
|
||||||
{
|
{
|
||||||
QList<const char*> dirs;
|
QList<const char*> dirs;
|
||||||
dirs << "config" << "data" << "images" << "scripts" << "translations" << "ui";
|
dirs << "config" << "data" << "images" << "theme" << "scripts" << "translations" << "ui";
|
||||||
|
|
||||||
QList<const char*> psDirs = ps.directories();
|
QList<const char*> psDirs = ps.directories();
|
||||||
|
|
||||||
@ -156,6 +156,7 @@ void PackageStructureTest::requiredFiles()
|
|||||||
void PackageStructureTest::path()
|
void PackageStructureTest::path()
|
||||||
{
|
{
|
||||||
QCOMPARE(ps.filePath("images"), QDir(m_packagePath + QString("/contents/images")).canonicalPath());
|
QCOMPARE(ps.filePath("images"), QDir(m_packagePath + QString("/contents/images")).canonicalPath());
|
||||||
|
QCOMPARE(ps.filePath("theme"), QDir(m_packagePath + QString("/contents/theme")).canonicalPath());
|
||||||
QCOMPARE(ps.filePath("mainscript"), QFileInfo(m_packagePath + QString("/contents/ui/main.qml")).canonicalFilePath());
|
QCOMPARE(ps.filePath("mainscript"), QFileInfo(m_packagePath + QString("/contents/ui/main.qml")).canonicalFilePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,6 +176,7 @@ void PackageStructureTest::mimeTypes()
|
|||||||
QStringList mimeTypes;
|
QStringList mimeTypes;
|
||||||
mimeTypes << "image/svg+xml" << "image/png" << "image/jpeg";
|
mimeTypes << "image/svg+xml" << "image/png" << "image/jpeg";
|
||||||
QCOMPARE(ps.mimeTypes("images"), mimeTypes);
|
QCOMPARE(ps.mimeTypes("images"), mimeTypes);
|
||||||
|
QCOMPARE(ps.mimeTypes("theme"), mimeTypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTEST_MAIN(PackageStructureTest)
|
QTEST_MAIN(PackageStructureTest)
|
||||||
|
@ -82,9 +82,11 @@ void GenericPackage::initPackage(Package *package)
|
|||||||
package->setDefaultPackageRoot("plasma/packages/");
|
package->setDefaultPackageRoot("plasma/packages/");
|
||||||
|
|
||||||
package->addDirectoryDefinition("images", "images", i18n("Images"));
|
package->addDirectoryDefinition("images", "images", i18n("Images"));
|
||||||
|
package->addDirectoryDefinition("theme", "theme", i18n("Themed Images"));
|
||||||
QStringList mimetypes;
|
QStringList mimetypes;
|
||||||
mimetypes << "image/svg+xml" << "image/png" << "image/jpeg";
|
mimetypes << "image/svg+xml" << "image/png" << "image/jpeg";
|
||||||
package->setMimeTypes("images", mimetypes);
|
package->setMimeTypes("images", mimetypes);
|
||||||
|
package->setMimeTypes("theme", mimetypes);
|
||||||
|
|
||||||
package->addDirectoryDefinition("config", "config", i18n("Configuration Definitions"));
|
package->addDirectoryDefinition("config", "config", i18n("Configuration Definitions"));
|
||||||
mimetypes.clear();
|
mimetypes.clear();
|
||||||
|
Loading…
Reference in New Issue
Block a user