The enums are always saved as int on the config, this is not a bug, but per
design.


On Sun, 21 Mar 2021 at 11:37 Albert Astals Cid <aa...@kde.org> wrote:

> El dissabte, 20 de març de 2021, a les 17:02:19 CET, David Hurka va
> escriure:
> > Hi all,
> >
> > I am working on
> https://invent.kde.org/graphics/okular/-/merge_requests/366,
> > where I am trying to get two config entries that use the same enum.
> >
> > The entry EnumColorMode defines an enum with values like “Normal” = 0
> and
> > “InvertLuma” = 6.
> >
> > I can reuse the enum in these two ways:
> >
> > 1. Write <choices name="Okular::SettingsCore::EnumRenderMode" />.
> > This is documented as “It is also possible to [use] enums external to
> the
> > generated class”, just that the enum is not actually external.
> >
> > 2. Write <choices name="EnumRenderMode" /> in all entries, and the first
> time
> > define it as usual.
> > This creates a global enum and then treats it as external enum.
> >
> > Both ways work, but don’t use the KConfigSkeleton::ItemEnum as I defined
> it.
> > This means, instead of “InvertLuma”, it will write “6” to the config
> file.
> >
> > Is there a proper way to reuse the enum of a previous config entry?
>
> Looking at KConfigXmlParser::readChoicesFromEntry and
> KConfigXmlParser::readGroupElements I don't think it's currently possible
> to reuse the choices from one entry to the other.
>
> Cheers,
>   Albert
>
> >
> > Cheers, David
> >
> >
> >
>
>
>
>
>

Reply via email to