From 31194b3f71fb92105e43433c0b5a82b6bc7ae38d Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 26 Mar 2009 07:33:05 -0400 Subject: Simplify fetching data from plugins with PluginBase --- sigtools/PluginLoader.cpp | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'sigtools/PluginLoader.cpp') diff --git a/sigtools/PluginLoader.cpp b/sigtools/PluginLoader.cpp index 051632e6..e7d787b6 100644 --- a/sigtools/PluginLoader.cpp +++ b/sigtools/PluginLoader.cpp @@ -91,26 +91,16 @@ void PluginLoader::Private::refresh(const QString& type) KPluginFactory *factory = loader.factory(); if (factory) { - QStringList plugins; - QObject* sigenPlugin; + PluginBase* plugin; if (type == "Arena") - { - ArenaPlugin* plugin = factory->create(this); - if (plugin) - plugins = plugin->arenas(); - sigenPlugin = plugin; - } + plugin = factory->create(this); else if (type == "Canvas") - { - CanvasPlugin* plugin = factory->create(this); - if (plugin) - plugins = plugin->canvases(); - sigenPlugin = plugin; - } + plugin = factory->create(this); else KMessageBox::information(NULL, QString("The plugin type \"Sigen/%1\" is not supported.").arg(type), "Unsupported plugin type"); - foreach (const QString& plugin, plugins) - m_available[type][plugin] = Service(service, sigenPlugin); + QStringList classes = plugin->classList(); + foreach (const QString& className, classes) + m_available[type][className] = Service(service, plugin); } else KMessageBox::error(NULL, QString("The plugin of type \"Sigen/%1\" with name \"%2\" is not a valid Sigen plugin. The error was:\n%3").arg(type).arg(service->name()).arg(loader.errorString()), "Plugin loading error"); -- cgit