Age | Commit message (Collapse) | Author |
|
NO_CHANGELOG
|
|
QStringView has some bits of API that were only added in 5.15.2, whereas KF
requires 5.15.0.
This reverts commit 1780fb2a237af80ddc1f9cfb70cb892b53b91990.
|
|
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
|
|
NO_CHANGELOG
|
|
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
|
|
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.
|
|
|
|
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
|
|
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.
|
|
- 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
|
|
- 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
|
|
The implicit conversion fails in Qt6
|
|
NO_CHANGELOG
|
|
- 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.
|
|
NO_CHANGELOG
|
|
NO_CHANGELOG
|
|
GIT_SILENT
|
|
- 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
|
|
NO_CHANGELOG
|
|
Fix some clazy warnings, and some other minor code optimisations.
NO_CHANGELOG
|
|
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"
|
|
Frameworks will be Frameworks 6 at some point and there is no good reason to have the major version in the variable name.
Given this is purely internal we can to this now, making it a bit more future-proof
GIT_SILENT
NO_CHANGELOG
|
|
KDEWIN_LIBRARIES is never defined
|
|
I stored a file's lastModified() into KConfig, to compare with it
again on next start, and the loss of milliseconds made the code think
the timestamps didn't match, even when they did.
|
|
In C++20 there are new classes that have member functions named emit().
c.f.:
https://lists.qt-project.org/pipermail/development/2020-February/038812.html
https://en.cppreference.com/w/cpp/io/basic_osyncstream/emit
GIT_SILENT
|
|
Using QMutex in recursive mode is deprecated.
|
|
|
|
Forward declaring it breaks with Qt6
|
|
GIT_SILENT
|
|
See https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/4
(*) by me :-)
|
|
Without this, bNotify was not set on copies, making Notify a noop.
CCBUG: 428771
|
|
|
|
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"
|
|
config paths.
Since windows has some generic config paths that are parents of other generic config paths
e.g. c:/CraftRoot/build/_/<hash>/build/bin followed by c:/CraftRoot/build/_/<hash>/build/bin/data
we need to search for locations from the last location to the first.
|
|
GIT_SILENT
|
|
5.64 added an isDefault method however this doesn't suffice for usage in
KConfigDialogManager which compares a current value to the default.
KConfigDialogManager currently uses a hack with side effects.
Exposing the value directly solves that.
|
|
"QtPrivate::DeprecatedRefClassBehavior::warn|?libKF5ConfigCore.so.5?|?libKF5ConfigCore.so.5?
Using QCharRef with an index pointing outside the valid range of a
QString. The corresponding behavior is deprecated, and will be changed
in a future version of Qt."
We try to access to an invalid index.
|
|
When running unit tests, usually QStandardPaths TestMode is enabled so as
not to mess up the config files in the home dir of the dev running the unit
tests; sGlobalFileName, a global static, was defined only once, which meant
that if KSharedConfig::openConfig() is called before the unit test has had
a chance to call QStandardPaths::setTestModeEnabled(true), then sGlobalFileName
will go on referring to the wrong kdeglobals file (as can be seen in
dfaure's debugging of the issue at [1]). Change the code so as to
detect QStandardPaths TestMode status and change sGlobalFileName as needed.
All unit tests still pass.
[1] https://invent.kde.org/frameworks/kio/-/merge_requests/77#note_74124
|
|
While the API might have been once designed to allow random byte strings
to be used as ids and only converted QString to UTF-8, the current
implementation in many places assumes the byte strings passed via
const char* or QByteArray are also in of UTF-8 encoding
(or at least ASCII7-only).
See e.g. KConfigGroup::entryMap() or KConfigGroup::name().
Stating the supported encoding explicitly should avoid any misassumptions.
|
|
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"
|
|
See https://community.kde.org/Frameworks/Frameworks_Logging_Policy
|
|
|
|
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"
|
|
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"
|
|
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:
This is useful for unittests. Example:
```
KCONFIGCORE_EXPORT void reloadUrlActionRestrictions();
void someTestMethod()
{
KConfigGroup cg(KSharedConfig::openConfig(), "KDE URL Restrictions");
cg.writeEntry("rule_count", 1);
cg.writeEntry("rule_1", QStringList{"open", {}, {}, {}, "file", "", "", "false"});
cg.sync();
reloadUrlActionRestrictions();
// Some test for code that uses KUrlAuthorized
cg.deleteEntry("rule_1");
cg.deleteEntry("rule_count");
cg.sync();
reloadUrlActionRestrictions();
}
```
This is consistent with the fact that other functions used by
KUrlAuthorized are defined here and exported internally.
Test Plan: Used this in a KIO unittest I'm writing for the future OpenUrlJob
Reviewers: aacid, apol, mdawson
Reviewed By: aacid
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D29347
|
|
Summary:
KApiDox & ECMAddQch have been just teached about Q_DECLARE_FLAGS, so the
underlying typedefs are no longer skipped by doxygen, but can be
documented now, allowing links to be generated for these types e.g. when
used as arguments.
The "#" prefix to the enum name in the description text of all the
Q_DECLARE_FLAGS docs seems needed to properly trigger doxygen autolinks.
GIT_SILENT
|
|
Summary:
Fix the following bug, if an entry is set on HOME/.config/kdeglobals and on a specific config file like kcmfonts
When you hit restore defaults button and apply, value will be not wrote on the specific file, but then the value is the one from kdeglobals
This patch ensure we write the key to the specific configuration file on those case with an empty value. KConfig will take default value automatically
Test Plan:
Added a test to ensure flag is working
Tested using some KCM to ensure all is working fine
Reviewers: ervin, dfaure, meven, crossi, hchain
Reviewed By: ervin, dfaure, meven
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D28128
|