[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra/frameworks] gemini: Port Gemini to use KoJsonTrader (untested)
From:       Friedrich W. H. Kossebau <kossebau () kde ! org>
Date:       2015-03-31 22:50:09
Message-ID: E1Yd4z3-0006zD-90 () scm ! kde ! org
[Download RAW message or body]

Git commit 05842fdb809631ccafb6fd98d621a7de5605b9e1 by Friedrich W. H. Kossebau.
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 <QFileInfo>
 #include <QGLWidget>
 
+#include <kglobal.h>
+#include <kicon.h>
+#include <kiconloader.h>
 #include <kcmdlineargs.h>
 #include <kurl.h>
 #include <kstandarddirs.h>
 #include <kactioncollection.h>
+#include <kaction.h>
 #include <kaboutdata.h>
 #include <ktoolbar.h>
 #include <kmessagebox.h>
@@ -65,6 +69,7 @@
 #include <KoAbstractGradient.h>
 #include <KoZoomController.h>
 #include <KoFileDialog.h>
+#include <KoJsonTrader.h>
 
 #include "PropertyContainer.h"
 #include "TouchDeclarativeView.h"
@@ -582,16 +587,25 @@ void MainWindow::enableAltSaveAction()
 
 void MainWindow::openFile()
 {
+    QStringList mimeFilter;
+
     KoDocumentEntry entry = KoDocumentEntry::queryByMimeType(WORDS_MIME_TYPE);
-    KService::Ptr service = entry.service();
-    QStringList mimeFilter = KoFilterManager::mimeFilter(WORDS_MIME_TYPE,
-                                                               \
                KoFilterManager::Import,
-                                                               \
service->property("X-KDE-ExtraNativeMimeTypes").toStringList()); +    if \
(entry.loader()) { +        QJsonObject json = \
entry.loader()->metaData().value("MetaData").toObject(); +        QStringList \
mimeTypes = json.value("X-KDE-ExtraNativeMimeTypes").toString().split(','); +
+        mimeFilter << KoFilterManager::mimeFilter(WORDS_MIME_TYPE,
+                                                  KoFilterManager::Import,
+                                                  mimeTypes);
+    }
     entry = KoDocumentEntry::queryByMimeType(STAGE_MIME_TYPE);
-    service = entry.service();
-    mimeFilter << KoFilterManager::mimeFilter(STAGE_MIME_TYPE,
-                                              KoFilterManager::Import,
-                                              \
service->property("X-KDE-ExtraNativeMimeTypes").toStringList()); +    if \
(entry.loader()) { +        QJsonObject json = \
entry.loader()->metaData().value("MetaData").toObject(); +        QStringList \
mimeTypes = json.value("X-KDE-ExtraNativeMimeTypes").toString().split(','); +        \
mimeFilter << KoFilterManager::mimeFilter(STAGE_MIME_TYPE, +                          \
KoFilterManager::Import, +                                                  \
mimeTypes); +    }
 
     KoFileDialog dialog(d->desktopView, KoFileDialog::OpenFile, "OpenDocument");
     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 <klocalizedstring.h>
 #include <krecentfilesaction.h>
 #include <kactioncollection.h>
+#include <kglobal.h>
+#include <kurl.h>
 
 #include <boost/config/posix_features.hpp>
 #include <KConfigGroup>
@@ -111,12 +113,16 @@ void DesktopViewProxy::fileNew()
 
 void DesktopViewProxy::fileOpen()
 {
+    QStringList mimeFilter;
     KoDocumentEntry entry = \
KoDocumentEntry::queryByMimeType(DocumentManager::instance()->settingsManager()->currentFileClass().toLatin1());
                
-    KService::Ptr service = entry.service();
-    const QStringList mimeFilter = \
KoFilterManager::mimeFilter(DocumentManager::instance()->settingsManager()->currentFileClass().toLatin1(),
                
-                                                               \
                KoFilterManager::Import,
-                                                               \
service->property("X-KDE-ExtraNativeMimeTypes").toStringList()); +    if \
(entry.loader()) { +        QJsonObject json = \
entry.loader()->metaData().value("MetaData").toObject(); +        QStringList \
mimeTypes = json.value("X-KDE-ExtraNativeMimeTypes").toString().split(',');  
+        mimeFilter << \
KoFilterManager::mimeFilter(DocumentManager::instance()->settingsManager()->currentFileClass().toLatin1(),
 +                                                               \
KoFilterManager::Import, +                                                            \
mimeTypes); +    }
 
     KoFileDialog dialog(d->desktopView, KoFileDialog::OpenFile, "OpenDocument");
     dialog.setCaption(i18n("Open Document"));


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic