#include <pluginmanager_p.h>
Inheritance diagram for QDesignerPluginManager:


Definition at line 46 of file pluginmanager_p.h.
| QDesignerPluginManager::QDesignerPluginManager | ( | QDesignerFormEditorInterface * | core | ) |
Definition at line 61 of file pluginmanager.cpp.
References QSettings::beginGroup(), defaultPluginPaths(), QSettings::endGroup(), m_disabledPlugins, m_pluginPaths, QVariant::toStringList(), unique(), updateRegisteredPlugins(), and QSettings::value().
00062 : QObject(core), m_core(core) 00063 { 00064 QSettings settings; 00065 00066 settings.beginGroup(QLatin1String("PluginManager")); 00067 00068 m_pluginPaths = defaultPluginPaths(); 00069 m_disabledPlugins 00070 = unique(settings.value(QLatin1String("DisabledPlugins")).toStringList()); 00071 updateRegisteredPlugins(); 00072 00073 settings.endGroup(); 00074 }
Here is the call graph for this function:

| QDesignerPluginManager::~QDesignerPluginManager | ( | ) | [virtual] |
Definition at line 76 of file pluginmanager.cpp.
References syncSettings().
00077 { 00078 syncSettings(); 00079 }
| QDesignerFormEditorInterface * QDesignerPluginManager::core | ( | ) | const |
Definition at line 81 of file pluginmanager.cpp.
References m_core.
Referenced by ensureInitialized().
00082 { 00083 return m_core; 00084 }
Definition at line 130 of file pluginmanager.cpp.
References QStringList::contains(), QPluginLoader::instance(), and m_disabledPlugins.
Referenced by ensureInitialized(), instances(), and qdesigner_internal::WidgetDataBase::loadPlugins().
00131 { 00132 if (m_disabledPlugins.contains(plugin)) 00133 return 0; 00134 00135 QPluginLoader loader(plugin); 00136 return loader.instance(); 00137 }
Here is the call graph for this function:

| QStringList QDesignerPluginManager::registeredPlugins | ( | ) | const |
Definition at line 120 of file pluginmanager.cpp.
References m_registeredPlugins.
Referenced by ensureInitialized(), instances(), qdesigner_internal::WidgetDataBase::loadPlugins(), and PluginDialog::populateTreeWidget().
00121 { 00122 return m_registeredPlugins; 00123 }
| QStringList QDesignerPluginManager::findPlugins | ( | const QString & | path | ) |
Definition at line 86 of file pluginmanager.cpp.
References QDir::absoluteFilePath(), QList< T >::append(), QDir::entryList(), QDir::exists(), QDir::Files, QLibrary::isLibrary(), QDir::NoSymLinks, and path.
Referenced by registerPath().
00087 { 00088 QStringList result; 00089 00090 QDir dir(path); 00091 if (!dir.exists()) 00092 return result; 00093 QStringList candidates = dir.entryList(QDir::Files | QDir::NoSymLinks); 00094 foreach (QString plugin, candidates) { 00095 if (!QLibrary::isLibrary(plugin)) 00096 continue; 00097 result.append(dir.absoluteFilePath(plugin)); 00098 } 00099 00100 return result; 00101 }
Here is the call graph for this function:

| QStringList QDesignerPluginManager::pluginPaths | ( | ) | const |
Definition at line 125 of file pluginmanager.cpp.
References m_pluginPaths.
00126 { 00127 return m_pluginPaths; 00128 }
| void QDesignerPluginManager::setPluginPaths | ( | const QStringList & | plugin_paths | ) |
Definition at line 109 of file pluginmanager.cpp.
References m_pluginPaths, and updateRegisteredPlugins().
00110 { 00111 m_pluginPaths = plugin_paths; 00112 updateRegisteredPlugins(); 00113 }
Here is the call graph for this function:

| QStringList QDesignerPluginManager::disabledPlugins | ( | ) | const |
Definition at line 115 of file pluginmanager.cpp.
References m_disabledPlugins.
00116 { 00117 return m_disabledPlugins; 00118 }
| void QDesignerPluginManager::setDisabledPlugins | ( | const QStringList & | disabled_plugins | ) |
Definition at line 103 of file pluginmanager.cpp.
References m_disabledPlugins, and updateRegisteredPlugins().
00104 { 00105 m_disabledPlugins = disabled_plugins; 00106 updateRegisteredPlugins(); 00107 }
Here is the call graph for this function:

Definition at line 210 of file pluginmanager.cpp.
References QList< T >::append(), instance(), o, and registeredPlugins().
Referenced by QDesignerWorkbench::initializeCorePlugins(), and QDesignerActions::QDesignerActions().
00211 { 00212 QStringList plugins = registeredPlugins(); 00213 00214 QList<QObject*> lst; 00215 foreach (QString plugin, plugins) { 00216 if (QObject *o = instance(plugin)) 00217 lst.append(o); 00218 } 00219 00220 return lst; 00221 }
Here is the call graph for this function:

| QList< QDesignerCustomWidgetInterface * > QDesignerPluginManager::registeredCustomWidgets | ( | ) | const |
Definition at line 204 of file pluginmanager.cpp.
References ensureInitialized(), and m_customWidgets.
Referenced by qdesigner_internal::WidgetBoxTreeView::loadCustomCategoryList(), and qdesigner_internal::WidgetFactory::loadPlugins().
00205 { 00206 const_cast<QDesignerPluginManager*>(this)->ensureInitialized(); 00207 return m_customWidgets; 00208 }
| bool QDesignerPluginManager::syncSettings | ( | ) | [slot] |
Definition at line 173 of file pluginmanager.cpp.
References QSettings::beginGroup(), QSettings::endGroup(), m_disabledPlugins, QSettings::NoError, QSettings::setValue(), and QSettings::status().
Referenced by ~QDesignerPluginManager().
00174 { 00175 QSettings settings; 00176 settings.beginGroup(QLatin1String("PluginManager")); 00177 settings.setValue(QLatin1String("DisabledPlugins"), m_disabledPlugins); 00178 settings.endGroup(); 00179 return settings.status() == QSettings::NoError; 00180 }
| void QDesignerPluginManager::ensureInitialized | ( | ) | [slot] |
Definition at line 182 of file pluginmanager.cpp.
References QList< T >::append(), c, QList< T >::clear(), core(), instance(), m_customWidgets, o, and registeredPlugins().
Referenced by qdesigner_internal::WidgetDataBase::loadPlugins(), and registeredCustomWidgets().
00183 { 00184 QStringList plugins = registeredPlugins(); 00185 00186 m_customWidgets.clear(); 00187 foreach (QString plugin, plugins) { 00188 QObject *o = instance(plugin); 00189 00190 if (QDesignerCustomWidgetInterface *c = qobject_cast<QDesignerCustomWidgetInterface*>(o)) { 00191 m_customWidgets.append(c); 00192 } else if (QDesignerCustomWidgetCollectionInterface *coll = qobject_cast<QDesignerCustomWidgetCollectionInterface*>(o)) { 00193 m_customWidgets += coll->customWidgets(); 00194 } 00195 } 00196 00197 foreach (QDesignerCustomWidgetInterface *c, m_customWidgets) { 00198 if (!c->isInitialized()) { 00199 c->initialize(core()); 00200 } 00201 } 00202 }
| void QDesignerPluginManager::updateRegisteredPlugins | ( | ) | [private] |
Definition at line 139 of file pluginmanager.cpp.
References QList< T >::clear(), m_pluginPaths, m_registeredPlugins, path, and registerPath().
Referenced by QDesignerPluginManager(), setDisabledPlugins(), and setPluginPaths().
00140 { 00141 m_registeredPlugins.clear(); 00142 foreach (QString path, m_pluginPaths) 00143 registerPath(path); 00144 }
Here is the call graph for this function:

| void QDesignerPluginManager::registerPath | ( | const QString & | path | ) | [private] |
Definition at line 146 of file pluginmanager.cpp.
References findPlugins(), path, and registerPlugin().
Referenced by updateRegisteredPlugins().
00147 { 00148 QStringList candidates = findPlugins(path); 00149 00150 foreach (QString plugin, candidates) 00151 registerPlugin(plugin); 00152 }
Here is the call graph for this function:

| void QDesignerPluginManager::registerPlugin | ( | const QString & | plugin | ) | [private] |
Definition at line 154 of file pluginmanager.cpp.
References QStringList::contains(), QPluginLoader::errorString(), QPluginLoader::isLoaded(), QPluginLoader::load(), m_disabledPlugins, m_registeredPlugins, and qWarning().
Referenced by registerPath().
00155 { 00156 if (m_disabledPlugins.contains(plugin)) 00157 return; 00158 if (m_registeredPlugins.contains(plugin)) 00159 return; 00160 00161 QPluginLoader loader(plugin); 00162 if (loader.load()) 00163 m_registeredPlugins += plugin; 00164 if (!loader.isLoaded()) { 00165 qWarning("QDesignerPluginManager: failed to load plugin\n" 00166 " - pluginName='%s'\n" 00167 " - error='%s'\n", 00168 qPrintable(plugin), 00169 qPrintable(loader.errorString())); 00170 } 00171 }
Here is the call graph for this function:

| QStringList QDesignerPluginManager::defaultPluginPaths | ( | ) | const [private] |
Definition at line 44 of file pluginmanager.cpp.
References QList< T >::append(), QDir::homePath(), QCoreApplication::libraryPaths(), path, and QDir::separator().
Referenced by QDesignerPluginManager().
00045 { 00046 QStringList result; 00047 00048 QStringList path_list = QCoreApplication::libraryPaths(); 00049 foreach (const QString &path, path_list) 00050 result.append(path + QDir::separator() + QLatin1String("designer")); 00051 00052 result.append(QDir::homePath() 00053 + QDir::separator() 00054 + QLatin1String(".designer") 00055 + QDir::separator() 00056 + QLatin1String("plugins")); 00057 00058 return result; 00059 }
Here is the call graph for this function:

Definition at line 81 of file pluginmanager_p.h.
Referenced by pluginPaths(), QDesignerPluginManager(), setPluginPaths(), and updateRegisteredPlugins().
Definition at line 82 of file pluginmanager_p.h.
Referenced by registeredPlugins(), registerPlugin(), and updateRegisteredPlugins().
Definition at line 83 of file pluginmanager_p.h.
Referenced by disabledPlugins(), instance(), QDesignerPluginManager(), registerPlugin(), setDisabledPlugins(), and syncSettings().
Definition at line 84 of file pluginmanager_p.h.
Referenced by ensureInitialized(), and registeredCustomWidgets().
1.5.1