int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); CommandLineParser parser; Commands commands; parser.registerDataSink( &commands ); if ( !parser.parse( true ) ) { a.quit(); return -1; } Log::instance()->setMessageTypeEnabled( QtDebugMsg, commands.verbose ); PluginManager* pluginManager = PluginManager::instance(); pluginManager->loadPlugins(); if ( commands.listPlugins ) { printf( "%s\n\n", printStringTable( pluginManager->importerPlugins(), 1, "Importer Plugins" ).toUtf8().constData() ); printf( "%s\n\n", printStringTable( pluginManager->routerPlugins(), 1, "Router Plugins" ).toUtf8().constData() ); printf( "%s\n\n", printStringTable( pluginManager->gpsLookupPlugins(), 1, "GPS Lookup Plugins" ).toUtf8().constData() ); printf( "%s\n\n", printStringTable( pluginManager->rendererPlugins(), 1, "Renderer Plugins" ).toUtf8().constData() ); printf( "%s\n\n", printStringTable( pluginManager->addressLookupPlugins(), 1, "Address Lookup Plugins" ).toUtf8().constData() ); a.quit(); return 0; } if ( !commands.settings.isEmpty() ) { QSettings settings( commands.settings, QSettings::IniFormat ); pluginManager->loadSettings( &settings ); commands.importer = settings.value( "importer" ).toString(); commands.router = settings.value( "router" ).toString(); commands.gpsLookup = settings.value( "gpsLookup" ).toString(); commands.renderer = settings.value( "renderer" ).toString(); commands.addressLookup = settings.value( "addressLookup" ).toString(); } // parse a second time including all plugins // otherwise console settings would be overwritten by the settings file QVector< QObject* > plugins = pluginManager->plugins(); foreach( QObject* plugin, plugins ) { IConsoleSettings* settings = qobject_cast< IConsoleSettings* >( plugin ); if ( settings!= NULL ) { parser.registerDataSink( settings ); } }
ClientToolModel::ClientToolModel(QObject* parent) : QSortFilterProxyModel(parent) { insertFactory(new ConnectionInspectorFactory); insertFactory(new LocaleInspectorFactory); insertFactory(new MessageHandlerFactory); insertFactory(new MetaObjectBrowserFactory); insertFactory(new MetaTypeBrowserFactory); insertFactory(new MimeTypesFactory); insertFactory(new ModelInspectorFactory); insertFactory(new ObjectInspectorFactory); insertFactory(new ResourceBrowserFactory); insertFactory(new StandardPathsFactory); insertFactory(new TextDocumentInspectorFactory); PluginManager<ToolUiFactory, ProxyToolUiFactory> pm; foreach(ToolUiFactory* factory, pm.plugins()) insertFactory(factory); connect(this, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(updateToolInitialization(QModelIndex,QModelIndex))); }
static void initPluginRepository() { if (!s_pluginRepository()->factories.isEmpty()) return; insertFactory(new ConnectionInspectorFactory); insertFactory(new LocaleInspectorFactory); insertFactory(new MessageHandlerFactory); insertFactory(new MetaObjectBrowserFactory); insertFactory(new MetaTypeBrowserFactory); insertFactory(new MimeTypesFactory); insertFactory(new ModelInspectorFactory); insertFactory(new ObjectInspectorFactory); insertFactory(new ResourceBrowserFactory); insertFactory(new StandardPathsFactory); insertFactory(new TextDocumentInspectorFactory); PluginManager<ToolUiFactory, ProxyToolUiFactory> pm; foreach(ToolUiFactory* factory, pm.plugins()) insertFactory(factory); }