[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra/frameworks] qtquick: Port QtQuick items to load words/stage parts with KoJsonTrader (untes
From: Friedrich W. H. Kossebau <kossebau () kde ! org>
Date: 2015-03-31 22:08:20
Message-ID: E1Yd4Ka-0007FW-Rf () scm ! kde ! org
[Download RAW message or body]
Git commit e3bbe9144e6964600df4039e3521f4539821b8ef by Friedrich W. H. Kossebau.
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/CQPresentationCanvas.cpp
index a3fb674..365579f 100644
--- a/qtquick/CQPresentationCanvas.cpp
+++ b/qtquick/CQPresentationCanvas.cpp
@@ -29,6 +29,8 @@
#include <QStyleOptionGraphicsItem>
+#include <KoJsonTrader.h>
+#include <KoDocumentEntry.h>
#include <KoDocumentResourceManager.h>
#include <KoShapeManager.h>
#include <KoSelection.h>
@@ -244,13 +246,21 @@ void CQPresentationCanvas::setShapeTransparency(qreal newTransparency)
void CQPresentationCanvas::openFile(const QString& uri)
{
emit loadingBegun();
- KService::Ptr service = KService::serviceByDesktopName("stagepart");
- if (service.isNull()) {
+
+ KoDocumentEntry entry;
+ Q_FOREACH (QPluginLoader *loader, KoJsonTrader::self()->query("Calligra/Part", QString())) {
+ if (loader->fileName().contains(QLatin1String("stagepart"))) {
+ entry = KoDocumentEntry(loader);
+ break;
+ }
+ }
+ if (entry.isEmpty()) {
qWarning("Unable to load Stage plugin, aborting!");
return;
}
- d->part = service->createInstance<KoPart>(this);
+ // QT5TODO: ownership of d->part unclear
+ d->part = entry.createKoPart();
d->document = dynamic_cast<KPrDocument*>(d->part->document());
d->document->setAutoSave(0);
d->document->setCheckAutoSaveFile(false);
diff --git a/qtquick/CQTextDocumentCanvas.cpp b/qtquick/CQTextDocumentCanvas.cpp
index a94eab9..3a65fdd 100644
--- a/qtquick/CQTextDocumentCanvas.cpp
+++ b/qtquick/CQTextDocumentCanvas.cpp
@@ -29,6 +29,8 @@
#include "gemini/ViewModeSwitchEvent.h"
+#include <KoJsonTrader.h>
+#include <KoDocumentEntry.h>
#include <KoDocument.h>
#include <KoDocumentResourceManager.h>
#include <KoPart.h>
@@ -231,13 +233,21 @@ CQTextDocumentCanvas::~CQTextDocumentCanvas()
void CQTextDocumentCanvas::openFile(const QString& uri)
{
emit loadingBegun();
- KService::Ptr service = KService::serviceByDesktopName("wordspart");
- if (service.isNull()) {
+
+ KoDocumentEntry entry;
+ Q_FOREACH (QPluginLoader *loader, KoJsonTrader::self()->query("Calligra/Part", QString())) {
+ if (loader->fileName().contains(QLatin1String("wordspart"))) {
+ entry = KoDocumentEntry(loader);
+ break;
+ }
+ }
+ if (entry.isEmpty()) {
qWarning("Unable to load Words plugin, aborting!");
return;
}
- d->part = service->createInstance<KoPart>(this);
+ // QT5TODO: ownership of d->part unclear
+ d->part = entry.createKoPart();
KoDocument* document = d->part->document();
document->setAutoSave(0);
document->setCheckAutoSaveFile(false);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic