diff --git a/kcmkwin/kwindecoration/decorationmodel.cpp b/kcmkwin/kwindecoration/decorationmodel.cpp --- a/kcmkwin/kwindecoration/decorationmodel.cpp +++ b/kcmkwin/kwindecoration/decorationmodel.cpp @@ -170,7 +170,7 @@ } Data data; data.pluginName = info.pluginName(); - data.visibleName = info.name().isEmpty() ? info.pluginName() : info.name(); + data.visibleName = data.themeName = info.name().isEmpty() ? info.pluginName() : info.name(); data.configuration = config; m_plugins.emplace_back(std::move(data)); @@ -182,7 +182,11 @@ { auto it = std::find_if(m_plugins.cbegin(), m_plugins.cend(), [pluginName, themeName](const Data &d) { - return d.pluginName == pluginName && d.themeName == themeName; + if (themeName.isEmpty()) { + return d.pluginName == pluginName; + } else { + return d.pluginName == pluginName && d.themeName == themeName; + } } ); if (it == m_plugins.cend()) { diff --git a/kcmkwin/kwindecoration/kcm.cpp b/kcmkwin/kwindecoration/kcm.cpp --- a/kcmkwin/kwindecoration/kcm.cpp +++ b/kcmkwin/kwindecoration/kcm.cpp @@ -314,7 +314,11 @@ m_ui->borderSizesCombo->setCurrentIndex(m_ui->borderSizesCombo->findData(border)); int themeIndex = m_proxyModel->mapFromSource(m_model->findDecoration(plugin, theme)).row(); - m_quickView->rootContext()->setContextProperty("initialThemeIndex", themeIndex); + if (auto listView = m_quickView->rootObject()->findChild("listView")) { + listView->setProperty("currentIndex", themeIndex); + } else { + m_quickView->rootContext()->setContextProperty("initialThemeIndex", themeIndex); + } // buttons const auto &left = readDecorationButtons(config, "ButtonsOnLeft", QVector{