#include "updateitemstatesthread.h"
#include <KLocalizedString>
-#include <KService>
-#include <KServiceTypeTrader>
-#include <KPluginLoader>
+#include <KPluginFactory>
#include <KPluginMetaData>
#include <QTimer>
{
Q_UNUSED(itemRanges)
- // Because "version" role is emitted by VCS plugin (ourselfs) we don't need to
+ // Because "version" role is emitted by VCS plugin (ourselves) we don't need to
// analyze it and update directory item states information. So lets check if
// there is only "version".
if ( !(roles.count() == 1 && roles.contains("version")) ) {
// by an immediate verification.
m_dirVerificationTimer->setInterval(500);
} else {
- // View was versionned but should not be anymore
+ // View was versioned but should not be anymore
updateItemStates();
}
} else if ((m_plugin = searchPlugin(rootItem.url()))) {
// 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, parent()).plugin;
if (plugin) {
m_plugins.append(plugin);
loadedPlugins += p.name();
}
}
- // Deprecated: load plugins using KService. This mechanism will be removed with KF6
- const KService::List pluginServices = KServiceTypeTrader::self()->query(QStringLiteral("FileViewVersionControlPlugin"));
- for (KService::List::ConstIterator it = pluginServices.constBegin(); it != pluginServices.constEnd(); ++it) {
- if (loadedPlugins.contains((*it)->property("Name", QVariant::String).toString())) {
- continue;
- }
- if (enabledPlugins.contains((*it)->name())) {
- KPluginLoader pluginLoader(*(*it));
- // Need to cast to int, because pluginVersion() returns -1 as
- // an unsigned int for plugins without versions.
- if (int(pluginLoader.pluginVersion()) < 2) {
- qCWarning(DolphinDebug) << "Can't load old plugin" << (*it)->name();
- continue;
- }
- KVersionControlPlugin* plugin = (*it)->createInstance<KVersionControlPlugin>(this);
- if (plugin) {
- m_plugins.append(plugin);
- }
- }
- }
-
for (auto &plugin : qAsConst(m_plugins)) {
connect(plugin, &KVersionControlPlugin::itemVersionsChanged,
this, &VersionControlObserver::silentDirectoryVerification);