Index: src/option/k3bpluginoptiontab.cpp =================================================================== --- src/option/k3bpluginoptiontab.cpp (revision 1168967) +++ src/option/k3bpluginoptiontab.cpp (working copy) @@ -43,12 +43,28 @@ layout->addWidget( label ); layout->addWidget( pluginSelector ); + // find all categories + QHash categoryNames; + foreach( K3b::Plugin* plugin, k3bcore->pluginManager()->plugins() ) { - kDebug() << "Adding plugin" << plugin->pluginInfo().name(); - pluginSelector->addPlugins( QList() << plugin->pluginInfo(), + categoryNames[ plugin->category() ] = plugin->categoryName(); + } + + // add all plugins in each category + foreach( const QString &category, categoryNames.keys() ) { + QList plugins; + + foreach( K3b::Plugin* plugin, k3bcore->pluginManager()->plugins() ) { + if ( plugin->category() == category ) { + plugins << plugin->pluginInfo(); + kDebug() << "Adding plugin" << plugin->pluginInfo().name(); + } + } + pluginSelector->addPlugins( plugins, KPluginSelector::ReadConfigFile, - plugin->categoryName(), - plugin->category() ); + categoryNames[ category ], + category + ); } }