X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4d9ea4261a1f24e299595b897ea790eab1748fe9..94acf0ba0ba2dc0664eb33c2336049b352143520:/src/views/versioncontrol/versioncontrolobserver.cpp diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 175d362bc..02ed216d1 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -13,9 +13,7 @@ #include "updateitemstatesthread.h" #include -#include -#include -#include +#include #include #include @@ -137,7 +135,7 @@ void VersionControlObserver::slotItemsChanged(const KItemRangeList& itemRanges, { 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")) ) { @@ -165,7 +163,7 @@ void VersionControlObserver::verifyDirectory() // 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()))) { @@ -281,15 +279,13 @@ void VersionControlObserver::initPlugins() // all fileview version control plugins and remember them in 'plugins'. const QStringList enabledPlugins = VersionControlSettings::enabledPlugins(); - const QVector plugins = KPluginLoader::findPlugins(QStringLiteral("dolphin/vcs")); + const QVector plugins = KPluginMetaData::findPlugins(QStringLiteral("dolphin/vcs")); QSet loadedPlugins; for (const auto &p : plugins) { if (enabledPlugins.contains(p.name())) { - KPluginLoader loader(p.fileName()); - KPluginFactory *factory = loader.factory(); - KVersionControlPlugin *plugin = factory->create(); + auto plugin = KPluginFactory::instantiatePlugin(p, parent()).plugin; if (plugin) { m_plugins.append(plugin); loadedPlugins += p.name(); @@ -297,27 +293,6 @@ void VersionControlObserver::initPlugins() } } - // 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(this); - if (plugin) { - m_plugins.append(plugin); - } - } - } - for (auto &plugin : qAsConst(m_plugins)) { connect(plugin, &KVersionControlPlugin::itemVersionsChanged, this, &VersionControlObserver::silentDirectoryVerification);