core/ui separation

David Faure faure at
Thu May 18 12:09:55 BST 2006

On Thursday 18 May 2006 11:55, Luciano Montanaro wrote:
> On Thursday 18 May 2006 10:43, Thiago Macieira wrote:
> > Matthias Kretz wrote:
> > >Hi,
> > >
> > >as I still maintain a separation of non-GUI and GUI dependant code in
> > > Phonon, I wanted to make sure that this is a sensible thing to do...
> > > because even now the non-GUI code is not GUI free as there are
> > > KMessageBox uses when errors occur. And of course it's GUI dependent as
> > > it uses KIO.
> > >
> > >Will we have a kdecore that will not depend on QtGui? Is there a chance
> > > of being able to use KIO without a dependency on QtGui? If not, I'll
> > > drop the Phonon core/ui separation now and make some of that code a
> > > little easier...
> >
> > We want to have libkdecore not depend on QtGui. Some of the KIO non-GUI
> > related things are being moved up to libkdecore (think KJob). But libkio
> > itself will depend on libkdeui, afaik.
> Does it really have to? All the UI an IOslave needs is a way to notify 
> errors, and mabe a way to ask for a username/password. It could do this by 
> either delegating the application to display/ask the needed information, or 
> ask a desktop service through IPC. What else I'm forgetting?

- progress information
- overwrite/rename/skip dialog boxes

So the full list is

- progress information; already delegated to a desktop service, kio_uiserver
- password dialog; already delegated to a desktop service, kpasswdserver (kded module)
- overwrite/rename/skip dialog boxes; used to be in kio_uiserver and then I moved them back to kio,
  since modal dialogs in kio_uiserver were a bad idea, apps using uiserver would be blocked
  until the modal dialog is closed. [observer.cpp -r139967 for reference.]
  Maybe the fix is simply to let CopyJob be in kio or kdeui. It's the more low-level jobs
  that are non-gui.
- errors and warnings. I like the idea of an ErrorHandler class that would be derived from
in kdeui (maybe as a singleton instanciated by kapplication, which will be in kdeui,
and which can be instanciated manually otherwise).

David Faure, faure at, sponsored by Trolltech to work on KDE,
Konqueror (, and KOffice (

More information about the kde-core-devel mailing list