Review Request 129929: Port away from KImageIO

Martin Koller kollix at aon.at
Tue Feb 7 08:05:56 UTC 2017



> On Feb. 7, 2017, 3:10 a.m., Michael Pyne wrote:
> > Ship It!

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


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


On Feb. 6, 2017, 10: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, 10: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/
> 
> 
> 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/20170207/866dba45/attachment.html>


More information about the Kde-graphics-devel mailing list