Port away from deprecated KPluginLoader

wilder-5.24
Nicolas Fella 5 years ago
parent 712ffec5bf
commit 225e4aae2c
  1. 20
      components/shellprivate/interactiveconsole/interactiveconsole.cpp
  2. 22
      dataengines/geolocation/geolocation.cpp
  3. 40
      kcms/kfontinst/apps/Viewer.cpp
  4. 3
      kcms/style/kcmstyle.cpp
  5. 4
      startkde/kcminit/main.cpp

@ -28,7 +28,6 @@
#include <KConfigGroup> #include <KConfigGroup>
#include <KMessageBox> #include <KMessageBox>
#include <KPluginFactory> #include <KPluginFactory>
#include <KPluginLoader>
#include <KSharedConfig> #include <KSharedConfig>
#include <KShell> #include <KShell>
#include <KStandardAction> #include <KStandardAction>
@ -117,22 +116,15 @@ InteractiveConsole::InteractiveConsole(QWidget *parent)
editorLayout->addWidget(toolBar); editorLayout->addWidget(toolBar);
auto tryLoadingKatePart = [=]() { auto tryLoadingKatePart = [=]() -> KTextEditor::Document * {
KTextEditor::Document *result = nullptr; const auto loadResult = KPluginFactory::instantiatePlugin<KTextEditor::Document>(KPluginMetaData(QStringLiteral("kf5/parts/katepart")), this);
KPluginLoader loader(QStringLiteral("kf5/parts/katepart"));
KPluginFactory *factory = loader.factory(); if (!loadResult) {
if (!factory) { qWarning() << "Error loading katepart plugin:" << loadResult.errorString;
qWarning() << "Error loading katepart plugin:" << loader.errorString(); return nullptr;
return result;
} }
result = factory->create<KTextEditor::Document>(widget); KTextEditor::Document *result = loadResult.plugin;
if (!result) {
qWarning() << "Error creating katepart object";
return result;
}
result->setHighlightingMode(QStringLiteral("JavaScript/PlasmaDesktop")); result->setHighlightingMode(QStringLiteral("JavaScript/PlasmaDesktop"));

@ -8,7 +8,6 @@
#include <limits.h> #include <limits.h>
#include <KPluginLoader>
#include <KPluginMetaData> #include <KPluginMetaData>
#include <NetworkManagerQt/Manager> #include <NetworkManagerQt/Manager>
#include <QDebug> #include <QDebug>
@ -36,18 +35,17 @@ Geolocation::Geolocation(QObject *parent, const QVariantList &args)
void Geolocation::init() void Geolocation::init()
{ {
// TODO: should this be delayed even further, e.g. when the source is requested? // TODO: should this be delayed even further, e.g. when the source is requested?
const QVector<KPluginMetaData> offers = KPluginLoader::findPlugins("plasma/geolocationprovider"); const QVector<KPluginMetaData> offers = KPluginMetaData::findPlugins("plasma/geolocationprovider");
for (const auto &metaData : offers) { for (const auto &metaData : offers) {
KPluginLoader loader(metaData.fileName()); auto result = KPluginFactory::instantiatePlugin<GeolocationProvider>(metaData, this);
if (KPluginFactory *factory = loader.factory()) { if (result) {
if (auto plugin = factory->create<GeolocationProvider>(this)) { GeolocationProvider *plugin = result.plugin;
m_plugins << plugin; m_plugins << plugin;
plugin->init(&m_data, &m_accuracy); plugin->init(&m_data, &m_accuracy);
connect(plugin, &GeolocationProvider::updated, this, &Geolocation::pluginUpdated); connect(plugin, &GeolocationProvider::updated, this, &Geolocation::pluginUpdated);
connect(plugin, &GeolocationProvider::availabilityChanged, this, &Geolocation::pluginAvailabilityChanged); connect(plugin, &GeolocationProvider::availabilityChanged, this, &Geolocation::pluginAvailabilityChanged);
} else { } else {
qDebug() << "Failed to load GeolocationProvider:" << metaData.fileName(); qDebug() << "Failed to load GeolocationProvider:" << metaData.fileName() << result.errorString;
}
} }
} }
} }

@ -12,7 +12,6 @@
#include <KDBusService> #include <KDBusService>
#include <KParts/BrowserExtension> #include <KParts/BrowserExtension>
#include <KPluginFactory> #include <KPluginFactory>
#include <KPluginLoader>
#include <KSharedConfig> #include <KSharedConfig>
#include <KShortcutsDialog> #include <KShortcutsDialog>
#include <KStandardAction> #include <KStandardAction>
@ -27,32 +26,31 @@ namespace KFI
{ {
CViewer::CViewer() CViewer::CViewer()
{ {
KPluginLoader loader("kf5/parts/kfontviewpart"); const auto result = KPluginFactory::instantiatePlugin<KParts::ReadOnlyPart>(KPluginMetaData(QStringLiteral("kf5/parts/kfontviewpart")), this);
KPluginFactory *factory = loader.factory();
if (factory) { if (!result) {
itsPreview = factory->create<KParts::ReadOnlyPart>(this); qWarning() << "Error loading kfontviewpart:" << result.errorString;
exit(1);
actionCollection()->addAction(KStandardAction::Open, this, SLOT(fileOpen())); }
actionCollection()->addAction(KStandardAction::Quit, this, SLOT(close()));
actionCollection()->addAction(KStandardAction::KeyBindings, this, SLOT(configureKeys()));
itsPrintAct = actionCollection()->addAction(KStandardAction::Print, itsPreview, SLOT(print()));
itsPrintAct->setEnabled(false); itsPreview = result.plugin;
if (itsPreview->browserExtension()) { actionCollection()->addAction(KStandardAction::Open, this, SLOT(fileOpen()));
connect(itsPreview->browserExtension(), &KParts::BrowserExtension::enableAction, this, &CViewer::enableAction); actionCollection()->addAction(KStandardAction::Quit, this, SLOT(close()));
} actionCollection()->addAction(KStandardAction::KeyBindings, this, SLOT(configureKeys()));
itsPrintAct = actionCollection()->addAction(KStandardAction::Print, itsPreview, SLOT(print()));
setCentralWidget(itsPreview->widget()); itsPrintAct->setEnabled(false);
createGUI(itsPreview);
setAutoSaveSettings(); if (itsPreview->browserExtension()) {
applyMainWindowSettings(KSharedConfig::openConfig()->group("MainWindow")); connect(itsPreview->browserExtension(), &KParts::BrowserExtension::enableAction, this, &CViewer::enableAction);
} else {
qWarning() << "Error loading kfontviewpart:" << loader.errorString();
exit(1);
} }
setCentralWidget(itsPreview->widget());
createGUI(itsPreview);
setAutoSaveSettings();
applyMainWindowSettings(KSharedConfig::openConfig()->group("MainWindow"));
} }
void CViewer::fileOpen() void CViewer::fileOpen()

@ -24,7 +24,6 @@
#include <KConfigGroup> #include <KConfigGroup>
#include <KLocalizedString> #include <KLocalizedString>
#include <KPluginFactory> #include <KPluginFactory>
#include <KPluginLoader>
#include <KToolBar> #include <KToolBar>
#include <QDBusPendingCallWatcher> #include <QDBusPendingCallWatcher>
@ -171,7 +170,7 @@ void KCMStyle::configure(const QString &title, const QString &styleName, QQuickI
return; return;
} }
QLibrary library(KPluginLoader::findPlugin(configPage)); QLibrary library(QPluginLoader(configPage).fileName());
if (!library.load()) { if (!library.load()) {
qWarning() << "Failed to load style config page" << configPage << library.errorString(); qWarning() << "Failed to load style config page" << configPage << library.errorString();
emit showErrorMessage(i18n("There was an error loading the configuration dialog for this style.")); emit showErrorMessage(i18n("There was an error loading the configuration dialog for this style."));

@ -59,9 +59,9 @@ bool KCMInit::runModule(const QString &libName, KService::Ptr service)
} else } else
kcminit = KCMINIT_PREFIX + libName; kcminit = KCMINIT_PREFIX + libName;
QString path = KPluginLoader::findPlugin(libName); QString path = QPluginLoader(libName).fileName();
if (path.isEmpty()) { if (path.isEmpty()) {
path = KPluginLoader::findPlugin(QStringLiteral("kcms/") + libName); path = QPluginLoader(QStringLiteral("kcms/") + libName).fileName();
} }
if (path.isEmpty()) { if (path.isEmpty()) {

Loading…
Cancel
Save