KConfig XT: kconfig_compiler & friends
Benjamin Meyer
ben at meyerhome.net
Thu Oct 2 01:34:14 BST 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Wednesday 01 October 2003 12:17 pm, Waldo Bastian wrote:
> > Is this stuff right to go in to 3.2?
>
> Yes, because otherwise we are stuck with KAutoConfig which is design-wise
> flawed.
At first I thought you just worded it badly and then I started to look at all
of the changes, but now I think it was intentional and i'll take that comment
as a slap in the face. The problem* which KAutoConfig solves only 1/2 of
(on the configure dialog side), the other half being a single location for
default values which kconfig_compiler attempts to resolve. This is a good
idea for applications with many options, but for most small
utilities/games/apps with very few options I see little advantage. One of
the apps you converted was kjots which only has five or so options. Adding
the files and thus the whole new class seems like drastic overkill and bloats
up the app, negating all of the savings that moving to use KAutoConfigDialog
added in the first place. Now I know that you needed a small app to be your
guinee pig while getting the compiler up and running, but I am just pointing
out that in the future only the apps with a large number of options really
take advantage the your additions
On that topic does anyone else thing that having a compiler, config files,
more files in kdelibs _just_ so developers don't have to type the default
value of a setting in two places seem silly to anyone else? For applications
with a very large number of settings putting them all of the default values
in one file is a very nice thing to have, but I see no other benefit.
Your change to KAutoConfigDialog effectively just doubled the code adding if
statements in the functions to choose the kautoconfig pointer or the
KConfigDialog manager. This effectively bypassed all of KAutoConfig (which
KAutoConfigDialog was written if the name didn't give it away...). The
addition of KConfigDialogManager which is pretty much a carbon copy of
kautoconfig with a few changes to handle kconfigskeleton is a gross bloat of
kdelibs and confuses the hell out of developers who have yet another choice
with it. Also KConfigDialogManager shouldn't have the word Dialog in it
sense it has nothing to do with Dialogs and isn't even in kdeui! Wouldn't it
have made more sense it simply modify KAutoConfig to add the additional
functionality? If they are both kept in cvs every fix to KAutoConfig or
KConfigDialogManager will probably have to ported to the other class. Either
KConfigDialogManager or KAutoConfig should be removed asap or they should be
merged.
Some minor points: KConfigDialogManager does not set the widgets for settings
that are set immutibiliy disabled. It doesn't track the changes of widgets
allowing for the dynamic Default and Apply button enabling/disabling.
There is quite a lot of changes and additions with all of this (which you
yourself state is probably unstable). The API needs to be polished which
can't be done in the time for 3.2. If there is a flaw in the design in four
months there is nothing that you can do about it sense it wont be able to
change while keeping binary compatibility. KAutoConfig/KAutoConfigDialog has
been in kdelibs sense April and is very polished (heck it even has a
tutorial!) to the point that most of the commits are just doc enhancments.
I push to have intigrate post 3.2 when it can be done much more cleanly.
- -Benjamin Meyer
* The problem being that app settings reading/writing/default etc is done in
many locations often duplicating work.
- --
Public Key: http://www.csh.rit.edu/~benjamin/public_key.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE/e3KK1rZ3LTw38vIRApVCAKC8Izbf49DoW138DFaV/ATkUJ6FWgCfe1h/
yPIv3f8vCKWRxBgrSbgnCyw=
=LXl5
-----END PGP SIGNATURE-----
More information about the kde-core-devel
mailing list