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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 13th, 2013, 6:31 p.m. UTC, <b>Marcel Wiesweg</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;">- FaceGroup::applyItemGeometryChanges() actually serves a purpose but I agree I did not comment it: The user can move and resize face rectangles by dragging. These changes need to be applied, they are applied by this method when a new image is set. Quite naturally, rotation can introduce changes which are then detected.
This is part of the same problem like the one for which you added the edit lock. In the end, rotation can occur asynchronously and from different places, so even the edit lock may not be secure.
I am not sure about the right solution as well and need to think a bit.
- the signalTransform signal in FileWorker is for debugging only? not quite sure I didnt overlook something</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;">Marcel,
signalTransform actually unlock the edit lock... I saw that workeriface is designed to run in parallel, but offers a option to connect to all workers and listen for signals. Even if lock is set and works, sometimes I still have garbage tags if fast-hover the photo... still looking into it...

about applyGeometryChanges(), this one is very difficult to dodge...especially when I can't find what rotates(in the bad way) the loaded tags...

Ok.. it's time to load another one hundred of kDebug() lines :)</pre>
<br />










<p>- Veaceslav</p>


<br />
<p>On March 12th, 2013, 4:13 p.m. UTC, Veaceslav Munteanu wrote:</p>








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

<div>Review request for Digikam, Gilles Caulier and Marcel Wiesweg.</div>
<div>By Veaceslav Munteanu.</div>


<p style="color: grey;"><i>Updated March 12, 2013, 4:13 p.m.</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;">This is the stage 2 of enabling digikam to read/write Picassa metadata into images.
It also include this previous patch: https://git.reviewboard.kde.org/r/109087/

Now, workeriface will rotate all face tags when image is rotated and image preview will update tags position when rotation is triggered.

I'm still working on it, any feedback about implementation is welcome.

It's not the last version, still have few issues to fix(see testing below).
</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;">So far, metadata write works ok.

And rotation from image preview updates all tags from database and also updates face rectangles.

What should be done(I work on it): Trigger metadata write when rotated. If tags are not updated(but this can be done manually), every rotation trigger metadata reread and garbage tags appear.

What can be tested:

1. Write metadata to files
2. Assign tags and rotate image, see if tag rectangles are in position.</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>digikam/fileaction/fileactionmngr.h <span style="color: grey">(836bc17)</span></li>

 <li>digikam/fileaction/fileactionmngr.cpp <span style="color: grey">(83372c2)</span></li>

 <li>digikam/fileaction/fileactionmngr_p.h <span style="color: grey">(d0e418b)</span></li>

 <li>digikam/fileaction/fileactionmngr_p.cpp <span style="color: grey">(c09ce30)</span></li>

 <li>digikam/fileaction/fileworkeriface.h <span style="color: grey">(a04b71e)</span></li>

 <li>digikam/fileaction/fileworkeriface.cpp <span style="color: grey">(76842eb)</span></li>

 <li>digikam/fileaction/metadatahub.cpp <span style="color: grey">(ea74590)</span></li>

 <li>digikam/views/imagepreviewview.h <span style="color: grey">(95102ed)</span></li>

 <li>digikam/views/imagepreviewview.cpp <span style="color: grey">(65b92dd)</span></li>

 <li>libs/database/core/tagregion.h <span style="color: grey">(436960f)</span></li>

 <li>libs/database/core/tagregion.cpp <span style="color: grey">(4fda6af)</span></li>

 <li>libs/dmetadata/metadatasettingscontainer.h <span style="color: grey">(02d35d2)</span></li>

 <li>libs/dmetadata/metadatasettingscontainer.cpp <span style="color: grey">(3e6cd93)</span></li>

 <li>utilities/facemanagement/facegroup.h <span style="color: grey">(2f0a357)</span></li>

 <li>utilities/facemanagement/facegroup.cpp <span style="color: grey">(df9dec4)</span></li>

 <li>utilities/setup/setupmetadata.cpp <span style="color: grey">(f73870c)</span></li>

</ul>

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







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








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