aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-09-29Android: Fix writing to config if path is a content:// UriSharaf Zaman
KConfigIniBackend relies on QLockFile which changes the content Uri and this is bound to fail because we don't have permission. So, for these Uris we use Android's Internal cache directory to save the .lock files.
2021-09-25Fix one typo in API docsAhmad Samir
GIT_SILENT
2021-09-19kconfigini: Only open the file once to writeAleix Pol
We were calling open(), then fopen(), then QFile::open(). This patch removes the fopen() call that does not seem to do anything.
2021-09-19Allow KConfigXT to use KSharedConfig::openStateConfigAlexander Lohnau
Otherwise we force consumers to use the config location for state data, which is what we are trying to avoid. Task: https://phabricator.kde.org/T12549
2021-08-29Add Ctrl+Alt+Comma shortcut for "Configure Keyboard Shortcuts"empyreal one
BUG: 441537 FIXED-IN: 5.86
2021-08-29Make enum value visible to QML when using GlobalEnum modeCarl Schwan
Now generate Q_ENUM(<enum-name>)
2021-08-28GIT_SILENT: we can use std::as_const directlyLaurent Montel
2021-08-26KDesktopFile::isAuthorizedDesktopFile: reduce warning to info a logMéven Car
2021-08-18Port to QStrinViewAhmad Samir
Now that KF requires Qt 5.15.2; this basically reverts commit 2e8742e64fc0 with some trivial changes. NO_CHANGELOG
2021-08-13clang-tidy: one declaration per line; braces around statementsAhmad Samir
clang-tidy checks: readability-isolate-declaration and readability-braces-around-statements KF task: https://phabricator.kde.org/T14729 GIT_SILENT
2021-08-03KConfig: sort keys in keyListImpl() so unittests can rely on itDavid Faure
The code was using a QSet (hash-based), use a std::set instead for unicity, it gives us sorting for free. We probably want to do the same in groupList(), but that's separate.
2021-08-03KConfig: fix deletion of an entry that is also in kdeglobalsDavid Faure
This is the case where we expected to see Key[$d] in the config file, and it was somehow broken. When saving, the key was omitted, so when reloading the kdeglobals key was present again. Detected when trying to write a unittest for a different patch... I had to reshuffle the unittest a bit because testThreads calls testSimple which didn't expect that the "[AAA]" group would actually be deleted now.
2021-07-13Fix typos found by codespellChristophe Giboudeaux
GIT_SILENT
2021-07-12Update kconfig_compiler documentation with translation optionsCyril Rossi
2021-07-05Do not create a vector and a QByteArray just to discard it immediatelyAleix Pol
2021-07-05Only query for existing config file when it's necessaryAleix Pol
We are only interested in whether the file doesn't exist when it fails to open. This saves a stat on every successful config file parse.
2021-07-05Use specific API to compare QByteArraysAleix Pol
At the moment we are taking a bit of a detour by converting to char*. Not a bit deal but reads better and ends up being less calls.
2021-07-04Cache global config filesAleix Pol
Whenever we read a config file, we are first parsing kdeglobalsrc. This caches the parsed entries so that they can be reused as long as it hasn't changed. This reduces the parseConfig calls (which is mostly prominent at early process startup) from 18 to 12 (33%) ksmserver-logout-greeter. This also means there's better cache locality as well as less memory allocated as a lot of objects are shared but I have not measured this.
2021-05-27Use more target-centric cmake codeFriedrich W. H. Kossebau
NO_CHANGELOG
2021-05-25Revert "fix deleted group is in listGroups"Nate Graham
This reverts commit b3dc879e8b108c26c929bfbe551bcdf77f140e94. This change breaks plasmashell startup and possible other apps as well. Reverting so the root cause can be investigated without time pressure.
2021-05-25fix deleted group is in listGroupsLieven Hey
calling deleteGroup only deletes all entries but the group does still exists in listGroups this is somewhat irritating since calling exists on that group will return false with this patch the group does no longer exists in listGroup
2021-05-11Docs: make a complete reference to reparseConfiguration() from KSharedConfigAdriaan de Groot
NO_CHANGELOG
2021-05-09Revert QStringView portAhmad Samir
QStringView has some bits of API that were only added in 5.15.2, whereas KF requires 5.15.0. This reverts commit 1780fb2a237af80ddc1f9cfb70cb892b53b91990.
2021-05-07Order macro for attribute for symbol export before that for deprecatedFriedrich W. H. Kossebau
The symbol export/visibility attribute is not standardized so far and needs to be set by language extension attribute declaration at least with clang & MSVC, who both support that when it appears before the standard attribute declaration. NO_CHANGELOG
2021-05-04Don't write position data for maximized windowsNate Graham
A window that is maximized does not really have a position on screen other then the fact that it's maximized, and writing out position data in this case anyway will only serve to mis-position the window once da-maximized, should KWin ever stop remembering de-maximized window positions internally. CCBUG: 434116
2021-05-02Port away from ECMSetupVersion's deprecated *_VERSION_STRING CMake variableFriedrich W. H. Kossebau
NO_CHANGELOG
2021-05-02Minor code refactoringAhmad Samir
Some methods in ConfigLoaderHandler always returned true, change them to return void instead. Also port them to take a QStringView instead of QStringRef, this doesn't require a lot of changes because a QStringView can be constructed from a QStringRef. QXmlStreamAttribute methods like value() and name() return QStringRef in Qt5 and QStringView in Qt6, "fix" the issue by using auto keyword, which works in both cases. QStringView::toInt() isn't efficient in Qt5 so make the build conditional. NO_CHANGELOG
2021-04-28Make the docs state that KConfig::reparseConfiguration() calls sync() if neededAhmad Samir
This matches the method actually does, and makes it clearer that you don't need to do config->sync() followed by config()->reparseConfiguration(), the latter should suffice.
2021-04-26Use new version-controlled enumerator deprecation warning macrosFriedrich W. H. Kossebau
2021-04-18Deprecate KDesktopFile::readDevice()Ahmad Samir
Since the FSDevice .desktop template hasn't been installed for a long time, this method in KDesktopFile hasn't been useful. The whole FSDesktop concept seems to be redundant nowadays, since CDRom and Floppy drives have been replaced by USB sticks. See this KF6 taks for more details: https://phabricator.kde.org/T14295#253759
2021-04-15KConfig: rename kconfigdata.h to kconfigdata_p.hDavid Faure
It's internal, the symbols are not exported, the header is not installed. The _p.h naming makes this more obvious, when grepping for stuff in public API.
2021-04-10Relicense to LGPL-2.0-or-laterAndreas Cord-Landwehr
All named authors from copyright statements confirmed this change (confirmations at sysadmins' longterm archive). From the git history check, relicensecheck tells: - lgplv2+: mdawson pandom79@gmail.com mdawson ( 6 LOC): 0005ba7 pandom79@gmail.com ( 4 LOC): eeb2bbe Whereas pandom79 does not posses a KDE contributor account but also confirmed via private mail (confirmation mail also in sysadmins' archive). Change 0005ba7 is a syntactical replacement of QT_TRANSLATE_NOOP with QT_TRANSLATE_NOOP3 and thus can be assumed to not by copyrightable.
2021-04-10Relicense to LGPL-2.0-or-laterAndreas Cord-Landwehr
All named authors from copyright statements confirmed this change (confirmations at sysadmins' longterm archive). From the git history check, relicensecheck tells: - lgplv2+: pandom79@gmail.com pandom79@gmail.com ( 7 LOC): eeb2bbe Whereas pandom79 does not posses a KDE contributor account but also confirmed via private mail (confirmation mail also in sysadmins' archive).
2021-04-05kconfig_compiler: add override to generated destructorsDavid Faure
This fixes the clang warning globalsettings_kmail.h:58:5: warning: '~GlobalSettingsBase' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
2021-03-22[kconfig_compiler] Explicitly open input file for readingNicolas Fella
In Qt6 QDomDocument does not open the file itself any more
2021-03-16Remove old contact data from src/kconfig_compiler_README.doxDavid Hurka
2021-03-06Improve code readability by using QLatin1String::arg()Ahmad Samir
NO_CHANGELOG
2021-03-06kconfig_compiler: change how paramString() creates stringsAhmad Samir
Now it creates C++ code that uses QString::arg(Args...) instead of arg().arg(). AFAICS, the type of the "Args" is QString, so this should work.
2021-03-06Minor code optimisationAhmad Samir
- Use more range-for loops where appropriate - Use auto instead of the usually-long iterator type names - Use cbegin/cend(), to match the std:: containers, less confusion - Use qDeleteAll instead of a for loop - Make a QRE with a long-ish pattern static NO_CHANGELOG
2021-03-06Optimise string operations a bitAhmad Samir
- Use QString::arg(Args...) instead of .arg().arg() - Use QLatin1String for string comparisons, should be faster - Use QLatin1String::arg() for better readability - Add the comment dfaure suggested in the MR, to explain why it's '2%' then '%1' in a QString().arg().arg() NO_CHANGELOG
2021-03-01Add missing QTextStream::setCodec ifdefNicolas Fella
This was missed in https://invent.kde.org/frameworks/kconfig/-/merge_requests/41
2021-02-28Make QByteArray -> char* conversion explicitNicolas Fella
The implicit conversion fails in Qt6
2021-02-24Use KEntryMapIterator/KEntryMapConstIterator typedef's everywhereAhmad Samir
NO_CHANGELOG
2021-02-24Add KEntryMap::constFindEntry() methodAhmad Samir
- This has the same logic as QMap::constFind(); less detaching and now we can use auto keyword when creating iterators and always get a const_iterator even when calling constFindEntry() on a non-const map. - Use QCOMPARE() where appropriate in the unit tests.
2021-02-22Fix formatting in a couple of places after running clang-formatAhmad Samir
NO_CHANGELOG
2021-02-22Run clang-format on all cpp/h filesAhmad Samir
NO_CHANGELOG
2021-02-22Add a trailing comma to last member in enumAhmad Samir
GIT_SILENT
2021-02-08Fix window positioning regression due to incorrect fallback in fallbackNate Graham
We have a fallback string that gets searched for in the KCM, but that fallback itself should not have a fallback, or else we always use that second fallback and the window gets positioned incorrectly the first time it's opened. So let's replace the second fallback with -1. BUG: 432661 FIXED-IN: 5.79
2021-02-06Minor code optimisationsAhmad Samir
- Use a global var for a QString that's used many times - Break up long-all-cap variable names, it makes it harder to read (and I've fixed one typo in one of those ALLCAPS) - Fix some clazy warnings, make global QString objects in unit tests static (so that the compiler doesn't create symbols for them, it doesn't matter in a unit test but KF code acts as a reference sometimes that others copy from, tip from dfaure) - Add TODO note about changing kconfig_compiler to generate C++ code that uses multi-arg QString::arg(QString, QString, QString) instead of QString::arg().arg() - More const; more QString::at() instead of operator[] where appropriate - Use a ternary where it makes the code more readable (and uses less lines :)) NO_CHANGELOG
2021-02-06Compile without implicit cast from ASCIIAhmad Samir
NO_CHANGELOG