aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-09-16Use new INCLUDE_DIRS with ecm_add_qch, to have doxygen see more includesFriedrich W. H. Kossebau
GIT_SILENT
2019-08-28GIT_SILENT: use QLatin1StringLaurent Montel
2019-08-25String code optimization: use s.remove(0. x) instead of s = s.mid(x)Friedrich W. H. Kossebau
GIT_SILENT
2019-08-25String code optimization: use s.chop(x) instead of s.truncate(s.size()-x)Friedrich W. H. Kossebau
GIT_SILENT
2019-08-25Use more initializer listsFriedrich W. H. Kossebau
GIT_SILENT
2019-08-24String code optimization: use QLatin1String/QChar overload for string concatFriedrich W. H. Kossebau
GIT_SILENT
2019-08-24String code optimization: use QLatin1String overload for == & !=Friedrich W. H. Kossebau
GIT_SILENT
2019-08-24String code optimization: use QLatin1String overload for QString::replaceFriedrich W. H. Kossebau
GIT_SILENT
2019-08-22Fix memory leak in KConfigWatcherDaniel Vrátil
Reviewers: davidedmundson Reviewed By: davidedmundson Subscribers: davidedmundson, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D23340
2019-08-14Add a logging category for logs warningsMéven Car
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
2019-08-14SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2019-08-07Security: remove support for $(...) in config keys with [$e] marker.David Faure
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
2019-07-20Include definition for class used in headerDavid Edmundson
2019-05-10Replace qVariantFromValue with QVariant::fromValueNicolas Fella
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
2019-04-24Add Notify capability to KConfigXTKai Uwe Broulik
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
2019-04-01Add Notify capability to revertToDefaultKai Uwe Broulik
This enables KConfigWatcher to detect those changes, too. Differential Revision: https://phabricator.kde.org/D20039
2019-03-26point readme to the wiki pageHarald Sitter
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
2019-03-15kconfig_compiler: new kcfgc args HeaderExtension & SourceExtensionFriedrich W. H. Kossebau
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
2019-03-12[kconf_update] move from custom logging tech to qCDebugHarald Sitter
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
2019-03-11Remove reference from const KConfigIniBackend::BufferFragment &Albert Astals Cid
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
2019-03-03[Kconfig] Compile without foreachLaurent Montel
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
2019-03-01improve documentation on global config cascadingHarald Sitter
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
2019-02-25KConfig: Assign documentation to correct enum valueThomas Fischer
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
2019-02-20Write valid UTF8 characters without escaping.Jos van den Oever
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
2019-02-04KConfig: handle directory symlinks correctly.David Faure
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
2019-02-02[API dox] Include kconfig_compiler/README.dox for QCH generationFriedrich W. H. Kossebau
GIT_SILENT
2019-01-10kconfig_compiler: delete the assignment operator and copy constructorAlbert Astals Cid
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
2019-01-10KEmailSettings: Delete copy constructor and assignment operatorAlbert Astals Cid
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
2019-01-09KonfUpdate: delete copy constructor and assignment operatorAlbert Astals Cid
they are unused, but if anyone would use them things would go wrong, so protect us from it
2019-01-03Fix doxygen markup in KConfigWatcherDavid Edmundson
2018-12-30Fix a regression introduced in 6a1852Jos van den Oever
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
2018-12-18Escape bytes that are larger than or equal to 127 in config filesJos van den Oever
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
2018-12-12Fix documentation, QValueList isn't a thing anymoreAleix Pol
Reviewers: #frameworks, aacid Reviewed By: aacid Subscribers: kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D17491
2018-11-30USe isEmpty()Laurent Montel
2018-11-04normalize signal/slotLaurent Montel
2018-11-02Remove unused variableAlbert Astals Cid
Reviewers: svuorela Reviewed By: svuorela Subscribers: kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D16565
2018-10-15Fix logic error in NotifyFlag testingDavid Edmundson
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
2018-10-10Fix compilation without D-BusVolker Krause
Relevant on Android.
2018-10-10Add mechanism to notify other clients of config changes over DBusDavid Edmundson
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
2018-10-10Expose getter method for KConfig::addConfigSourcesDavid Edmundson
Test Plan: Used in subsequent patch Subscribers: kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D13033
2018-10-10SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2018-09-30Remove misleading use of KDE_INSTALL_PYTHONBINDINGSDIRStefan Brüns
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
2018-09-28 Fix issue when reading path listsAleix Pol
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
2018-09-18API dox: 0 -> nullptrFriedrich W. H. Kossebau
2018-09-17kcfg_compiler now documents valid inputs for its 'Color' typeHarald Sitter
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
2018-09-17whitespace cleanupHarald Sitter
SCM_SILENT
2018-08-26SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2018-08-14Remove warning about old kiosk feature that no longer applies.David Faure
Summary: The concept of KStandardDirs resources no longer exists; and anyway kiosk users disable things at the feature level, not at the config file level. Test Plan: Compiles without warnings Reviewers: davidedmundson, arichardson, broulik Reviewed By: broulik Subscribers: kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D14829
2018-08-11Set system default shortcut Ctrl+0 for "Actual Size" actionPeter Mühlenpfordt
Summary: Default shortcuts for zoom in ({key Ctrl +}) and out ({key Ctrl -}) already exists but not for going back to 100%. The shortcut {key Ctrl 0} is widely used by different applications for zoom to original size. This patch adds {key Ctrl 0} as system default for `KStandardAction::ActualSize`. FEATURE: 305702 FIXED-IN: 5.50 Test Plan: Searched lxr for conflicts of `KStandardAction::ActualSize` and usage of Ctrl+0 shortcut. Checked the following applications with set system default shortcut: * Gwenview * KAlgebra * KolourPaint * KStars (FITS viewer) * Cirkuit Only Cirkuit uses Ctrl+0 for "Zoom To Fit" action. I'll create a patch to solve this conflict. Reviewers: dfaure, broulik, ngraham, rkflx Reviewed By: dfaure, ngraham, rkflx Subscribers: jriddell, rkflx, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D14201
2018-06-30Remove unused includeBoudewijn Rempt
Differential revision: https://phabricator.kde.org/D13792