Git commit 05842fdb809631ccafb6fd98d621a7de5605b9e1 by Friedrich W. H. Koss= ebau. Committed on 31/03/2015 at 22:47. Pushed by kossebau into branch 'frameworks'. Port Gemini to use KoJsonTrader (untested) M +22 -8 gemini/MainWindow.cpp M +10 -4 gemini/desktopviewproxy.cpp http://commits.kde.org/calligra/05842fdb809631ccafb6fd98d621a7de5605b9e1 diff --git a/gemini/MainWindow.cpp b/gemini/MainWindow.cpp index bd0df7f..db75d79 100644 --- a/gemini/MainWindow.cpp +++ b/gemini/MainWindow.cpp @@ -37,10 +37,14 @@ #include #include = +#include +#include +#include #include #include #include #include +#include #include #include #include @@ -65,6 +69,7 @@ #include #include #include +#include = #include "PropertyContainer.h" #include "TouchDeclarativeView.h" @@ -582,16 +587,25 @@ void MainWindow::enableAltSaveAction() = void MainWindow::openFile() { + QStringList mimeFilter; + KoDocumentEntry entry =3D KoDocumentEntry::queryByMimeType(WORDS_MIME_= TYPE); - KService::Ptr service =3D entry.service(); - QStringList mimeFilter =3D KoFilterManager::mimeFilter(WORDS_MIME_TYPE, - KoFilterMan= ager::Import, - service->pr= operty("X-KDE-ExtraNativeMimeTypes").toStringList()); + if (entry.loader()) { + QJsonObject json =3D entry.loader()->metaData().value("MetaData").= toObject(); + QStringList mimeTypes =3D json.value("X-KDE-ExtraNativeMimeTypes")= .toString().split(','); + + mimeFilter << KoFilterManager::mimeFilter(WORDS_MIME_TYPE, + KoFilterManager::Import, + mimeTypes); + } entry =3D KoDocumentEntry::queryByMimeType(STAGE_MIME_TYPE); - service =3D entry.service(); - mimeFilter << KoFilterManager::mimeFilter(STAGE_MIME_TYPE, - KoFilterManager::Import, - service->property("X-KDE-Ext= raNativeMimeTypes").toStringList()); + if (entry.loader()) { + QJsonObject json =3D entry.loader()->metaData().value("MetaData").= toObject(); + QStringList mimeTypes =3D json.value("X-KDE-ExtraNativeMimeTypes")= .toString().split(','); + mimeFilter << KoFilterManager::mimeFilter(STAGE_MIME_TYPE, + KoFilterManager::Import, + mimeTypes); + } = KoFileDialog dialog(d->desktopView, KoFileDialog::OpenFile, "OpenDocum= ent"); dialog.setCaption(i18n("Open Document")); diff --git a/gemini/desktopviewproxy.cpp b/gemini/desktopviewproxy.cpp index e52ef02..002661e 100644 --- a/gemini/desktopviewproxy.cpp +++ b/gemini/desktopviewproxy.cpp @@ -30,6 +30,8 @@ #include #include #include +#include +#include = #include #include @@ -111,12 +113,16 @@ void DesktopViewProxy::fileNew() = void DesktopViewProxy::fileOpen() { + QStringList mimeFilter; KoDocumentEntry entry =3D KoDocumentEntry::queryByMimeType(DocumentMan= ager::instance()->settingsManager()->currentFileClass().toLatin1()); - KService::Ptr service =3D entry.service(); - const QStringList mimeFilter =3D KoFilterManager::mimeFilter(DocumentM= anager::instance()->settingsManager()->currentFileClass().toLatin1(), - KoFilterMan= ager::Import, - service->pr= operty("X-KDE-ExtraNativeMimeTypes").toStringList()); + if (entry.loader()) { + QJsonObject json =3D entry.loader()->metaData().value("MetaData").= toObject(); + QStringList mimeTypes =3D json.value("X-KDE-ExtraNativeMimeTypes")= .toString().split(','); = + mimeFilter << KoFilterManager::mimeFilter(DocumentManager::instanc= e()->settingsManager()->currentFileClass().toLatin1(), + KoFilterMan= ager::Import, + mimeTypes); + } = KoFileDialog dialog(d->desktopView, KoFileDialog::OpenFile, "OpenDocum= ent"); dialog.setCaption(i18n("Open Document"));