summaryrefslogtreecommitdiffstats
path: root/sigtools
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-25 01:52:36 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-25 01:52:36 -0400
commitaad586616b64fae819de93594c83b815071bce2d (patch)
tree9009cfee2890e1a6f37cdffbfb8bcd968534eb60 /sigtools
parent777a0a858fef34735f74b587c1b9436ee1016661 (diff)
downloadsigen-aad586616b64fae819de93594c83b815071bce2d.tar.gz
sigen-aad586616b64fae819de93594c83b815071bce2d.tar.xz
sigen-aad586616b64fae819de93594c83b815071bce2d.zip
Load canvas plugins as well
Diffstat (limited to 'sigtools')
-rw-r--r--sigtools/PluginModel.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/sigtools/PluginModel.cpp b/sigtools/PluginModel.cpp
index 86ed16b0..34d283ae 100644
--- a/sigtools/PluginModel.cpp
+++ b/sigtools/PluginModel.cpp
@@ -24,6 +24,7 @@
// Sigencore includes
#include <sigencore/plugins/ArenaPlugin.h>
+#include <sigencore/plugins/CanvasPlugin.h>
// KDE includes
#include <KColorScheme>
@@ -67,6 +68,16 @@ PluginModel::PluginModel(KService::Ptr service, PluginTypeModel* parent) :
m_classes.append(new ClassModel(plugin->icon(arena), arena, plugin->description(arena), this));
}
}
+ else if (type == "Sigen/Canvas")
+ {
+ CanvasPlugin* plugin = factory->create<CanvasPlugin>(this);
+ if (plugin)
+ {
+ QStringList canvases = plugin->canvases();
+ foreach (const QString& canvas, canvases)
+ m_classes.append(new ClassModel(plugin->icon(canvas), canvas, plugin->description(canvas), this));
+ }
+ }
else
KMessageBox::information(NULL, QString("The plugin type \"%1\" is not supported.").arg(m_service->type()), "Unsupported plugin type");
}