KDirModelV2, KDirListerV2 and UDSEntryV2 suggestions

Mark markg85 at gmail.com
Mon Jan 21 20:09:59 UTC 2013


R E P L Y  to all ^_- You keep forgetting it, don't you?

On Mon, Jan 21, 2013 at 8:39 PM, Aaron J. Seigo <aseigo at kde.org> wrote:
> On Monday, January 21, 2013 20:18:03 you wrote:
>> I'm guessing Qt5 won't be ready for full fledged desktop application -
>
> maybe you wouldn't say that if you'd seen the QML Desktop Components demo
> applications :)
>
> jump to around minute 57 of http://www.youtube.com/watch?v=Y1pqL5bXe0A

Yes, that is very impressive! However, it still doesn't do:
- RMB context menu
- App wide shortcuts
- Clipboard integration..

Those points - at the very least - are vital for a desktop application.
Note: i personally don't give much when they implement it since i
"discovered" neat ways around it called wrappers so i simply make my
own implementations. :)

>
> native menus are currently being worked on, and this is targetted for
> inclusion in Qt 5.1
>
>> Aaron, do you have any news regarding that DirModel of yours and Marco
>> that is threaded?
>
> oh, we don't have such a thing right now. we need to write one. what we
> threaded was the nepomuk model, which is used in Active for most (though not
> all) file listings.

Oke, then please either don't write it or continue where i'm working
on it (http://gitorious.org/porpoise/master/blobs/master/dirmodel.cpp
and http://gitorious.org/porpoise/master/blobs/master/dirmodel.h). I
keep it fairly updated. At the very least notify me when you do start
writing something like it since i'd hate to do duplicate work (again).
>
> it's one of the reasons i'm watching this thread with such interest as an
> improved KDirModel that doesn't disturb the gui thread even while loading
> would be very nice.

Right, then i do have something "mildly" interesting for you already.
Here come the links again :)
In my DirModel i took a good close look at the current DisplayRole
stuff. It was a blocking call that could potentially slow the
interface down. Not anymore! I added a new role called: "MimeOrThumb"
which will display either a mime image or a thumbnail image:
http://gitorious.org/porpoise/master/blobs/master/dirmodel.cpp#line204
That alone won't make it non blocking. I needed the power of the
Image{} element since that can be set to handle images asynchronous
http://qt-project.org/doc/qt-4.8/qml-image.html#asynchronous-prop thus
non blocking. In order to get that done, i added 2 image handlers,
"image://mime/<icon>" and "image://thumb/<full pretty url> which you
can find here: http://gitorious.org/porpoise/master/blobs/master/mimeimageprovider.h
(mime) and here
http://gitorious.org/porpoise/master/blobs/master/thumbimageprovider.h
(thumb). On top of that i added a KImageCache (or actually modified
where it's being called) since i want to have a single point for the
KImageCache i made it available through my static class:
http://gitorious.org/porpoise/master/blobs/master/util.h#line35. That
part won't be usable in a generic KDirModel with threading. Next up is
the most difficult part: cleaning up KDirModel without breaking it..

I know the "MimeOrThumb" stuff isn't done yet so don't bother
commenting on the fact that you need to run it twice before you will
actually see the thumbnails. I don't have a nice way to generate the
screenshots and update the Image element though i'm working on fixing
that.
>
> --
> Aaron J. Seigo
>
> _______________________________________________
> Kde-frameworks-devel mailing list
> Kde-frameworks-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-frameworks-devel
>


More information about the Kde-frameworks-devel mailing list