diff --git a/data/services/plasma.protocol b/data/services/plasma.protocol index fb94a84d2..86b0a7ae2 100644 --- a/data/services/plasma.protocol +++ b/data/services/plasma.protocol @@ -7,6 +7,7 @@ output=none Icon=plasma Description=A protocol for Plasma services +Description[bg]=Протокол за услуги Plasma Description[bs]=Protokol Plazma usluga Description[ca]=Un protocol pels serveis del Plasma Description[ca@valencia]=Un protocol pels serveis del Plasma diff --git a/package.cpp b/package.cpp index a9b88c06b..bef3a1f57 100644 --- a/package.cpp +++ b/package.cpp @@ -399,7 +399,11 @@ PackagePrivate::PackagePrivate(const PackageStructure::Ptr st, const QString &p) service(0) { if (structure) { - structure->setPath(p); + if (p.isEmpty()) { + structure->setPath(structure->defaultPackageRoot()); + } else { + structure->setPath(p); + } } valid = structure && !structure->path().isEmpty(); diff --git a/packagestructure.cpp b/packagestructure.cpp index ab67da3ab..9fdae3e8c 100644 --- a/packagestructure.cpp +++ b/packagestructure.cpp @@ -149,6 +149,10 @@ PackageStructure::Ptr PackageStructure::load(const QString &packageFormat) } else if (packageFormat == "Plasma/Theme") { structure = Theme::packageStructure(); structure->d->type = "Plasma/Theme"; + } else if (packageFormat == "Plasma/Generic") { + structure = defaultPackageStructure(GenericComponent); + structure->d->type = "Plasma/Generic"; + structure->setDefaultPackageRoot(KStandardDirs::locate("data", "plasmapackages")); } if (structure) { diff --git a/plasma.h b/plasma.h index 5124239a6..020b118eb 100644 --- a/plasma.h +++ b/plasma.h @@ -213,7 +213,8 @@ enum ComponentType { RunnerComponent = 4, /**< Plasma::AbstractRunner based plugsin **/ AnimatorComponent = 8, /**< Plasma::Animator based plugins **/ ContainmentComponent = 16,/**< Plasma::Containment based plugins **/ - WallpaperComponent = 32 /**< Plasma::Wallpaper based plugins **/ + WallpaperComponent = 32, /**< Plasma::Wallpaper based plugins **/ + GenericComponent = 64 /** Generic repositories of files, usually they keep QML files and their assets **/ }; Q_DECLARE_FLAGS(ComponentTypes, ComponentType)