diff --git a/src/plasmaquick/private/configcategory_p.cpp b/src/plasmaquick/private/configcategory_p.cpp --- a/src/plasmaquick/private/configcategory_p.cpp +++ b/src/plasmaquick/private/configcategory_p.cpp @@ -111,6 +111,23 @@ m_pluginName = name; emit pluginNameChanged(); + + KPluginLoader loader(KPluginLoader::findPlugin(name)); + KPluginMetaData md(loader.fileName()); + + if (!md.isValid()) { + qWarning() << "Could not find plugin" << name << "specified as ConfigCategory"; + setVisible(false); + return; + } + + if (m_name.isEmpty()) { + setName(md.name()); + } + + if (m_icon.isEmpty()) { + setIcon(md.iconName()); + } } bool ConfigCategory::visible() const