void AuroraeTheme::loadTheme(const QString &name) { KConfig conf(QStringLiteral("auroraerc")); KConfig config(QLatin1String("aurorae/themes/") + name + QLatin1Char('/') + name + QLatin1String("rc"), KConfig::FullConfig, QStandardPaths::GenericDataLocation); KConfigGroup themeGroup(&conf, name); loadTheme(name, config); }
void AuroraeFactory::init() { qRegisterMetaType<uint>("Qt::MouseButtons"); KConfig conf("auroraerc"); KConfigGroup group(&conf, "Engine"); const QString themeName = group.readEntry("ThemeName", "example-deco"); KConfig config("aurorae/themes/" + themeName + '/' + themeName + "rc", KConfig::FullConfig, "data"); KConfigGroup themeGroup(&conf, themeName); m_theme->loadTheme(themeName, config); m_theme->setBorderSize((KDecorationDefines::BorderSize)themeGroup.readEntry<int>("BorderSize", KDecorationDefines::BorderNormal)); m_theme->setButtonSize((KDecorationDefines::BorderSize)themeGroup.readEntry<int>("ButtonSize", KDecorationDefines::BorderNormal)); m_theme->setTabDragMimeType(tabDragMimeType()); // setup the QML engine foreach (const QString &importPath, KGlobal::dirs()->findDirs("module", "imports")) { m_engine->addImportPath(importPath); } m_component->loadUrl(QUrl(KStandardDirs::locate("data", "kwin/aurorae/aurorae.qml"))); m_engine->rootContext()->setContextProperty("auroraeTheme", m_theme); m_engine->rootContext()->setContextProperty("options", this); }