<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://git.reviewboard.kde.org/r/101871/">http://git.reviewboard.kde.org/r/101871/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/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 Calligra.</div>
<div>By Inge Wallin.</div>





<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;">This patch does two things:

1. It fixes a serious issue with loading frame shapes with unknown contents.  Previously, when a frame with unrecognized contents, such as an embedded spreadsheet, was loaded, it went through all the objects in the frame. If even one of the objects were recognized, such as a preview image, then a shape was created for that object. This means that the real contents of the frame got lost and only the preview image could be saved back.  This is not how it's supposed to be.  The new logic is to create an Unavail shape as soon as the payload of the frame, i.e. the first object in it, is unrecognized. It is then up to the unavail shape to load and store any preview images. It is also up to the unavail shape to save everything back.  This patch does this.

2. It gives the Unavail shape the ability to show preview images. Actually it gives the shape the ability to show both vector images using SVG and bitmap images using any format that QImage supports. We have not integrated this with the picture shape since we couldn't find a way to disable the picture tool for this shape alone.

Note: Much of the code was written by Dan Leinir.</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;">You can test this patch by creating a document with a music shape in it.  The music shape already creates preview images in svg and png formats. To test the creation of the unavail shape and the preview of the svg image, you have to remove musicshape.desktop in the install directory and rerun kbuildsysoca4. Then the contents of the frame with the music in it won't be recognized and the unavail shape will be created instead. You will notice that the preview image looks a bit distorted.  This is a bug with the music shape that creates a preview svg with the wrong size.  That bug is not in the scope of this patch but has to be fixed separately.

There is also a saving bug with the unavail shape that is also not within the scope of this patch.  I will fix that in a separate patch.</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>libs/flake/KoUnavailShape.cpp <span style="color: grey">(c9bfc77)</span></li>

 <li>libs/flake/KoUnavailShape.h <span style="color: grey">(fb346f7)</span></li>

 <li>libs/flake/KoShapeRegistry.cpp <span style="color: grey">(06e4c7c)</span></li>

</ul>

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




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




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