KConfig vs. QSettings (was Re: Porting problems with KMainWindow::readProperties())

Thiago Macieira thiago at kde.org
Thu Mar 1 16:02:49 GMT 2007


Paolo Capriotti wrote:
>Yes, David, that's exactly the reason I've started with the Settings
>thing in the first place.

You're missing the point:

>- Avoids touching KConfig, which as you said, is used by a lot of
>existing code, so we'd better not break it.

We're touching KConfig anyways. This is the best and only time in +/- 5 
years to do it. So, help us get KConfig right before KDE 4.0 is released.

>- Improves the syntax. This cannot be done so easily inside KConfig.
>Well... the fact that the syntax is better is a matter of taste, but
>it is surely more compact and doesn't have function names like
>readFontEntry which in my opinion are a bit against the c++ way of
>handling types.

We're getting rid of some of those functions. They are being replaced with 
QVariant equivalents. Just like QSettings. I'm not sure we are getting 
rid of them all.

>- Adds arrays and maps. I find these very useful. Arrays are similar
>to the corresponding feature of QSettings. Maps are a new thing :)

And why not add them to KConfig?

>Anyway, I need nested groups and the other extra features for my
>project (that was the motivation for rolling my own config class), but
>I would also like to conform to the KDE way of doing things.

The KDE way of doing things is KConfig. Since you're writing a new class, 
you're not using the KDE way of doing things.

Are you going to implement cascading support too? How about immutability 
flags?

>I understand your perplexity in replacing KConfig, but I invite you to
>give a try to my library (http://kboard.sourceforge.net/settings) and
>help me find a way to integrate its features in KConfig, if what I've
>proposed doesn't seem feasible.

This is what we're asking of you: help us integrate its features into 
KConfig.

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20070301/04eaf66a/attachment.sig>


More information about the kde-core-devel mailing list