KIO event notification [was: Re: are GUI elements like Dialogs in a kioslave possible insomeway?]

Josef Weidendorfer Josef.Weidendorfer at
Wed Jul 30 09:47:10 BST 2003

[Crossposting to kde-core-devel, as this is a kdelibs issue]

On Tuesday 29 July 2003 17:58, aegir at wrote:
> > The target usage of a DB slave sounds like browsing databases.
> > Editing databases would IMHO be easier with a database application.
> YEs, browsing, but also editing datas with all standard KDE apps.
> For example, just create a table "kword_docs" in your RDBMS with a trigger
> on update, and you have a shared docs repository with a versionning
> system, and history of modifications.

That's unfortunately not possible, currently.
A KIOSlave can't pass any trigger/notification/change events with the KIOSlave 
interface of current kdelibs to the using app.
This KIOSlave would have to block a the KIO job to allow for these events to 
go through at any later time. And while the job is running, the slave can't 
be used. You would need a new slave for every open directory.
The other strange thing is that the wheel would keep rotating. On pressing 
Stop, the KIOSlave is killed, so no further events can be signalled.

If you look at konqueror, file:// URLs *have* autonotification (e.g. if a 
directory is shown and a file is deleted, this is updated). But that's only 
because file: URLs are handled specially by using KDirWatch in the 
application (layered on top of KIOSlaves), not in the file-IOSlave. The 
file-IOSlave simply *can't* notify such things. And that's ugly, in fact.

I'm all for changing this (since KDE 2.x ;-), but that's needs new design 
ideas: The only thing needed is that the "listDir" job is potentially 
never-ending, thus allowing for change notifications. To not get too many 
IOSlave instances, one IOSlave should be able to run multiple "listDir" jobs 
at the same time (but only these, as you don't want to have signalling killed 
when stopping another job). This needs changes in the IOSlave scheduler.

I even assume this could be done in a binary compatible way, but perhaps I'm 
missing something?


> BTW, it provides C/S capabilities to all KDE apps.
> > The slave will ask for the password and then present a listing to select
> > a directory.
> >
> > Just guessing your concept, couldn't a user start with
> > rdbms://login@host:1621/
> >
> > and get a dialog for password and then a list of supported
> > databasetypes(?) as directories?
> Yes, it can be done. But there is another problem with these
> directories/subdir/subdir etc. It's very confusing. Quickly you're lost.
> And the filesystem type cannot return some UDS_ICON informations, so that
> all directories have the same icon (otherwise I could put an icon for
> Databases, one for tables etc. it's more user-friendly).
> Well, this is another issue.
> >> Visit to
> >> unsubscribe <<

More information about the kde-core-devel mailing list