runpreferences & kconfig question

Vladimir Prus ghost at cs.msu.su
Sun Dec 7 18:50:22 UTC 2008


On Sunday 07 December 2008 20:27:23 Andreas Pakulat wrote:
> On 07.12.08 16:33:08, Vladimir Prus wrote:
> > I am looking at
> > 
> > 	kdevplatform/shell/settings/runpreferences/runconfig.h
> > 
> > and it seems like that file is the output from kconfig_compiler,
> > which is then further edited manually. 
> 
> That is generally ok, we don't need to use .kcfg if it doesn't fit our
> needs. If a hand-crafted KConfigSkeleton usage is better thats fine.
>  
> > 1. Am I right that the only point of manual editing is to
> > add a second constructor, that takes 'groupPrefix', and futher
> > does this:
> 
> Yes.
> 
> > 2. I don't see runconfig.kcfg anywhere -- did you commit it?
> 
> Well, there's not much point to have it, if its not used for generating the
> code.

Then, at least the text in runconfig.h saying it's generated by kconfig_compiler
has to be removed.

> > 3. Did you have any specific plan how to clean this up? I'm thinking
> > that we can create LaunchConfigSkeleton class, derived from
> > ProjectConfigSkeleton and specify that inside runconfig.kcfg. Any reason
> > that would not work?
> 
> I don't see why the launch config would need to be project-specific. Sure
> at some point we want to have the ability of moving settings into the
> project, 

Yes. Or rather, storing launch configs in project so that they are visible
to other developers. 

> but generally run-settings should be global - IMHO (think of 
> sharing executables across projects)

I was thinking of having hierarchy of launch configs, where you have 'Global'
item on the top, and can edit some properties (like default name of debugger),
then you have global launch configs, and projects as children of that
item. Then you can have project launch configs. Imagine you have a large project
with many targets and the project is for ARM GNU/Linux. It would be nice to specify
the 'arm-none-linux-gnueabi-gdb' in a single place -- not for each binary in that
project.

> 
> > Also, on related topic -- is KComponentData instances passed to KCModule's
> > constructor used for anything at all or can be ignored?
> 
> Its used (IIRC) for the settings-changed-notification via
> KSettings::Dispatcher (though I've heard that might not work properly right
> now). Also its used to define the i18n catalog to lookup translated strings
> (which should be "kdevplatform" for anything in shell and subdirs). I don't
> think the authors or version info is visible in the GUI somewhere.

Ok, thanks.

- Volodya




More information about the KDevelop-devel mailing list