blob: a99b5c639caed8e2ecfe5bbcbf178059ebe981ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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<QString, QString> categoryNames;
+
foreach( K3b::Plugin* plugin, k3bcore->pluginManager()->plugins() ) {
- kDebug() << "Adding plugin" << plugin->pluginInfo().name();
- pluginSelector->addPlugins( QList<KPluginInfo>() << plugin->pluginInfo(),
+ categoryNames[ plugin->category() ] = plugin->categoryName();
+ }
+
+ // add all plugins in each category
+ foreach( const QString &category, categoryNames.keys() ) {
+ QList<KPluginInfo> 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
+ );
}
}
|