diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-25 01:52:36 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-25 01:52:36 -0400 |
commit | aad586616b64fae819de93594c83b815071bce2d (patch) | |
tree | 9009cfee2890e1a6f37cdffbfb8bcd968534eb60 /sigtools | |
parent | 777a0a858fef34735f74b587c1b9436ee1016661 (diff) | |
download | sigen-aad586616b64fae819de93594c83b815071bce2d.tar.gz sigen-aad586616b64fae819de93594c83b815071bce2d.tar.xz sigen-aad586616b64fae819de93594c83b815071bce2d.zip |
Load canvas plugins as well
Diffstat (limited to 'sigtools')
-rw-r--r-- | sigtools/PluginModel.cpp | 11 |
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"); } |