diff --git a/kcmkwin/kwindecoration/kcm.h b/kcmkwin/kwindecoration/kcm.h --- a/kcmkwin/kwindecoration/kcm.h +++ b/kcmkwin/kwindecoration/kcm.h @@ -57,8 +57,6 @@ void defaults() override; void load() override; void save() override; - //what index is in the model the theme saved as current? needed to move the view at the proper index right at startup - int savedIndex() const; protected: void showEvent(QShowEvent *ev) override; diff --git a/kcmkwin/kwindecoration/kcm.cpp b/kcmkwin/kwindecoration/kcm.cpp --- a/kcmkwin/kwindecoration/kcm.cpp +++ b/kcmkwin/kwindecoration/kcm.cpp @@ -99,7 +99,6 @@ m_quickView->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel); updateColors(); - m_quickView->rootContext()->setContextProperty("savedIndex", savedIndex()); m_quickView->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal m_quickView->rootContext()->setContextProperty("leftButtons", m_leftButtons); m_quickView->rootContext()->setContextProperty("rightButtons", m_rightButtons); @@ -300,14 +299,6 @@ return buttonsFromString(config.readEntry(key, buttonsToString(defaultValue))); } -int ConfigurationModule::savedIndex() const -{ - const KConfigGroup config = KSharedConfig::openConfig("kwinrc")->group(s_pluginName); - const QString plugin = config.readEntry("library", s_defaultPlugin); - const QString theme = config.readEntry("theme", s_defaultTheme); - return m_proxyModel->mapFromSource(m_model->findDecoration(plugin, theme)).row(); -} - void ConfigurationModule::load() { s_loading = true; @@ -318,6 +309,9 @@ const QVariant border = QVariant::fromValue(stringToSize(config.readEntry("BorderSize", s_borderSizeNormal))); m_ui->borderSizesCombo->setCurrentIndex(m_ui->borderSizesCombo->findData(border)); + int themeIndex = m_proxyModel->mapFromSource(m_model->findDecoration(plugin, theme)).row(); + m_quickView->rootContext()->setContextProperty("savedIndex", themeIndex); + // buttons const auto &left = readDecorationButtons(config, "ButtonsOnLeft", QVector{ KDecoration2::DecorationButtonType::Menu, diff --git a/kcmkwin/kwindecoration/qml/Previews.qml b/kcmkwin/kwindecoration/qml/Previews.qml --- a/kcmkwin/kwindecoration/qml/Previews.qml +++ b/kcmkwin/kwindecoration/qml/Previews.qml @@ -33,7 +33,9 @@ cellWidth: 20 * units.gridUnit cellHeight: cellWidth / 1.6 onContentHeightChanged: { - gridView.currentIndex = savedIndex; + if (gridView.currentIndex == -1) { + gridView.currentIndex = savedIndex; + } gridView.positionViewAtIndex(gridView.currentIndex, GridView.Visible); }