Digging through Qt's source code to figure out if and how I can get KF5
applications to honour theming settings on OS X, I observe the following in
class QKdeThemePrivate in qgenericunixthemes.cpp:
static QString kdeGlobals(const QString &kdeDir)
{
return kdeDir + QStringLiteral("/share/config/kdeglobals");
}
and QVariant QKdeThemePrivate::readKdeSetting() then does
foreach (const QString &kdeDir, kdeDirs) {
QSettings *settings = kdeSettings.value(kdeDir);
if (!settings) {
const QString kdeGlobalsPath = kdeGlobals(kdeDir);
if (QFileInfo(kdeGlobalsPath).isReadable()) {
// ... etc ...
It may be intentional that that file avoids the use of QStandardPaths (is it?),
but it seems that this code cannot read the kdeglobals file in its intended
location (~/.config/kdeglobals on XDG-compliant systems). Not even when $KDExxx
variables are set to provide the correct value for `kdeDirs` .
Am I right that kdeGlobals() should return the current value only if
kdeVersion<=4, and for kdeVersion>=5 it should rather return `kdeDir +
QStringLiteral("/kdeglobals")`, with `kdeDirs` extended to include ~/.config?
In that case, should a fallback for "/share/config/kdeglobals" be added?
A pure KF5 system will not have ~/.kde*/share/config/kdeglobals, correct?
R.
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development