[Kde-pim] Review Request: Don't always recompress contact photos when saving

Kevin Krammer krammer at kde.org
Sun Oct 21 23:13:56 BST 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106745/#review20644
-----------------------------------------------------------


There seem to be two new files in this revision. Any specific reason for those additonal changes?


kabc/picture.h
<http://git.reviewboard.kde.org/r/106745/#comment16284>

    please add
    @since 4.10
    to all new methods



kabc/picture.h
<http://git.reviewboard.kde.org/r/106745/#comment16288>

    doesn't it set the type to "jpeg" or "png"? I.e. without the image/ prefix?



kabc/picture.h
<http://git.reviewboard.kde.org/r/106745/#comment16286>

    see above



kabc/picture.cpp
<http://git.reviewboard.kde.org/r/106745/#comment16287>

    condition now on mType, right?
    



kabc/picture.cpp
<http://git.reviewboard.kde.org/r/106745/#comment16289>

    since mType was already set by setData, you can switch in the type here instead of duplicating the check, no?
    or basically
    d->mData.save( &buffer, d->mType.toUpper() );
    



kabc/picture.cpp
<http://git.reviewboard.kde.org/r/106745/#comment16290>

    I am not sure it is a good idea to change the format of the serialized picture.
    Might be better to keep the stream format, i.e.
    - << picture.d->mData;
    + << picture.data();


- Kevin Krammer


On Oct. 21, 2012, 9:39 p.m., Sebastian Scheibner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106745/
> -----------------------------------------------------------
> 
> (Updated Oct. 21, 2012, 9:39 p.m.)
> 
> 
> Review request for KDEPIM-Libraries.
> 
> 
> Description
> -------
> 
> When changing a contact with a photo, the photo is recompressed when saving (even though the photo wasn't changed). That's because the photo is loaded into a QImage and when the contact is saved, the QImage is compressed as JPEG again (or PNG if it contains an alpha-channel, which most don't).
> 
> This patch stores the raw base64 photo data from the vcard as a QByteArray in KABC::Picture. If the photo is not changed, this QByteArray is simply used when saving the contact, so there's no recompression and quality loss. If the photo was changed it gets compressed as JPEG as before.
> 
> fixes this bug: https://bugs.kde.org/show_bug.cgi?id=307570
> 
> 
> This addresses bug 307570.
>     http://bugs.kde.org/show_bug.cgi?id=307570
> 
> 
> Diffs
> -----
> 
>   akonadi/contact/editor/imagewidget.h 92df283 
>   akonadi/contact/editor/imagewidget.cpp e1a0527 
>   kabc/picture.h bf9745c 
>   kabc/picture.cpp 0a51c8b 
>   kabc/tests/picturetest.h 2b33e18 
>   kabc/tests/picturetest.cpp b599b48 
>   kabc/vcardtool.cpp e876e81 
> 
> Diff: http://git.reviewboard.kde.org/r/106745/diff/
> 
> 
> Testing
> -------
> 
> compiled kdepimlibs/kabc with kde 4.9.2
> 
> - created a new contact in kaddressbook and added a photo. exported the contact.
> - changed the photo and exported the contact again
> - the image data in the exported file didn't change
> 
> 
> Thanks,
> 
> Sebastian Scheibner
> 
>

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list