]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/contextmenu/contextmenusettingspage.cpp
Replace custom hamburger/control menu with KHamburgerMenu
[dolphin.git] / src / settings / contextmenu / contextmenusettingspage.cpp
index 0723fee2ec52a2e282ebfeda9280c825c51fec2f..8631b0ceb2c051f105de12cf18462e603ff668b1 100644 (file)
@@ -304,9 +304,24 @@ void ContextMenuSettingsPage::loadVersionControlSystems()
     const QStringList enabledPlugins = VersionControlSettings::enabledPlugins();
 
     // Create a checkbox for each available version control plugin
+    QSet<QString> loadedPlugins;
+
+    const QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(QStringLiteral("dolphin/vcs"));
+    for (const auto &plugin : plugins) {
+        const QString pluginName = plugin.name();
+        addRow(QStringLiteral("code-class"),
+               pluginName,
+               VersionControlServicePrefix + pluginName,
+               enabledPlugins.contains(pluginName));
+        loadedPlugins += pluginName;
+    }
+
     const KService::List pluginServices = KServiceTypeTrader::self()->query(QStringLiteral("FileViewVersionControlPlugin"));
     for (const auto &plugin : pluginServices) {
         const QString pluginName = plugin->name();
+        if (loadedPlugins.contains(pluginName)) {
+            continue;
+        }
         addRow(QStringLiteral("code-class"),
                pluginName,
                VersionControlServicePrefix + pluginName,