enum's & KConfigBase

Frans Englich frans.englich at telia.com
Tue Jan 17 19:32:14 GMT 2006


On Tuesday 17 January 2006 16:17, Hans Meine wrote:
> On Monday 16 January 2006 23:58, Thomas Braxton wrote:
> > On Monday 16 January 2006 16:41, Dirk Mueller wrote:
> > > On Monday 16 January 2006 19:39, Thomas Braxton wrote:
> > > > What do you guys think of this macro?
> > >
> > > I'm not so sure if its a good idea to convert enums to integers and
> > > back. enum's tend to be reordered within applications, which break
> > > binary compatibility (not a problem usually for inner-apps usage) but
> > > then also breaks configuration reading. This is a major problem. KDE
> > > applications break already way too often their own configuration (I
> > > cannot remember how often already I had to redo the very same settings
> > > in e.g. konversation because the way the configuration key was stored
> > > was changed *yet another* time). We shouldn't make it too easy to keep
> > > that nasty habit.
> >
> > I could change it to something like Olivier Goffart suggested, but not
> > sure about Q_ENUM usage yet, have to look at it.  Thinking about it, this
> > would probably be best, since as you say enums get reordered. Converting
> > enums to integers is the way most code does it now. I'll look at this
> > tonight, and get back to you guys later.
>
> FWIW, I want to point out the enum<->string conversion macros which Neil
> Williams posted to pilot-link-devel in April/May of 2005, including this
> link to a related thread:
>
> https://lists.gnucash.org/pipermail/gnucash-devel/2005-March/012849.html
>
> These require a macro-ized marking up of enums, and would then allow to
> store its values as string.
>
> I guess at least *someone* will find this helpful for something..

But adding Doxygen becomes tricky at best with that solution.

But agreed, who doesn't want enum/string conversion in a intuitive way. For 
example I would love to see the end of this file less retarded^H^H more 
elegant:

http://websvn.kde.org/branches/work/kdom/xpath/environment/ReportContext.cpp?rev=493136&view=markup


Cheers,

		Frans




More information about the kde-core-devel mailing list