Opendocument format read/write *.odt
	
	
		The writer already exist on qt version 4.5 having small bug.. 
1- writing draw:frame tag (image tag) inside text:span and not on text:p (block tag)
2- it not write pagezise info on style head or page margin default
I start to write a reader today code on:
Only QT4.5 
http://ppk.ciz.ch/MiniScribus/TextOdfDebug.1.zip
Only table is not ready why?
i suppose a bug on QT4.5 
qtable->mergeCells(gorow,gocool,qAbs(cr - 1),qAbs(cs - 1));
mergeCell can not merge all column from one line if i leave -1
qtable->mergeCells(gorow,gocool,cr,cs);
it not  merge cell can anybody try it to find bug on qt 4.5
or can any body confirm a bug on mergeCells?
	Code:
	
- QTextTable *- qtable  =-  cur. insertTable(- rowCounter,constraints. size()- ,tf )- ; 
 
-     int gorow = -1; 
-     int gocool = -1; 
-   
-      while ( !line.isNull() ) { 
-         if (line.isElement() ) { 
-             if (oorow.tagName() == "table:table-row") { 
-                 gorow++; 
-                 gocool = -1; 
-                          QDomElement-  oocell  =-  oorow. firstChildElement("table:table-cell")- ; 
 
-                          while (!oocell.isNull())  { 
-                                 gocool++; 
-                                 const int cr = qMax(oocell.attribute("table:number-rows-spanned").toInt(),0); 
-                                 const int cs = qMax(oocell.attribute("table:number-columns-spanned").toInt(),0); 
-                                  qWarning() << "----- spanning /" << cr <<  "/" << cs << " gocool->" << gocool << " gorow->" << gorow;  
-                                 if (qMax(cs,cr) !=0) { 
-                                 /* can not spanning all column  */ 
-                                 qtable->mergeCells(gorow,gocool,qAbs(cr - 1),qAbs(cs - 1)); 
-                                 } 
-                                 cell = qtable->cellAt(gorow,gocool); 
-                                 //////void QTextTable::mergeCells ( int row, int column, int numRows, int numCols ) 
-                                 /////////////////qWarning() << " cursor on cella  /" << gorow << "/" << gocool;  
-                                 if (!convertCellTable(oocell,cell,cur,tname,processing)) { 
-                                    qWarning() << "Error on parse table cell  row:" << gorow << " column:" << gocool;  
-                                 } 
-   
-                              oocell = oocell.nextSiblingElement("table:table-cell"); 
-                          } 
-             } 
-         }  
-         line = line.nextSibling(); 
-     } 
 
http://ppk.ciz.ch/MiniScribus/mergecell.png
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		I solved :-)
/* value must having min 1  or row or int 3-4 not automatic accept 0 */
	Code:
	
- QDomElement-  oocell  =-  oorow. firstChildElement("table:table-cell")- ; 
 
-      while (!oocell.isNull())  { 
-        gocool++; 
-          const int cr = qMax(oocell.attribute("table:number-rows-spanned").toInt(),0); 
-          const int cs = qMax(oocell.attribute("table:number-columns-spanned").toInt(),0); 
-         if (qMax(cs,cr) !=0) { 
-         /* value must having min 1  or row or cell */ 
-          qtable->mergeCells(gorow,gocool,qMax(cr,1),qMax(cs,1)); 
-          } 
-          cell = qtable->cellAt(gorow,gocool); 
-         if (!convertCellTable(oocell,cell,cur,tname,processing)) { 
-         qWarning() << "Error on parse table cell  row:" << gorow << " column:" << gocool;  
-         } 
-       oocell = oocell.nextSiblingElement("table:table-cell"); 
-    } 
 
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		Which qt snapshot are you using? I tried to compile 3 snapshots but all of them was buggy and didn't able to compile.
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		
	Quote:
	
		
		
			
				Originally Posted by 
ocean
				 
			Which qt snapshot are you using? I tried to compile 3 snapshots but all of them was buggy and didn't able to compile.
			
		
	 
 If you use mingw ... replace the mingw/ path and take the mingw from trolltech mirror.
ftp://ftp.trolltech.com/qt/source/qt....4.1-mingw.exe
Take only the compiler...  i suppose it have a patch.... i am not sure.
Only append utlis and minimal sys from self.
From my 10 mounth old mingw install i found compiler error. after i replace the new mingw + window service pack 3 all running easy....
snapshots i install :
	Code:
	
- -no-exceptions  
- -qt-zlib  
- -qt-libtiff  
- -qt-sql-mysql  
- -qt-sql-odbc  
- -qt-sql-sqlite  
- -qt-gif  
- -qt-libpng  
- -qt-libjpeg  
- -no-openssl  
- -no-phonon  
- -no-webkit  
- -no-scripttools 
 
my mysql is on mingw lib path... and mysql running without plug-in
One from 6 day a go , other from 20080913 i build static.
Can you help me to write last piece (table) from odt reader?
svn http://fop-miniscribus.googlecode.co.../TextOdfDebug/
OOReader.h
OOReader.cpp
I not find difference from a table writteln by openOffice and from QT4.5
My reader can draw table from openOffice odt but not from QT4.5..
If you dont have qt4.5 to test:
 i build static   /qt4.5_st/demos/textedit/  it save *odt Open Document format
it can only save odt file http://ppk.ciz.ch/MiniScribus/odt/
and i like to test xslt speed.. from 4.5
http://englich.wordpress.com/2008/09/10/xsl-t-and-qt/
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		
	Quote:
	
		
		
			
				Originally Posted by 
patrik08
				 
			If you use mingw ... replace the mingw/ path and take the mingw from trolltech mirror.
ftp://ftp.trolltech.com/qt/source/qt....4.1-mingw.exe
Take only the compiler...  i suppose it have a patch.... i am not sure.
Only append utlis and minimal sys from self.
From my 10 mounth old mingw install i found compiler error. after i replace the new mingw + window service pack 3 all running easy....
	 
 I have the latest mingw too, but my mingw can't compile snapshots.
	Quote:
	
		
		
			Can you help me to write last piece (table) from odt reader?
svn 
http://fop-miniscribus.googlecode.co.../TextOdfDebug/
OOReader.h
OOReader.cpp
I not find difference from a table writteln by openOffice and from QT4.5
My reader can draw table from openOffice odt but not from QT4.5..
If you dont have qt4.5 to test:
 i build static   /qt4.5_st/demos/textedit/  it save *odt Open Document format
it can only save odt file 
http://ppk.ciz.ch/MiniScribus/odt/
			
		
	 
 Sure, if i can (and have enough time), i will help you. But I didn't understand you, you can't create a table by using Qt Tools?
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		
	Quote:
	
		
		
			
				Originally Posted by 
ocean
				 
			I have the latest mingw too, but my mingw can't compile snapshots.
Sure, if i can (and have enough time), i will help you. But I didn't understand you, you can't create a table by using Qt Tools?
			
		
	 
 
	Code:
	
- ftp://ftp.trolltech.com/qt/snapshots/qt-win-opensource-src-4.4.3-snapshot-20080913.zip 
 
this snapshots work 100% on my mingw
Have you Service Pack3 on window XP or you use vista?
try to build only:
./configure bla bla..
make sub-src
[only core lib]
not make all  demo designer and tool designer,  build at end designer & tool
Read table from OpenOffice odt file is ok and working.. :)
Read table from QT4.5 odt file (file created by qt)  not working.. :(
OOReader.h
OOReader.cpp
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		sorry i mistake version
this is correct  ( it ending all two 913 )
	Code:
	
- ftp://ftp.trolltech.com/qt/snapshots/qt-win-opensource-src-4.5.0-snapshot-20080913.zip 
 
	 
	
	
	
		Re: Opendocument format read/write *.odt
	
	
		I have now my OpenDocument reader its possibel to build on qt4.4.1 or > on 4.5 reader already exist...
Only the listformat tree it show the first level table col-span and row-span are perfect...
And and one QTextEdit, if You load 30 or more page prepare you mind to wait long time.
I save source on SVN:
http://www.qt-apps.org/content/show....?content=80650
http://www.qt-apps.org/CONTENT/content-pre1/80650-1.png