[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/krita/ui
From: Cyrille Berger <cyb () lepi ! org>
Date: 2007-02-24 21:30:37
Message-ID: 1172352637.781228.25812.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 636961 by berger:
merge the load data visitor with the load visitor
M +0 -1 CMakeLists.txt
M +2 -5 kis_doc2.cc
D kis_oasis_load_data_visitor.cc
D kis_oasis_load_data_visitor.h
M +28 -0 kis_oasis_load_visitor.cc
M +3 -1 kis_oasis_load_visitor.h
--- trunk/koffice/krita/ui/CMakeLists.txt #636960:636961
@@ -59,7 +59,6 @@
kis_multi_bool_filter_widget.cc
kis_multi_double_filter_widget.cc
kis_multi_integer_filter_widget.cc
- kis_oasis_load_data_visitor.cc
kis_oasis_load_visitor.cc
kis_oasis_save_data_visitor.cc
kis_oasis_save_visitor.cc
--- trunk/koffice/krita/ui/kis_doc2.cc #636960:636961
@@ -88,7 +88,6 @@
#include "kis_load_visitor.h"
#include "kis_save_visitor.h"
#include "kis_savexml_visitor.h"
-#include "kis_oasis_load_data_visitor.h"
#include "kis_oasis_load_visitor.h"
#include "kis_oasis_save_data_visitor.h"
#include "kis_oasis_save_visitor.h"
@@ -372,13 +371,11 @@
for (QDomNode node = root.firstChild(); !node.isNull(); node = node.nextSibling()) {
if (node.isElement() && node.nodeName() == "office:body") {
QDomElement elem = node.toElement();
- KisOasisLoadVisitor olv(this);
+ KoOasisStore* oasisStore = new KoOasisStore( store );
+ KisOasisLoadVisitor olv(this,oasisStore);
olv.loadImage(elem);
if (!olv.image() )
return false;
- KoOasisStore* oasisStore = new KoOasisStore( store );
- KisOasisLoadDataVisitor oldv(oasisStore, olv.layerFilenames());
- olv.image()->rootLayer()->accept(oldv);
setCurrentImage( olv.image() );
--- trunk/koffice/krita/ui/kis_oasis_load_visitor.cc #636960:636961
@@ -22,6 +22,9 @@
#include <QDomNode>
#include <KoColorSpaceRegistry.h>
+#include <KoOasisStore.h>
+#include <KoStore.h>
+#include <KoStoreDevice.h>
// Includes from krita/image
#include <kis_image.h>
@@ -58,6 +61,31 @@
void KisOasisLoadVisitor::loadPaintLayer(const QDomElement& elem, KisPaintLayerSP pL)
{
loadLayerInfo(elem, pL.data());
+
+ QString filename = m_layerFilenames[pL.data()];
+ kDebug(41008) << "Loading file : " << filename << endl;
+ if (m_oasisStore->store()->open(filename) ) {
+ KoStoreDevice io ( m_oasisStore->store() );
+ if ( !io.open( QIODevice::ReadOnly ) )
+ {
+ kDebug(41008) << "Couldn't open for reading: " << filename << endl;
+// return false;
+ }
+ QImage img;
+ if ( ! img.load( &io, "PNG" ) )
+ {
+ kDebug(41008) << "Loading PNG failed: " << filename << endl;
+ m_oasisStore->store()->close();
+ io.close();
+// return false;
+ }
+ pL->paintDevice()->convertFromQImage(img, "");
+ io.close();
+ m_oasisStore->store()->close();
+ kDebug(41008) << "Loading was successful" << endl;
+// return true;
+ }
+ kDebug(41008) << "Loading was unsuccessful" << endl;
}
void KisOasisLoadVisitor::loadGroupLayer(const QDomElement& elem, KisGroupLayerSP gL)
--- trunk/koffice/krita/ui/kis_oasis_load_visitor.h #636960:636961
@@ -21,6 +21,7 @@
#include "kis_global.h"
#include "kis_types.h"
+class KoOasisStore;
class QDomElement;
class KisPaintLayer;
class KisGroupLayer;
@@ -29,7 +30,7 @@
class KisOasisLoadVisitor {
public:
- KisOasisLoadVisitor(KisDoc2* doc) : m_doc(doc) {};
+ KisOasisLoadVisitor(KisDoc2* doc, KoOasisStore* os) : m_doc(doc), m_oasisStore(os) {};
virtual ~KisOasisLoadVisitor() {};
public:
@@ -43,6 +44,7 @@
KisImageSP m_image;
KisDoc2* m_doc;
QMap<KisLayer *, QString> m_layerFilenames;
+ KoOasisStore* m_oasisStore;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic