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

List:       koffice-devel
Subject:    Re: Review Request: Add loading/saving support for user-defined
From:       "Robert Marmorstein" <robert () narnia ! homeunix ! com>
Date:       2010-10-19 4:17:00
Message-ID: 20101019041700.18114.46497 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> On 2010-08-24 05:54:04, Thorsten Zachmann wrote:
> > The text:user-field-decls
> > 
> > <draw:text-box>
> > <text:user-field-decls>
> > <text:user-field-decl text:name="foo" office:value-type="string" \
> > office:string-value="tztztztz"/> </text:user-field-decls>
> > 
> > are saved with each text-shape which creates invalid ODF.
> > 
> > According to the spec the 
> > 
> > The <text:user-field-decls> element is usable with the following elements:
> > <office:chart> 3.8, <office:drawing> 3.5, <office:presentation> 3.6,
> > <office:spreadsheet> 3.7, <office:text> 3.4, <style:footer> 16.11,
> > <style:footer-left> 16.13, <style:header> 16.10 and <style:header-left> 16.12.
> > 
> > I did not yet have a look on how this can be archived maybe you can take a look \
> > at how this can be archived. If you don't find a solution please let me know and \
> > I can help looking into it.
> 
> Robert Marmorstein wrote:
> Hmm.  This is pretty serious.  Maybe I can do what I did with parsing and move this \
> code up to the KoTextWriter class.

Thorsten -- how did you generate the code snippet above?  In my test document, the \
user-field-decls is a child of the office:text element.  But it's a very simple test \
document.  I'd like to duplicate what you did so I can make sure any fix I come up \
with is correct...


- Robert


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5092/#review7187
-----------------------------------------------------------


On 2010-08-24 06:33:56, Robert Marmorstein wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5092/
> -----------------------------------------------------------
> 
> (Updated 2010-08-24 06:33:56)
> 
> 
> Review request for KOffice and Thomas Zander.
> 
> 
> Summary
> -------
> 
> While koffice supports loading and saving of DateVariable and other Variables \
> defined by plugins, support for user-defined variables (in KoNamedVariable) was \
> missing.  This patch adds support for user-defined variables using the \
> "user-field-decls" tag from the ODF spec, sections 6.3.5-6.3.7.  Because \
> KoNamedVariables are not created by a factory class, the code for loading had to be \
> directly embedded into the KoTextLoader, so there is an empty "loadOdf" function in \
> KoNamedVariable.cpp (it can't go away entirely, because inheriting classes need \
> it). 
> Variables defined as plugins are not affected by these changes, but it looks to me \
> like they are not correctly implemented -- they should save to the ODF file as \
> "simple variables", not simply as embedded text.   
> Note: This patch doesn't add any UI functionality for manipulating variables.  It \
> is still needed to have a way for the user to directly add, delete, and edit \
> variables.  
> 
> Diffs
> -----
> 
> trunk/koffice/libs/kotext/KoNamedVariable.cpp 1167249 
> trunk/koffice/libs/kotext/KoTextShapeData.cpp 1167249 
> trunk/koffice/libs/kotext/opendocument/KoTextLoader.h 1167249 
> trunk/koffice/libs/kotext/opendocument/KoTextLoader.cpp 1167249 
> 
> Diff: http://svn.reviewboard.kde.org/r/5092/diff
> 
> 
> Testing
> -------
> 
> Created a document, embedded some user-defined variables in it (by way of the \
> publish-to docker), saved it.  Closed out and opened it first in OpenOffice (which \
> works fine) and then in kword again (which also works fine).  Variables are saved \
> and displayed just fine. 
> 
> Thanks,
> 
> Robert
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/5092/">http://svn.reviewboard.kde.org/r/5092/</a>
  </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <p style="margin-top: 0;">On August 24th, 2010, 5:54 a.m., <b>Thorsten \
Zachmann</b> wrote:</p>  <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">  <pre style="white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">The text:user-field-decls

          &lt;draw:text-box&gt;
            &lt;text:user-field-decls&gt;
              &lt;text:user-field-decl text:name=&quot;foo&quot; \
office:value-type=&quot;string&quot; office:string-value=&quot;tztztztz&quot;/&gt;  \
&lt;/text:user-field-decls&gt;

are saved with each text-shape which creates invalid ODF.

According to the spec the 

The &lt;text:user-field-decls&gt; element is usable with the following elements:
&lt;office:chart&gt; 3.8, &lt;office:drawing&gt; 3.5, &lt;office:presentation&gt; \
3.6, &lt;office:spreadsheet&gt; 3.7, &lt;office:text&gt; 3.4, &lt;style:footer&gt; \
16.11, &lt;style:footer-left&gt; 16.13, &lt;style:header&gt; 16.10 and \
&lt;style:header-left&gt; 16.12.

I did not yet have a look on how this can be archived maybe you can take a look at \
how this can be archived. If you don&#39;t find a solution please let me know and I \
can help looking into it.</pre>  </blockquote>




 <p>On August 24th, 2010, 6:28 a.m., <b>Robert Marmorstein</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hmm.  This is pretty \
serious.  Maybe I can do what I did with parsing and move this code up to the \
KoTextWriter class.</pre>  </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Thorsten -- how did you \
generate the code snippet above?  In my test document, the user-field-decls is a \
child of the office:text element.  But it&#39;s a very simple test document.  I&#39;d \
like to duplicate what you did so I can make sure any fix I come up with is \
correct...</pre> <br />








<p>- Robert</p>


<br />
<p>On August 24th, 2010, 6:33 a.m., Robert Marmorstein wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for KOffice and Thomas Zander.</div>
<div>By Robert Marmorstein.</div>


<p style="color: grey;"><i>Updated 2010-08-24 06:33:56</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">While koffice supports loading and saving of DateVariable and other \
Variables defined by plugins, support for user-defined variables (in KoNamedVariable) \
was missing.  This patch adds support for user-defined variables using the \
&quot;user-field-decls&quot; tag from the ODF spec, sections 6.3.5-6.3.7.  Because \
KoNamedVariables are not created by a factory class, the code for loading had to be \
directly embedded into the KoTextLoader, so there is an empty &quot;loadOdf&quot; \
function in KoNamedVariable.cpp (it can&#39;t go away entirely, because inheriting \
classes need it).

Variables defined as plugins are not affected by these changes, but it looks to me \
like they are not correctly implemented -- they should save to the ODF file as \
&quot;simple variables&quot;, not simply as embedded text.  

Note: This patch doesn&#39;t add any UI functionality for manipulating variables.  It \
is still needed to have a way for the user to directly add, delete, and edit \
variables. </pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Created a document, embedded some user-defined variables in it (by way \
of the publish-to docker), saved it.  Closed out and opened it first in OpenOffice \
(which works fine) and then in kword again (which also works fine).  Variables are \
saved and displayed just fine.

</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>trunk/koffice/libs/kotext/KoNamedVariable.cpp <span style="color: \
grey">(1167249)</span></li>

 <li>trunk/koffice/libs/kotext/KoTextShapeData.cpp <span style="color: \
grey">(1167249)</span></li>

 <li>trunk/koffice/libs/kotext/opendocument/KoTextLoader.h <span style="color: \
grey">(1167249)</span></li>

 <li>trunk/koffice/libs/kotext/opendocument/KoTextLoader.cpp <span style="color: \
grey">(1167249)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/5092/diff/" style="margin-left: \
3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


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

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