Proposal: dlopening the file dialog

Lubos Lunak l.lunak at suse.cz
Mon Apr 2 13:43:31 BST 2007


On Monday 02 of April 2007, David Faure wrote:
> On Friday 30 March 2007, Lubos Lunak wrote:
> > On čt 29. března 2007, David Faure wrote:
> > > Hmm, only if there are no pointers in the interface.
> > > If the KAbstractFileWidget interface says:
> > >     virtual KToolBar *toolBar() const;
> > >     virtual KComboBox *locationEdit() const;
> > >     virtual KComboBox *filterWidget() const;
> > > then it can't be implemented using IPC....
> >
> >  Of course they can, you just need to try harder :).
>
> There's even a setCustomWidget(QWidget*).

 Er, that one wouldn't work of course. I wonder how often and if at all this 
is one used though. The rest should be still doable.

> (But of course we could remove that argument from the kfiledialog
> constructor and require using libkfile for that feature)
>
> >  The same applies to your 'extra daemon' and probably 'bad integration'
> > from your other mail (not sure about the second one, what did you have in
> > mind specifically?).
>
> Well you know, process A asks process B to open a modal dialog.
> Process A uses a nested event loop around the dbus call so that the
> application repaints but blocks user interaction, no problem. But how do
> you ensure that clicking in A's windows brings up B's modal dialog, like
> modal dialogs usually do? I'm sure you have some X-level hacks to do that,

 That's not hacks, you just make the dialog say it belongs together with A's 
windows. Also, B doesn't need to actually recursively enter the event loop, 
so it can handle even more of them at the same time.

> but I'm also quite sure they are not portable ;-)

 I've heard Windows and MacOS X already have their system dialogs :), so this 
apparently doesn't need to apply to them. Anyway, the interface looks good 
enough, in case somebody actually starts doing something about that for real.

-- 
Lubos Lunak
KDE developer
--------------------------------------------------------------
SUSE LINUX, s.r.o.   e-mail: l.lunak at suse.cz , l.lunak at kde.org
Lihovarska 1060/12   tel: +420 284 028 972
190 00 Prague 9      fax: +420 284 028 951
Czech Republic       http//www.suse.cz




More information about the kde-core-devel mailing list