Redefining kdelibs and kdebase
Simon Hausmann
hausmann at kde.org
Sun Aug 28 20:57:11 BST 2005
On Sunday 28 August 2005 10:43, Joseph Wenninger wrote:
> I'm not that sure that restricting apps to use a standard dialog is the way
> to go, which would be the result if you have an out of process generic file
> or print dialog. There are cases where you need to have more control over
> the widgets even in a standard dialog. Eg. it would be very bad if kate
> runs in in GNOME and you can't choose the encoding of the file to open or
> load. In other applications (ok, it kate too) there is also a need for
> additional settings in the print dialog, it would be very hard to support
> that with a gnome or windows print dialog. Even a lot of native windows
> applications (think about graphic applications) don't use the default
> windows printing dialog but there own specialised one.
>
> The point is, why do we have to limit KDE with generic support for other
> deskops ? Who is maintaining the wrappers around gtk, windows, cocoa ? Do
> we have to do that ourselves ?
>
> Another thing to consider, face it our main platform is X11 and/or
> embedded. That's about 80% or even more. I don't think we should limit KDE
> to comfort 20% even less. We should try to be consistent within our DESKTOP
> ENVIRONMENT, not consistent with every broken GUI toolkit. I don't say we
> should make it extremly hard for others who really want to use native
> windows or macos ports, but I do think, we should not restrict ourselves
> because of such ports.
> Even if we would use windows dialogs or gtk dialogs or ....., we still
> would not fit in because of the different HIGs.
>
> KDE is a Desktop Environment, not a simple Qt extension. If Trolltech
> really wants to use KDE dialogs they could write their own layer and use
> the static methods we already have for their purposes. The only really
> hindering thing is KApplication, which should be solvable by moving most
> things out of their into a singleton.
Except that Qt would then link against kdelibs, which depends on Qt, which
depends on kdelibs, which dep...
Qt could try to dlopen kde libraries with a minimum of symbol resolval,
ideally using a C interface, to avoid crashes due to different C++ ABIs or
different libstdc++ versions. And when you end up at a C interface where you
can't even pass through widgets then the question is: What is it worth? At
that level a remote invocation offers a whole lot more safety. Safety that
you definitely want if you consider that a file dialog essentially is a
complete file manager, dragging in a lot of dependencies, connecting to a lot
of services. All that just for a QString path = FileDialog::getFileOpen(); ?
> If we restrict ourselves to a bare minimum of features, we would remove all
> our distinguishing features. So what's the reason to install KDE at all
> (for a user or distribution) ?
How is a extra custom widget in a file dialog a distinguishing feature?
In fact it's the other way around: By defining interfaces for file/print
dialogs for example using dbus you get /more/ applications, applications
beyond KDE using /our/ wonderful file dialog, our kdeprint system.
This is not about restricting our apps, it's about opening up our platform to
embrace more applications.
Simon
More information about the kde-core-devel
mailing list