Summary:
Instead of having an odd fake of it. Will help some required
refactorings and already showed some issues, fixed by this patch,
namely:
- don't use string(regex replace) to extract a string from another
string. in case it doesn't match it will offer the whole content which
is never what we want.
- messages(ERROR), the correct parameter is FATAL_ERROR, cmake
understands "ERROR" as mere output string
- turn the macro into a function, otherwise 2 calls in the same
subdirectory are dangerous.
CCBUG: 371562
Test Plan: tests still pass, projects that use the macro still build
Reviewers: #frameworks, dfaure
Reviewed By: dfaure
Subscribers: dfaure
Differential Revision: https://phabricator.kde.org/D3178
In applications translations can be looked up in the globally set
translation domain, but in libraries it is necessary to link every
i18n call to the library's own translation domain. A new code
generation option TranslationDomain= is added to enable this.
It has effect only if TranslationSystem=kde is set.
Added unit tests to check generated translation calls.
CHANGELOG: New code generation option TranslationDomain=, for use with TranslationSystem=kde; normally needed in libraries.
REVIEW: 123872
It adds a configuration setting that makes it possible to generate
Q_PROPERTY instances out of each variable exposed by the configuration
class.
Especially useful when it comes to exposing these classes to QtQuick
interfaces.
REVIEW: 123367
CHANGELOG: Generate QML-proof classes using the kconfigcompiler
The MOC files for generated output from kconfig_compiler are not automatically
generated. Re-add the code that does this, fixing the build.
I'm assuming this isn't an issue on Windows, as I don't have any machines to
test on. Please let me know if this isn't the case.
CC: arichardson.kde@gmail.com
The extra load of values in KCoreConfigSkeleton is not documented anywhere
that it happens, and in normal circumstances re-loading new values isn't
expecterd during a save operation.
Update various mentions of readConfig/writeConfig to read/save.
Update documentation to match the new names of functions.
Rename writeConfig() to save() and usrWriteConfig() to usrSave()
Rename functions to match the new naming conventions. Also create old deprecated
instances of both functions to ensure that old code continues to operate
correctly. Also make save() non-virtual, for the same reasons read() is
now non-virtual.
Rename usrReadConfig to usrRead, to be consistent with the new name for readConfig.
Rename usrReadConfig to usrRead, and mark the former as deprecated. To maintain
compatibility, usrRead still calls usrReadConfig in its default implementation.
usrReadConfig remains empty.
REVIEW: 117010
Just because the executable has the "_kf5" suffix, that does not mean
the target should have it. This is ugly API, and will be unnecessary
porting effort for KF6.
REVIEW: 116995
Call it from generated singletons, since the constructor creates
a KConfig from a filename, which already loads from disk.
This removes the need for using DelayedParsing.
REVIEW: 116845
Previously the classes generated by kconfig_compiler would only emit
the defined signals when using the setters provided by that class.
However, when using e.g. KConfigDialog which uses
KConfigSkeletonItem::setProperty() to change the items no signal was
generated.
This patch fixes this by using a wrapper KConfigSkeletonItem
subclass that calls a private itemChanged() method in the generated
class which updates the set of changed properties. As soon as the item
is saved (usrWriteConfig() in the generated class is called) the signal
will be emitted
REVIEW: 115635
REVIEW: 115634
Previously the output of diff -u was written to a file when the
generated file did not match the expectations. Having the output printed
to stdout makes it easier to see the exact error without having to know
that a diff exists in a certain file somewhere in the build directory.
REVIEW: 115832