diff --git a/kcms/qtquicksettings/kcmqtquicksettings.cpp b/kcms/qtquicksettings/kcmqtquicksettings.cpp index 1b8766ba1..5f09234da 100644 --- a/kcms/qtquicksettings/kcmqtquicksettings.cpp +++ b/kcms/qtquicksettings/kcmqtquicksettings.cpp @@ -1,85 +1,52 @@ /* This file is part of the KDE's Plasma desktop * Copyright 2017 David Edmundson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "kcmqtquicksettings.h" #include #include #include #include "ui_kcmqtquicksettingswidget.h" #include "renderersettings.h" K_PLUGIN_FACTORY(KCMQtQuickSettingsFactory, registerPlugin();) KCMQtQuickSettingsModule::KCMQtQuickSettingsModule(QWidget *parent, const QVariantList &args) : KCModule(parent, args), m_ui(new Ui::KCMQtQuickSettingsWidget), m_settings(new PlasmaQtQuickSettings::RendererSettings(KSharedConfig::openConfig(QStringLiteral("kdeglobals")))) { KAboutData *about = new KAboutData(QStringLiteral("Plasma QtQuick Settings"), i18n("Plasma QtQuick Settings"), QString(), i18n("Configure Plasma QtQuick Settings"), KAboutLicense::GPL); about->addAuthor(i18n("David Edmundson"), i18n("Maintainer"), QStringLiteral("davidedmundson@kde.org")); setAboutData(about); m_ui->setupUi(this); - m_ui->backendCombo->addItem(i18n("Automatic"), QVariant(QStringLiteral()));//so data matches empty config - m_ui->backendCombo->addItem(i18n("Open GL"), QVariant(QStringLiteral("opengl"))); - m_ui->backendCombo->addItem(i18n("Software"), QVariant(QStringLiteral("software"))); - - m_ui->renderLoopCombo->addItem(i18n("Automatic"), QVariant(QStringLiteral())); - m_ui->renderLoopCombo->addItem(i18n("Basic"), QVariant(QStringLiteral("basic"))); - m_ui->renderLoopCombo->addItem(i18n("Threaded"), QVariant(QStringLiteral("threaded"))); - - connect(m_ui->backendCombo, static_cast(&QComboBox::activated), this, static_cast(&KCMQtQuickSettingsModule::changed)); - connect(m_ui->renderLoopCombo, static_cast(&QComboBox::activated), this, static_cast(&KCMQtQuickSettingsModule::changed)); - - connect(m_ui->glCoreProfileCheckbox, &QCheckBox::stateChanged, this, static_cast(&KCMQtQuickSettingsModule::changed)); + addConfig(m_settings.get(), this); } KCMQtQuickSettingsModule::~KCMQtQuickSettingsModule() { } -void KCMQtQuickSettingsModule::load() -{ - m_ui->backendCombo->setCurrentIndex(m_ui->backendCombo->findData(m_settings->sceneGraphBackend())); - m_ui->renderLoopCombo->setCurrentIndex(m_ui->renderLoopCombo->findData(m_settings->renderLoop())); - m_ui->glCoreProfileCheckbox->setChecked(m_settings->forceGlCoreProfile()); -} - -void KCMQtQuickSettingsModule::save() -{ - m_settings->setSceneGraphBackend(m_ui->backendCombo->currentData().toString()); - m_settings->setRenderLoop(m_ui->renderLoopCombo->currentData().toString()); - m_settings->setForceGlCoreProfile(m_ui->glCoreProfileCheckbox->isChecked()); - m_settings->save(); -} - -void KCMQtQuickSettingsModule::defaults() -{ - m_ui->backendCombo->setCurrentIndex(0); - m_ui->renderLoopCombo->setCurrentIndex(0); - m_ui->glCoreProfileCheckbox->setChecked(false); -} - #include "kcmqtquicksettings.moc" diff --git a/kcms/qtquicksettings/kcmqtquicksettings.h b/kcms/qtquicksettings/kcmqtquicksettings.h index 5a4d31160..69160caa5 100644 --- a/kcms/qtquicksettings/kcmqtquicksettings.h +++ b/kcms/qtquicksettings/kcmqtquicksettings.h @@ -1,55 +1,51 @@ /* This file is part of the KDE's Plasma desktop * Copyright 2017 David Edmundson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #pragma once #include #include #include namespace Ui { class KCMQtQuickSettingsWidget; } namespace PlasmaQtQuickSettings { class RendererSettings; } /** * @short A KCM to configure Plasma QtQuick settings */ class KCMQtQuickSettingsModule : public KCModule { Q_OBJECT public: explicit KCMQtQuickSettingsModule(QWidget *parent, const QVariantList &); ~KCMQtQuickSettingsModule() override; - void load() override; - void save() override; - void defaults() override; - private: QScopedPointer m_ui; QScopedPointer m_settings; }; diff --git a/kcms/qtquicksettings/kcmqtquicksettingswidget.ui b/kcms/qtquicksettings/kcmqtquicksettingswidget.ui index df67ae742..cf0264abd 100644 --- a/kcms/qtquicksettings/kcmqtquicksettingswidget.ui +++ b/kcms/qtquicksettings/kcmqtquicksettingswidget.ui @@ -1,95 +1,127 @@ KCMQtQuickSettingsWidget 0 0 687 333 0 0 These settings adjust the QtQuick settings used by Plasma. Only adjust if you know what you are doing. true KMessageWidget::Information Rendering Backend: - + + + + Automatic + + + + + Open GL + + + + + Software + + + GL Core Profile: Render Loop: - + + + + Automatic + + + + + Basic + + + + + Threaded + + + - + Force Qt::Vertical 20 143 KMessageWidget QFrame
kmessagewidget.h
diff --git a/kcms/qtquicksettings/renderer.kcfg b/kcms/qtquicksettings/renderer.kcfg index c3179611c..faedb0c30 100644 --- a/kcms/qtquicksettings/renderer.kcfg +++ b/kcms/qtquicksettings/renderer.kcfg @@ -1,18 +1,28 @@ - - + + + + + + + automaticloop - - + + + + + + + automaticbackend false