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

List:       kde-commits
Subject:    KOFFICE_1_3_BRANCH: koffice/filters/kword/oowriter
From:       Nicolas Goutte <nicolasg () snafu ! de>
Date:       2004-08-04 18:10:51
Message-ID: 20040804181051.7C8939A68 () office ! kde ! org
[Download RAW message or body]

CVS commit by goutte: 

Fix generation of spaces (Backport, #86561)


  M +13 -16    ExportFilter.cc   1.29.2.17


--- koffice/filters/kword/oowriter/ExportFilter.cc  #1.29.2.16:1.29.2.17
@@ -69,10 +69,8 @@ QString OOWriterWorker::escapeOOText(con
 QString OOWriterWorker::escapeOOSpan(const QString& strText) const
 // We need not only to escape the classical XML stuff but also to take care of \
                spaces and tabs.
-// Also we must take care about not falling into the rules in XML about white space \
between 2 opening tags or between 2 closing tags  {
     QString strReturn;
     QChar ch;
     int spaceNumber = 0; // How many spaces should be written
-    uint spaceSequenceStart = 9999; // Where does the space sequence start (start \
value must be non-null)  
     for (uint i=0; i<strText.length(); i++)
@@ -85,11 +83,7 @@ QString OOWriterWorker::escapeOOSpan(con
             if ( spaceNumber > 0 )
             {
-                if ( spaceSequenceStart )
-                {   // Generate a real space only if we are not at start
-
                     strReturn += ' ';
                     --spaceNumber;
-                }
-                if ( spaceNumber > 1 )
+                if ( spaceNumber > 0 )
                 {
                     strReturn += "<text:s text:c=\"";
@@ -97,7 +91,7 @@ QString OOWriterWorker::escapeOOSpan(con
                     strReturn += "\"/>";
                 }
-            }
             spaceNumber = 0;
         }
+        }
 
         // ### TODO: would be switch/case or if/elseif the best?
@@ -123,5 +117,4 @@ QString OOWriterWorker::escapeOOSpan(con
                 {
                     spaceNumber = 1;
-                    spaceSequenceStart = i;
                 }
                 break;
@@ -178,8 +171,12 @@ QString OOWriterWorker::escapeOOSpan(con
     {
         // The last characters were spaces
-        // We do not care about writing a real space (also to avoid to have <tag> \
                </tag>)
-        strReturn+="<text:s text:c=\"";
-        strReturn+=QString::number(spaceNumber);
-        strReturn+="\"/>";
+        strReturn += ' ';
+        --spaceNumber;
+        if ( spaceNumber > 0 )
+        {
+            strReturn += "<text:s text:c=\"";
+            strReturn += QString::number( spaceNumber );
+            strReturn += "\"/>";
+        }
     }
 


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

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