7#include "styleselector.h"
20 if (qEnvironmentVariableIntValue(
"KIRIGAMI_FORCE_STYLE") == 1) {
23 return styleChain().
first();
29 if (qEnvironmentVariableIntValue(
"KIRIGAMI_FORCE_STYLE") == 1) {
39#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
41 if (style.
isEmpty() || style == QStringLiteral(
"org.kde.desktop.plasma")) {
42 auto path = resolveFilePath(QStringLiteral(
"/styles/org.kde.desktop"));
44 s_styleChain.
prepend(QStringLiteral(
"org.kde.desktop"));
47#elif defined(Q_OS_ANDROID)
48 s_styleChain.
prepend(QStringLiteral(
"Material"));
50 s_styleChain.
prepend(QStringLiteral(
"Material"));
53 auto stylePath = resolveFilePath(QStringLiteral(
"/styles/") + style);
57 auto plasmaPath = resolveFilePath(QStringLiteral(
"/styles/org.kde.desktop.plasma"));
58 if (style == QStringLiteral(
"org.kde.desktop") &&
QFile::exists(plasmaPath)) {
59 s_styleChain.
prepend(QStringLiteral(
"org.kde.desktop.plasma"));
62#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
63 s_styleChain.
prepend(QStringLiteral(
"org.kde.desktop"));
70QUrl StyleSelector::componentUrl(
const QString &fileName)
72 const auto chain = styleChain();
73 for (
const QString &style : chain) {
74 const QString candidate = QStringLiteral(
"styles/") + style +
QLatin1Char(
'/') + fileName;
76 return QUrl(resolveFileUrl(candidate));
80 return QUrl(resolveFileUrl(fileName));
83void StyleSelector::setBaseUrl(
const QUrl &baseUrl)
90#if defined(KIRIGAMI_BUILD_TYPE_STATIC) || defined(Q_OS_ANDROID)
91 return QStringLiteral(
":/qt/qml/org/kde/kirigami/") +
path;
103#if defined(KIRIGAMI_BUILD_TYPE_STATIC) || defined(Q_OS_ANDROID)
104 return QStringLiteral(
"qrc:/qt/qml/org/kde/kirigami/") +
path;
QString path(const QString &relativePath)
bool exists() const const
bool isEmpty() const const
void prepend(parameter_type value)
bool isEmpty() const const
bool contains(QLatin1StringView str, Qt::CaseSensitivity cs) const const
bool isValid() const const
QString toLocalFile() const const
QString toString(FormattingOptions options) const const