Port part loading from KService to KPluginFactory

This commit is contained in:
Nicolas Fella
2021-07-03 20:03:50 +02:00
parent d80f47abb8
commit 7e42fcc2cc
3 changed files with 8 additions and 17 deletions

View File

@@ -16,7 +16,7 @@ cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
# Match KDE Frameworks update Apr 2021
set (QT_MIN_VERSION "5.15.0")
set (KF5_MIN_VERSION "5.71.0")
set (KF5_MIN_VERSION "5.86.0")
# Release script will create bugzilla versions
project(konsole VERSION ${RELEASE_SERVICE_VERSION})

View File

@@ -20,8 +20,6 @@
// KDE
#include <KMainWindow>
#include <KPluginFactory>
#include <KPluginLoader>
#include <KService>
#include <qtest.h>
// Konsole
@@ -105,14 +103,11 @@ void PartManualTest::shortcutTriggered()
KParts::Part *PartManualTest::createPart()
{
KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("konsolepart"));
Q_ASSERT(service);
KPluginFactory *factory = KPluginLoader(service->library()).factory();
Q_ASSERT(factory);
const KPluginFactory::Result<KParts::Part> result = KPluginFactory::instantiatePlugin<KParts::Part>(KPluginMetaData(QStringLiteral("konsolepart")), this);
auto *terminalPart = factory->create<KParts::Part>(this);
Q_ASSERT(result);
return terminalPart;
return result.plugin;
}
QTEST_MAIN(PartManualTest)

View File

@@ -12,8 +12,6 @@
#include <QMenuBar>
#include <KPluginFactory>
#include <KPluginLoader>
#include <KService>
#include <KWindowEffects>
#include <KWindowSystem>
@@ -75,14 +73,12 @@ demo_konsolepart::~demo_konsolepart()
KParts::ReadOnlyPart *demo_konsolepart::createPart()
{
KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("konsolepart"));
Q_ASSERT(service);
KPluginFactory *factory = KPluginLoader(service->library()).factory();
Q_ASSERT(factory);
const KPluginFactory::Result<KParts::ReadOnlyPart> result =
KPluginFactory::instantiatePlugin<KParts::ReadOnlyPart>(KPluginMetaData(QStringLiteral("konsolepart")), this);
auto *terminalPart = factory->create<KParts::ReadOnlyPart>(this);
Q_ASSERT(result);
return terminalPart;
return result.plugin;
}
void demo_konsolepart::manageProfiles()