Review Request 129929: Port away from KImageIO

Luigi Toscano luigi.toscano at tiscali.it
Thu Oct 5 20:21:19 UTC 2017



> On Feb. 7, 2017, 4:10 a.m., Michael Pyne wrote:
> > Ship It!
> 
> Martin Koller wrote:
>     No, that won't work.
>     I had a mail discussion about this in 2015:
>     
>     
>     On Sunday 10 May 2015 19:39:07 Alex Merry wrote:
>     > On Saturday 09 May 2015 22:54:49 Martin Koller wrote:
>     > > I'm working on porting kolourpaint to kf5.
>     > > Now I find the following:
>     > > KDELIBS4SUPPORT_DEPRECATED_EXPORT QStringList typeForMime(const QString
>     > > &mimeType);
>     > > 
>     > > The comment says: Use QMimeType::name() instead().
>     > > 
>     > > However this seems incorrect.
>     > > typeForMime() returned a format string usable for QImage::save(), e.g.
>     > > "image/png" returns "PNG"
>     > > QMimeType::name() returns the name of the mime type, which is again
>     > > "image/png", which I can not pass to QImage::save()
>     > > (typeForMime() gives the X-KDE-ImageFormat field from the desktop file, and
>     > > the mime type is in the X-KDE-MimeType field)
>     > > 
>     > > So, is there a REAL alternative for this method ?
>     > 
>     > Ah, you want QMimeType::suffixes() instead, since QImage types are essentially 
>     > file extensions.
>     
>     no, this is not the same.
>     suffixes() returns a QStringList(!), for instance this would return "jpg", "jpeg" for image/jpeg.
>     But the QImage::save() method needs exactly ONE specific string as format.
>     How should my code know which one to use ?
>     
>     > I had plans a while back to submit a patch to Qt to do implement the 
>     > equivalent of typeForMime and its inverse properly (using the data in the 
>     > QImageFormat plugin metadata), but never got round to finishing it. Hopefully 
>     > I'll have the time and energy to pick that up again at some point.
>     
>     I'd say a better solution would be to simply have no need for such a method, e.g.
>     allow that QImageWriter (QImage, QPimap) accepts a QMimeType.
> 
> Martin Tobias Holmedahl Sandsmark wrote:
>     My patch doesn't try to guess which one from a QStringList(), that's what the old code does. With this patch it uses preferredSuffix(), which solves the problem.

Any update on this? Martin (Koller), the answer from Martin (Sandsmark) seems to address the issue that you raised.


- Luigi


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129929/#review102435
-----------------------------------------------------------


On Feb. 6, 2017, 11:36 p.m., Martin Tobias Holmedahl Sandsmark wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129929/
> -----------------------------------------------------------
> 
> (Updated Feb. 6, 2017, 11:36 p.m.)
> 
> 
> Review request for KDE Graphics and Martin Koller.
> 
> 
> Repository: kolourpaint
> 
> 
> Description
> -------
> 
> KImageIO is apparently deprecated, so use similar code to what is now used in Gwenview.
> 
> 
> Diffs
> -----
> 
>   document/kpDocument.cpp 69aa8d83 
>   document/kpDocument_Open.cpp 7c0be0b4 
>   document/kpDocument_Save.cpp 1434832a 
>   document/kpDocument_Selection.cpp efdd735a 
> 
> 
> Diff: https://git.reviewboard.kde.org/r/129929/diff/1/
> 
> 
> Testing
> -------
> 
> Saving as different formats works as expected here.
> 
> 
> Thanks,
> 
> Martin Tobias Holmedahl Sandsmark
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-graphics-devel/attachments/20171005/e49f0ee1/attachment.html>


More information about the Kde-graphics-devel mailing list