diff options
| author | Alexander Lohnau <[email protected]> | 2021-11-11 19:18:27 +0100 |
|---|---|---|
| committer | Alexander Lohnau <[email protected]> | 2021-12-01 22:10:58 +0000 |
| commit | 82202a24e20a36d8bfd814dce6702012d74a1620 (patch) | |
| tree | d7749323e7efd62b753257ab9bab9156b5d3c4cd /src | |
| parent | 6228921f1073a178ddd25612cfbfb6f8b028a314 (diff) | |
Port away from deprecated KPluginLoader
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 12 | ||||
| -rw-r--r-- | src/panels/terminal/terminalpanel.cpp | 4 | ||||
| -rw-r--r-- | src/settings/contextmenu/contextmenusettingspage.cpp | 4 | ||||
| -rw-r--r-- | src/settings/general/configurepreviewplugindialog.cpp | 4 | ||||
| -rw-r--r-- | src/views/versioncontrol/kversioncontrolplugin.h | 1 | ||||
| -rw-r--r-- | src/views/versioncontrol/versioncontrolobserver.cpp | 7 |
6 files changed, 14 insertions, 18 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 3804a1907..49657a9b1 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -18,7 +18,7 @@ #include <KIconLoader> #include <KJobWidgets> #include <KOverlayIconPlugin> -#include <KPluginLoader> +#include <KPluginMetaData> #include <KSharedConfig> #ifdef HAVE_BALOO @@ -30,6 +30,7 @@ #include <QApplication> #include <QIcon> #include <QPainter> +#include <QPluginLoader> #include <QElapsedTimer> #include <QTimer> @@ -120,15 +121,16 @@ KFileItemModelRolesUpdater::KFileItemModelRolesUpdater(KFileItemModel* model, QO connect(m_directoryContentsCounter, &KDirectoryContentsCounter::result, this, &KFileItemModelRolesUpdater::slotDirectoryContentsCountReceived); - const auto plugins = KPluginLoader::instantiatePlugins(QStringLiteral("kf5/overlayicon"), nullptr, qApp); - for (QObject *it : plugins) { - auto plugin = qobject_cast<KOverlayIconPlugin*>(it); + const auto plugins = KPluginMetaData::findPlugins(QStringLiteral("kf5/overlayicon")); + for (const KPluginMetaData &data : plugins) { + auto instance = QPluginLoader(data.fileName()).instance(); + auto plugin = qobject_cast<KOverlayIconPlugin *>(instance); if (plugin) { m_overlayIconsPlugin.append(plugin); connect(plugin, &KOverlayIconPlugin::overlaysChanged, this, &KFileItemModelRolesUpdater::slotOverlaysChanged); } else { // not our/valid plugin, so delete the created object - it->deleteLater(); + delete instance; } } } diff --git a/src/panels/terminal/terminalpanel.cpp b/src/panels/terminal/terminalpanel.cpp index 3af2cdcad..9d30dcd62 100644 --- a/src/panels/terminal/terminalpanel.cpp +++ b/src/panels/terminal/terminalpanel.cpp @@ -15,7 +15,6 @@ #include <KMountPoint> #include <KParts/ReadOnlyPart> #include <KPluginFactory> -#include <KPluginLoader> #include <KProtocolInfo> #include <KShell> #include <kde_terminal_interface.h> @@ -129,8 +128,7 @@ void TerminalPanel::showEvent(QShowEvent* event) if (!m_terminal) { m_clearTerminal = true; - KPluginLoader loader(QStringLiteral("konsolepart")); - KPluginFactory* factory = loader.factory(); + KPluginFactory *factory = KPluginFactory::loadFactory(KPluginMetaData(QStringLiteral("konsolepart"))).plugin; m_konsolePart = factory ? (factory->create<KParts::ReadOnlyPart>(this)) : nullptr; if (m_konsolePart) { connect(m_konsolePart, &KParts::ReadOnlyPart::destroyed, this, &TerminalPanel::terminalExited); diff --git a/src/settings/contextmenu/contextmenusettingspage.cpp b/src/settings/contextmenu/contextmenusettingspage.cpp index 8ebac2e12..0541b1020 100644 --- a/src/settings/contextmenu/contextmenusettingspage.cpp +++ b/src/settings/contextmenu/contextmenusettingspage.cpp @@ -307,7 +307,7 @@ void ContextMenuSettingsPage::loadServices() #endif // Load JSON-based plugins that implement the KFileItemActionPlugin interface - const auto jsonPlugins = KPluginLoader::findPlugins(QStringLiteral("kf5/kfileitemaction")); + const auto jsonPlugins = KPluginMetaData::findPlugins(QStringLiteral("kf5/kfileitemaction")); for (const auto &jsonMetadata : jsonPlugins) { const QString desktopEntryName = jsonMetadata.pluginId(); @@ -328,7 +328,7 @@ void ContextMenuSettingsPage::loadVersionControlSystems() // Create a checkbox for each available version control plugin QSet<QString> loadedPlugins; - const QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(QStringLiteral("dolphin/vcs")); + const QVector<KPluginMetaData> plugins = KPluginMetaData::findPlugins(QStringLiteral("dolphin/vcs")); for (const auto &plugin : plugins) { const QString pluginName = plugin.name(); addRow(QStringLiteral("code-class"), diff --git a/src/settings/general/configurepreviewplugindialog.cpp b/src/settings/general/configurepreviewplugindialog.cpp index 26b7deb88..b60ba5a0c 100644 --- a/src/settings/general/configurepreviewplugindialog.cpp +++ b/src/settings/general/configurepreviewplugindialog.cpp @@ -11,7 +11,7 @@ #include <KIO/ThumbCreator> #include <KJobWidgets> #include <KLocalizedString> -#include <KPluginLoader> +#include <QPluginLoader> #include <QDialogButtonBox> #include <QPushButton> @@ -25,7 +25,7 @@ ConfigurePreviewPluginDialog::ConfigurePreviewPluginDialog(const QString& plugin QDialog(parent) { QSharedPointer<ThumbCreator> previewPlugin; - const QString pluginPath = KPluginLoader::findPlugin(desktopEntryName); + const QString pluginPath = QPluginLoader(desktopEntryName).fileName(); if (!pluginPath.isEmpty()) { newCreator create = (newCreator)QLibrary::resolve(pluginPath, "new_creator"); if (create) { diff --git a/src/views/versioncontrol/kversioncontrolplugin.h b/src/views/versioncontrol/kversioncontrolplugin.h index c908be247..b528f41cc 100644 --- a/src/views/versioncontrol/kversioncontrolplugin.h +++ b/src/views/versioncontrol/kversioncontrolplugin.h @@ -45,7 +45,6 @@ class KFileItem; * - Add the following lines at the top of fileviewsvnplugin.cpp: * <code> * #include <KPluginFactory> - * #include <KPluginLoader> * K_PLUGIN_CLASS_WITH_JSON(FileViewSvnPlugin, "fileviewsvnplugin.json") * </code> * diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 6766aa479..895ce6614 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -14,7 +14,6 @@ #include <KLocalizedString> #include <KPluginFactory> -#include <KPluginLoader> #include <KPluginMetaData> #include <QTimer> @@ -280,15 +279,13 @@ void VersionControlObserver::initPlugins() // all fileview version control plugins and remember them in 'plugins'. const QStringList enabledPlugins = VersionControlSettings::enabledPlugins(); - const QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(QStringLiteral("dolphin/vcs")); + const QVector<KPluginMetaData> plugins = KPluginMetaData::findPlugins(QStringLiteral("dolphin/vcs")); QSet<QString> loadedPlugins; for (const auto &p : plugins) { if (enabledPlugins.contains(p.name())) { - KPluginLoader loader(p.fileName()); - KPluginFactory *factory = loader.factory(); - KVersionControlPlugin *plugin = factory->create<KVersionControlPlugin>(); + auto plugin = KPluginFactory::instantiatePlugin<KVersionControlPlugin>(p).plugin; if (plugin) { m_plugins.append(plugin); loadedPlugins += p.name(); |
