From kde-commits Tue Mar 31 22:08:20 2015 From: Friedrich W. H. Kossebau Date: Tue, 31 Mar 2015 22:08:20 +0000 To: kde-commits Subject: [calligra/frameworks] qtquick: Port QtQuick items to load words/stage parts with KoJsonTrader (untes Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=142783971031908 Git commit e3bbe9144e6964600df4039e3521f4539821b8ef by Friedrich W. H. Koss= ebau. Committed on 31/03/2015 at 22:05. Pushed by kossebau into branch 'frameworks'. Port QtQuick items to load words/stage parts with KoJsonTrader (untested) M +13 -3 qtquick/CQPresentationCanvas.cpp M +13 -3 qtquick/CQTextDocumentCanvas.cpp http://commits.kde.org/calligra/e3bbe9144e6964600df4039e3521f4539821b8ef diff --git a/qtquick/CQPresentationCanvas.cpp b/qtquick/CQPresentationCanva= s.cpp index a3fb674..365579f 100644 --- a/qtquick/CQPresentationCanvas.cpp +++ b/qtquick/CQPresentationCanvas.cpp @@ -29,6 +29,8 @@ = #include = +#include +#include #include #include #include @@ -244,13 +246,21 @@ void CQPresentationCanvas::setShapeTransparency(qreal= newTransparency) void CQPresentationCanvas::openFile(const QString& uri) { emit loadingBegun(); - KService::Ptr service =3D KService::serviceByDesktopName("stagepart"); - if (service.isNull()) { + + KoDocumentEntry entry; + Q_FOREACH (QPluginLoader *loader, KoJsonTrader::self()->query("Calligr= a/Part", QString())) { + if (loader->fileName().contains(QLatin1String("stagepart"))) { + entry =3D KoDocumentEntry(loader); + break; + } + } + if (entry.isEmpty()) { qWarning("Unable to load Stage plugin, aborting!"); return; } = - d->part =3D service->createInstance(this); + // QT5TODO: ownership of d->part unclear + d->part =3D entry.createKoPart(); d->document =3D dynamic_cast(d->part->document()); d->document->setAutoSave(0); d->document->setCheckAutoSaveFile(false); diff --git a/qtquick/CQTextDocumentCanvas.cpp b/qtquick/CQTextDocumentCanva= s.cpp index a94eab9..3a65fdd 100644 --- a/qtquick/CQTextDocumentCanvas.cpp +++ b/qtquick/CQTextDocumentCanvas.cpp @@ -29,6 +29,8 @@ = #include "gemini/ViewModeSwitchEvent.h" = +#include +#include #include #include #include @@ -231,13 +233,21 @@ CQTextDocumentCanvas::~CQTextDocumentCanvas() void CQTextDocumentCanvas::openFile(const QString& uri) { emit loadingBegun(); - KService::Ptr service =3D KService::serviceByDesktopName("wordspart"); - if (service.isNull()) { + + KoDocumentEntry entry; + Q_FOREACH (QPluginLoader *loader, KoJsonTrader::self()->query("Calligr= a/Part", QString())) { + if (loader->fileName().contains(QLatin1String("wordspart"))) { + entry =3D KoDocumentEntry(loader); + break; + } + } + if (entry.isEmpty()) { qWarning("Unable to load Words plugin, aborting!"); return; } = - d->part =3D service->createInstance(this); + // QT5TODO: ownership of d->part unclear + d->part =3D entry.createKoPart(); KoDocument* document =3D d->part->document(); document->setAutoSave(0); document->setCheckAutoSaveFile(false);