Changeset View
Changeset View
Standalone View
Standalone View
src/declarativeimports/calendar/eventpluginsmanager.cpp
Show First 20 Lines • Show All 135 Lines • ▼ Show 20 Line(s) | |||||
136 | EventPluginsManager::EventPluginsManager(QObject *parent) | 136 | EventPluginsManager::EventPluginsManager(QObject *parent) | ||
137 | : QObject(parent) | 137 | : QObject(parent) | ||
138 | { | 138 | { | ||
139 | auto plugins = KPluginLoader::findPlugins( | 139 | auto plugins = KPluginLoader::findPlugins( | ||
140 | QStringLiteral("plasmacalendarplugins"), | 140 | QStringLiteral("plasmacalendarplugins"), | ||
141 | [](const KPluginMetaData &md) { | 141 | [](const KPluginMetaData &md) { | ||
142 | return md.serviceTypes().contains(QLatin1String("PlasmaCalendar/Plugin")); | 142 | return md.serviceTypes().contains(QLatin1String("PlasmaCalendar/Plugin")); | ||
143 | }); | 143 | }); | ||
144 | Q_FOREACH (const KPluginMetaData &plugin, plugins) { | 144 | for (const KPluginMetaData &plugin : qAsConst(plugins)) { | ||
145 | m_availablePlugins.insert(plugin.fileName(), | 145 | m_availablePlugins.insert(plugin.fileName(), | ||
146 | { plugin.name(), | 146 | { plugin.name(), | ||
147 | plugin.description(), | 147 | plugin.description(), | ||
148 | plugin.iconName(), | 148 | plugin.iconName(), | ||
149 | plugin.value(QStringLiteral("X-KDE-PlasmaCalendar-ConfigUi")) | 149 | plugin.value(QStringLiteral("X-KDE-PlasmaCalendar-ConfigUi")) | ||
150 | }); | 150 | }); | ||
151 | } | 151 | } | ||
152 | 152 | | |||
153 | // Fallback for legacy pre-KPlugin plugins so we can still load them | 153 | // Fallback for legacy pre-KPlugin plugins so we can still load them | ||
154 | const QStringList paths = QCoreApplication::libraryPaths(); | 154 | const QStringList paths = QCoreApplication::libraryPaths(); | ||
155 | Q_FOREACH (const QString &libraryPath, paths) { | 155 | for (const QString &libraryPath : paths) { | ||
156 | const QString path(libraryPath + QStringLiteral("/plasmacalendarplugins")); | 156 | const QString path(libraryPath + QStringLiteral("/plasmacalendarplugins")); | ||
157 | QDir dir(path); | 157 | QDir dir(path); | ||
158 | 158 | | |||
159 | if (!dir.exists()) { | 159 | if (!dir.exists()) { | ||
160 | continue; | 160 | continue; | ||
161 | } | 161 | } | ||
162 | 162 | | |||
163 | QStringList entryList = dir.entryList(QDir::Files | QDir::NoDotAndDotDot); | 163 | const QStringList entryList = dir.entryList(QDir::Files | QDir::NoDotAndDotDot); | ||
164 | 164 | | |||
165 | Q_FOREACH (const QString &fileName, entryList) { | 165 | for (const QString &fileName : entryList) { | ||
166 | const QString absolutePath = dir.absoluteFilePath(fileName); | 166 | const QString absolutePath = dir.absoluteFilePath(fileName); | ||
167 | if (m_availablePlugins.contains(absolutePath)) { | 167 | if (m_availablePlugins.contains(absolutePath)) { | ||
168 | continue; | 168 | continue; | ||
169 | } | 169 | } | ||
170 | 170 | | |||
171 | QPluginLoader loader(absolutePath); | 171 | QPluginLoader loader(absolutePath); | ||
172 | // Load only our own plugins | 172 | // Load only our own plugins | ||
173 | if (loader.metaData().value(QStringLiteral("IID")) == QLatin1String("org.kde.CalendarEventsPlugin")) { | 173 | if (loader.metaData().value(QStringLiteral("IID")) == QLatin1String("org.kde.CalendarEventsPlugin")) { | ||
Show All 38 Lines | 210 | if (pluginsList.contains(pluginPath)) { | |||
212 | ++i; | 212 | ++i; | ||
213 | } else { | 213 | } else { | ||
214 | (*i)->deleteLater(); | 214 | (*i)->deleteLater(); | ||
215 | i = m_plugins.erase(i); | 215 | i = m_plugins.erase(i); | ||
216 | } | 216 | } | ||
217 | } | 217 | } | ||
218 | 218 | | |||
219 | // Now load all the plugins left in pluginsList | 219 | // Now load all the plugins left in pluginsList | ||
220 | Q_FOREACH (const QString &pluginPath, pluginsList) { | 220 | for (const QString &pluginPath : qAsConst(pluginsList)) { | ||
221 | loadPlugin(pluginPath); | 221 | loadPlugin(pluginPath); | ||
222 | } | 222 | } | ||
223 | 223 | | |||
224 | m_model->endResetModel(); | 224 | m_model->endResetModel(); | ||
225 | Q_EMIT pluginsChanged(); | 225 | Q_EMIT pluginsChanged(); | ||
226 | } | 226 | } | ||
227 | 227 | | |||
228 | QStringList EventPluginsManager::enabledPlugins() const | 228 | QStringList EventPluginsManager::enabledPlugins() const | ||
▲ Show 20 Lines • Show All 49 Lines • Show Last 20 Lines |