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 > > > > > > > > > > >