[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: Kimageio removal
From: Szombathelyi "György" <gyurco () freemail ! hu>
Date: 2006-01-14 21:19:48
Message-ID: 200601142219.49015.gyurco () freemail ! hu
[Download RAW message or body]
I think only If you give him a QIODevice which read from an URI.
------------------------------------
QImageReader r;
r.setFileName("http://www.index.hu/alma.jpg");
qDebug() << r.canRead();
false
r.setFileName("file:///home/gyuri/kepek/becs/dsc03906.jpg");
qDebug() << r.canRead();
false
r.setFileName("/home/gyuri/kepek/becs/dsc03906.jpg");
qDebug() << r.canRead();
true
------------------------------------------------------------------------------------
I invented the following solution:
Add a new service type, called QImageIOPlugins
Create a .desktop file for each image format, with two custom parameters:
X-KDE-ImageFormat
X-KDE-MimeType
These .desktop files contains the mapping between mime-types and image format names. \
Everything else is in the mime-database already.
Resurrected a very small KImageIO class, which contains only the essential functions \
for the Imageformat-mimetype conversion:
static QString pattern(Mode mode = Reading);
static QStringList typeForMime(const QString& mimeType);
static QStringList mimeTypes( Mode mode = Writing );
static bool isSupported( const QString& _mimeType, Mode _mode = Writing );
( and maybe QString KImageIO::suffix(const QString& type) )
It's more lightweight than .kimgio files and the old KImageIO class.
P.S: as I see, there are commits which uses only the image format list from \
QImageReader|Writer, is it enough? Then I dump out my mini-KImageIO.
e.g:
http://websvn.kde.org/trunk/KDE/kdelibs/kio/kfile/kfiledialog.cpp?rev=497896&r1=497724&r2=497896
2006. január 14. 19.43 dátummal Gregory Hayes ezt írta:
> I vote for option 2. I think QImageReader and friends provide us with most
> of what we need. Do you know if the QimageReader::canRead can handle URIs?
>
> Greg
> -
>
> On 1/14/06, Szombathelyi György <gyurco@freemail.hu> wrote:
> > Hi!
> >
> > I removed kimageio from kdelibs trunk yesterday, now I've got a problem
> > of converting some uses in kdebase.
> > Especially KImageIO::pattern() and KImageIO::mimeTypes() are problematic,
> > since there's no such concept in QImageReader and QImageWriter. Qt only
> > knows
> > the "format", which can be e.g "jpg", "png", etc...
> > Now I see 2 options:
> > 1. Restore KImageIO and the .kimgio files, which has the neccessary
> > information, and clean up KImageIO
> > 2. Add the Qt image format name to the mime database, e.g. with
> > X-KDE-imageformat=jpg. Then new convenience function(s) can be added to
> > kmimetype.h, e.g allImageFormats() or sth. else.
> >
> > Option 1 is simplest, but .kimgio files store nearly the same data as the
> > mime
> > files, except the image format name.
> >
> > Any opinions? (or other ideas?)
> >
> > Bye,
> > György
> >
> > ____________________________________________________________________
> > Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a
> > FreeStarttol
> > Probald ki most! http://www.freestart.hu
____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol
Probald ki most! http://www.freestart.hu
[Attachment #3 (text/html)]
<html><head><meta name="qrichtext" content="1" /></head><body \
style="font-size:12pt;font-family:Arial"> <p>I think only If you give him a QIODevice \
which read from an URI.</p> <p></p>
<p>------------------------------------</p>
<p>QImageReader r;</p>
<p>r.setFileName("http://www.index.hu/alma.jpg");</p>
<p>qDebug() << r.canRead();</p>
<p></p>
<p>false</p>
<p></p>
<p>r.setFileName("file:///home/gyuri/kepek/becs/dsc03906.jpg");</p>
<p>qDebug() << r.canRead();</p>
<p></p>
<p>false</p>
<p></p>
<p>r.setFileName("/home/gyuri/kepek/becs/dsc03906.jpg");</p>
<p>qDebug() << r.canRead();</p>
<p></p>
<p>true</p>
<p>------------------------------------------------------------------------------------</p>
<p></p>
<p>I invented the following solution:</p>
<p>Add a new service type, called QImageIOPlugins</p>
<p>Create a .desktop file for each image format, with two custom parameters:</p>
<p>X-KDE-ImageFormat</p>
<p>X-KDE-MimeType</p>
<p></p>
<p>These .desktop files contains the mapping between mime-types and image format \
names. Everything else is in the mime-database already.</p> <p></p>
<p>Resurrected a very small KImageIO class, which contains only the essential \
functions for the Imageformat-mimetype conversion:</p> <p></p>
<p> static QString pattern(Mode mode = Reading);</p>
<p> static QStringList typeForMime(const QString& mimeType);</p>
<p> static QStringList mimeTypes( Mode mode = Writing );</p>
<p> static bool isSupported( const QString& _mimeType, Mode _mode = Writing \
);</p> <p> ( and maybe QString KImageIO::suffix(const QString& type) )</p>
<p></p>
<p>It's more lightweight than .kimgio files and the old KImageIO class.</p>
<p></p>
<p>P.S: as I see, there are commits which uses only the image format list from \
QImageReader|Writer, is it enough? Then I dump out my mini-KImageIO.</p> <p></p>
<p>e.g:</p>
<p>http://websvn.kde.org/trunk/KDE/kdelibs/kio/kfile/kfiledialog.cpp?rev=497896&r1=497724&r2=497896</p>
<p></p>
<p></p>
<p>2006. január 14. 19.43 dátummal Gregory Hayes ezt írta:</p>
<p>> I vote for option 2. I think QImageReader and friends provide us with \
most</p> <p>> of what we need. Do you know if the QimageReader::canRead can handle \
URIs?</p> <p>></p>
<p>> Greg</p>
<p>> -</p>
<p>></p>
<p>> On 1/14/06, Szombathelyi György <gyurco@freemail.hu> wrote:</p>
<p>> > Hi!</p>
<p>> ></p>
<p>> > I removed kimageio from kdelibs trunk yesterday, now I've got a \
problem</p> <p>> > of converting some uses in kdebase.</p>
<p>> > Especially KImageIO::pattern() and KImageIO::mimeTypes() are \
problematic,</p> <p>> > since there's no such concept in QImageReader and \
QImageWriter. Qt only</p> <p>> > knows</p>
<p>> > the "format", which can be e.g "jpg", \
"png", etc...</p> <p>> > Now I see 2 options:</p>
<p>> > 1. Restore KImageIO and the .kimgio files, which has the neccessary</p>
<p>> > information, and clean up KImageIO</p>
<p>> > 2. Add the Qt image format name to the mime database, e.g. with</p>
<p>> > X-KDE-imageformat=jpg. Then new convenience function(s) can be added \
to</p> <p>> > kmimetype.h, e.g allImageFormats() or sth. else.</p>
<p>> ></p>
<p>> > Option 1 is simplest, but .kimgio files store nearly the same data as \
the</p> <p>> > mime</p>
<p>> > files, except the image format name.</p>
<p>> ></p>
<p>> > Any opinions? (or other ideas?)</p>
<p>> ></p>
<p>> > Bye,</p>
<p>> > György</p>
<p>> ></p>
<p>> > ____________________________________________________________________</p>
<p>> > Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes \
a</p> <p>> > FreeStarttol</p>
<p>> > Probald ki most! http://www.freestart.hu</p>
<p></p>
<BR>
____________________________________________________________________<br>
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a \
FreeStarttol<br> Probald ki most! <a \
href="http://www.freestart.hu">http://www.freestart.hu</a><br> <BR></body></html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic