Age | Commit message (Collapse) | Author |
|
Summary: We were not adjusting the property name to the getter letter-casing.
Test Plan: See added test, also fixes the issue that made me realize this issue.
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: ngraham, aacid, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24010
|
|
Reviewers: apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24398
|
|
Summary: suggested by clang-tidy
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24312
|
|
Summary:
In kconf_update, the ctime usage used to be about metadata change time
(buff.st_ctime, before it got ported to the misnamed created()).
I ported it to birthTime, because I think
date of birth is a more useful way to identify a file than
date of permission change which doesn't really matter to us.
But in practice, I can't help but wonder if mtime alone wouldn't be
enough.
For the QStringLiteral("%%1").arg(i) bit, I tested it in tst_qstring,
the first % is left untouched.
Test Plan: make && ctest
Reviewers: mdawson, arichardson, vkrause
Reviewed By: vkrause
Subscribers: pino, arojas, mlaurent, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23815
|
|
GIT_SILENT
|
|
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: davidedmundson, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23340
|
|
Summary: Disable logs unless the logging category kf5.kconfig.core is enabled
Test Plan: ctest
Reviewers: #frameworks, apol, cgiboudeaux
Reviewed By: cgiboudeaux
Subscribers: cgiboudeaux, mikeroyal, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22061
|
|
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
|
|
Summary:
It is very unclear at this point what a valid use case for this feature
would possibly be. The old documentation only mentions $(hostname) as
an example, which can be done with $HOSTNAME instead.
Note that $(...) is still supported in Exec lines of desktop files,
this does not require [$e] anyway (and actually works better without it,
otherwise the $ signs need to be doubled to obey kconfig $e escaping rules...).
Test Plan:
ctest passes; various testcases with $(...) in desktop files,
directory files, and config files, no longer execute commands.
Reviewers: mdawson, aacid, broulik, davidedmundson, kossebau, apol, sitter, security-team
Reviewed By: mdawson, davidedmundson
Subscribers: ZaWertun, rikmills, fvogt, ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22979
|
|
|
|
Summary: qVariantFromValue is obsolete (https://doc.qt.io/qt-5/qvariant-obsolete.html#qVariantFromValue-1) and causes build failure in KActivities and KEmoticons with current Qt dev
Test Plan: KActivities and KEmoticons build again with current Qt dev
Reviewers: #frameworks, dfaure, apol
Reviewed By: apol
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21107
|
|
Lets you specify Notifiers= in .kcfg for config entries that should be written with Notify flag,
i.e. announce the change to KConfigWatcher
Differential Revision: https://phabricator.kde.org/D20196
|
|
This enables KConfigWatcher to detect those changes, too.
Differential Revision: https://phabricator.kde.org/D20039
|
|
Summary:
the wiki page says the readme is duplicated into the wiki.
so, what we end up with is either
- they end up out of sync
- someone gets real angry because the wiki needs format markup while the
readme must not have markup
- someone doesn't get angry and simply copies either markup or nomarkup to
the respectively unsuitable target
it's an unsustainable situation... so instead let's point the readme to
the wiki and consider that the place where the documentation is maintained
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19779
|
|
Summary:
When using kconfig_compiler generated sources in projects where the used
file extensions for C++ files are not ".h" and/or ".cpp", the include for
the generated header looks a bit alien to the project, as well as the
generated source file if one looks closer at it.
This code adds new optional flags HeaderExtension & SourceExtension which
can be used to control the file extensions used for the generated files.
Test Plan:
All unit tests and the new test_fileextensions pass, existing projects using
kcfg without & with the new flags build fine.
Reviewers: #frameworks, apol
Reviewed By: apol
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19565
|
|
Summary:
the previous logging tech got kind of defunct in 2014 (to the point where
it was basically qCDebug). seeing as no one really complained it seems
reasonable to just move to qCDebug instead and make use of category filters
and other qdebug goodness (such as system logging facilities for the
various platforms)
- new logging category kf5.kconfig.update; at info level by default (i.e.
unless otherwise configured kconf_update is now silent)
- --debug cmdline option now also attempts to force-enable the debug mode
on that category (and debugs that attempt in of itself, so we don't get
confused by categories magically getting enabled).
- all log() calls are now qCDebug calls
- all logFileErorr() calls (which was context-sensitive to the .upd file
parsing) have been changed to qCDebugFile
- qCDebugFile is a new *macro* wrapping around qCDebug to give it file
context
- everything is now qCDebug instead of qDebug
- arguments updated to drop excess quoting and spaces to reduce "noise"
https://markmail.org/thread/ofaeqcabguxyohyb
Test Plan: updater still works and debugs when debug is enabled
Reviewers: apol, aacid, #frameworks
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19508
|
|
Summary: According to clazy since KConfigIniBackend::BufferFragment is very small it's faster to just copy it
Reviewers: apol
Reviewed By: apol
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19666
|
|
Summary: compile without foreach
Test Plan: Unittest Ok as previously
Reviewers: dfaure
Reviewed By: dfaure
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19326
|
|
Summary:
the previous description of IncludeGlobals was a bit lackluster. the new
description should make it more obvious what the various flag permutations
achieve.
BUG: 306923
Reviewers: kde-frameworks-devel, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19388
|
|
Summary:
In commit 8579ec54 (D13034), the Notify value got introduced in
enum WriteConfigFlag in KConfigBase. When adding this new value,
the value and its documentation (Doxygen format, /**<) got placed
wrongly.
After commit 8579ec54, the documentation for Notify "documents"
the previously existing value Localized, whereas the documentation
for Localized documents Notify.
Simply exchanging the order of the documentation comments fixes
this issue.
Reviewers: broulik, dfaure, davidedmundson
Reviewed By: davidedmundson
Subscribers: kde-frameworks-devel
Tags: documentation, frameworks
Differential Revision: https://phabricator.kde.org/D19320
|
|
Summary:
commit 6a18528 introduced escaping of bytes >= 127 to ensure that
KConfig files are valid UTF8.
The simplistic approach with a cutoff results in many escaped bytes
where it is not required. Especially non-western configuration files
would have many escapes.
This commit fixes that by only escaping bytes that are not valid UTF8.
BUG: 403557
FIXED-IN: 5.56
Test Plan: ninja && ninja test
Reviewers: dfaure, arichardson, apol, #frameworks, thiago
Subscribers: rapiteanu, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19107
|
|
Summary:
When /home is a symlink, for instance (as is often the case on FreeBSD),
group deletion would fail because KConfig was comparing non-canonical
paths with canonical-paths:
QDEBUG : KConfigTest::testDelete() Comparing "/home/adridg/.qttest/config/
kconfigtest_subdir/kconfigtest" and "/usr/home/adridg/.qttest/config/
kconfigtest_subdir/kconfigtest"
Test Plan:
mkdir /tmp/derp; ln -s /tmp/derp /tmp/drop
HOME=/tmp/derp bin/kconfigtest testDelete # Success
HOME=/tmp/drop bin/kconfigtest testDelete # Fail
Reviewers: adridg, arichardson, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14927
|
|
GIT_SILENT
|
|
Summary:
of the generated class that has a pointer and raw copy would be bad.
Those generated classes are internal and nobody would probably have this, but being safe never hurts
Reviewers: vkrause
Reviewed By: vkrause
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18136
|
|
Summary:
If someone was using them, it'd crash since it was raw-copying the d pointer
so you would end up with a double delete.
This is SIC, but IMHO it's fine, whoever gets a compiler failure has a bug to fix
Reviewers: vkrause
Reviewed By: vkrause
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18135
|
|
they are unused, but if anyone would use them things would go wrong, so
protect us from it
|
|
|
|
Summary:
Bytes from 'Strings' of type GroupString and KeyString should not be
escaped because they are valid UTF-8. Only instances of ValueString
should be escaped.
This fixes the failing test KConfigTest::testEncoding
Test Plan: Ran `ninja test` and found no errors.
Reviewers: dfaure, arichardson, apol, aacid, ngraham
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D17856
|
|
Summary:
UserBase tells me that KDE configuration files are encoded in UTF-8.
https://userbase.kde.org/KDE_System_Administration/Configuration_Files
In practice some *rc files have bytes outside that encoding. In my home directory I found two files that are not valid UTF-8.
I searched with
find ~/.config/ -name '*rc' -exec file {} +
which gives these exceptions:
akonadiconsolerc: Non-ISO extended-ASCII text, with very long lines
kmail2rc: Non-ISO extended-ASCII text, with very long lines
In kmail2rc, the offending fields are
[AttachmentView]/State
[CollectionFolderView]/HeaderState
Both are QByteArray values saved from QHeaderView::saveState().
In the instance I found, the offending bytes were 0x81 and 0x84.
akonadiconsolerc had way more of these values. All seem related to saving widget state and hence probably QByteArrays.
The written QByteArray values look very strange. The bytes in the non-printable ASCII range are written as \xXX but the values above 127 are written literally.
The encoding is done by KConfigIniBackend::stringToPrintable. It does not currently escape bytes that are larger than or equal to 127.
Reviewers: dfaure, arichardson, apol
Reviewed By: apol
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D17651
|
|
Reviewers: #frameworks, aacid
Reviewed By: aacid
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D17491
|
|
|
|
|
|
Reviewers: svuorela
Reviewed By: svuorela
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D16565
|
|
Notify was changed to 0x08 | Persistent as it implied the other flag
state. However this change was not updated in the test.
Reviewed-by: Kai Uwe Broulik
|
|
Relevant on Android.
|
|
Summary:
Intention is not to create a registry like system, but to replace
KDElibs4Support::KGlobalSettings and to replace other system settingss
-> some app communication in a more generic way.
writeEntry gains an additional flag Notify which if set, will notify
clients of what has actually changed when we sync.
Rationale to put this into KConfig was so that we could have everything
batched and sychronised to the file sync and to get the fine detailed
exposure of what has actually changed which we don't get with a file
watcher.
Default behaviour remains identical without any broadcast messages.
As it is a new dependency it is purely optional and anything referencing
DBus is not in the public API. Our deployment on platforms without DBus
tend to be standalone applications anyway.
Test Plan: Attached unit test
Reviewers: broulik, dfaure
Reviewed By: broulik, dfaure
Subscribers: dfaure, broulik, zzag, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13034
|
|
Test Plan: Used in subsequent patch
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13033
|
|
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
|
|
Summary:
Removing the (typically empty) optional argument from the function
invocation avoids confusion and allows to remove the parameter.
See also D15558
Test Plan: make
Reviewers: #frameworks, apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15848
|
|
Summary: They were not being split properly.
Test Plan: Tests pass, including the new one.
Reviewers: #frameworks, dfaure
Reviewed By: dfaure
Subscribers: dfaure, anthonyfieroni, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14162
|
|
|
|
Summary:
it wasn't exactly clear what the inputs for a Color type may be. this is
now explained along with special type descriptions. it isn't perfectly
ideal here since it is a bit hard to find, but better be hard to find
than not documented at all.
from a quick glance at the code indeed anything goes that QColor can
construct from a QString. there is also custom regex code in the compiler
that allows construction from r,g,b,a via the appropriate ctor of qcolor.
Reviewers: broulik
Reviewed By: broulik
Subscribers: broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15576
|
|
SCM_SILENT
|