aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2018-05-07kcfg.xsd - do not require a kcfgfile elementAllen Winter
Differential Revision: https://phabricator.kde.org/D7415
2018-05-04Use overrideLaurent Montel
2018-04-19Warning--Laurent Montel
2018-04-06SVN_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-03-24Remove useless QT_VERSION_CHECKAlbert Astals Cid
We require Qt 5.8
2018-03-11Remove not necessary QtCore and coLaurent Montel
2018-02-24Save some memory allocations by using the right APIAleix Pol
Test Plan: tests pass Reviewers: #frameworks, markg Reviewed By: markg Subscribers: markg Tags: #frameworks Differential Revision: https://phabricator.kde.org/D10771
2018-02-05Export kconf_update with toolingAleix Pol
Summary: This way if another cmake project imports it when cross-compiling, it can be executed. Reviewers: #frameworks Tags: #frameworks Differential Revision: https://phabricator.kde.org/D9652
2018-01-13Use Ctrl+Shift+, as the standard shortcut for "Configure <Program>"Nathaniel Graham
Summary: FEATURE: Use Ctrl+Shift+, as the standard keyboard shortcut to invoke KDE programs' "Configure <Program>" menu items. Test Plan: This shortcut is not used by anything else. Searched on lxr, found one conflict in DigiKam, and the developers agreed to change it: https://bugs.kde.org/show_bug.cgi?id=386335 Will wait to land this until Digikam 5.8.0 is released to prevent any shortcut conflicts. Tested in KDE Neon. Tried out Plasma, KWin, Dolphin, Kate, Konsole, Gwenview, Okular, Konversation, KTorrent, and Skanlite; all now have a consistent keyboard shortcut for their "Configure <Program>" menu items. Reviewers: #frameworks, #vdg, broulik, rkflx Reviewed By: rkflx Subscribers: ilic, abetts, elvisangelaccio, aacid, argonel, marten, graesslin, broulik, #frameworks Tags: #frameworks Differential Revision: https://phabricator.kde.org/D8296
2017-12-08API docs: Sergio suggested create(), more readable than winId()David Faure
2017-12-08API docs: full working code, including workaround for Qt issue...David Faure
2017-12-08API docs: explain how to use KWindowConfig from a dialog constructor.David Faure
Qt doesn't make it easy for us to just use QWindow...
2017-12-06Deprecate KDesktopFile::sortOrder()Alexander Volkov
Summary: The SortOrder key is deprecated by the Desktop Entry Specification: https://standards.freedesktop.org/desktop-entry-spec/latest/apc.html Reviewers: dfaure, #frameworks Reviewed By: dfaure Subscribers: #frameworks Tags: #frameworks Differential Revision: https://phabricator.kde.org/D9224
2017-12-06Fix the result of KDesktopFile::sortOrder()Alexander Volkov
Summary: KDesktopFile::sortOrder() returns the value of SortOrder key as a string whithout parsing it as a list. But according to Desktop Entry Specification https://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html it's type is "string(s)", i.e. the same type as the type of Actions and MimeType keys, and thus it should be read the same way. Reviewers: #frameworks, dfaure Reviewed By: dfaure Subscribers: dfaure, #frameworks Tags: #frameworks Differential Revision: https://phabricator.kde.org/D8689
2017-12-02GIT_SILENT repair indentationDavid Faure
2017-11-30Use Q_FALLTHROUGHMontel Laurent
2017-11-20Don't look for /etc/kderc every single timeAleix Pol
Summary: Every time we open a configuration file, we are checking if this file is there. Since it's a sysadmin setting I'd say it's fine to assume that it's not appearing and disappearing. Also we are not supporting the case of the file changing during runtime or so. Reviewers: #frameworks, mpyne, dfaure Reviewed By: mpyne, dfaure Subscribers: dfaure, mpyne Tags: #frameworks Differential Revision: https://phabricator.kde.org/D8871
2017-09-21[KConfigGroup] reserve() more and add some C++11Kai Uwe Broulik
Using initializer_lists for QList we reserve the right amount of memory in advance and also make for nicer code. Also uses range-for where code was touched and a const container used. Differential Revision: https://phabricator.kde.org/D7879
2017-09-10Deprecate KStandardShortcut::SaveOptionsElvis Angelaccio
For consistency with D7293. Differential Revision: https://phabricator.kde.org/D7758
2017-09-03Add apidox to KStandardShorcut::StandardShortcutElvis Angelaccio
Differential Revision: https://phabricator.kde.org/D7605
2017-08-09Fix labels of DeleteFile/RenameFile actionsElvis Angelaccio
For consistency with D6774. CCBUG: 382450 Differential Revision: https://phabricator.kde.org/D6775