File indexing completed on 2024-04-28 05:10:44

0001 /*
0002     This file is part of Akregator.
0003     SPDX-FileCopyrightText: 2008 Frank Osterfeld <osterfeld@kde.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
0006 */
0007 
0008 #include "akregator_config_appearance.h"
0009 #include "akregatorconfig.h"
0010 
0011 #include <KAboutData>
0012 #include <KLocalizedString>
0013 #include <KPluginFactory>
0014 #include <QAbstractSlider>
0015 
0016 #include <QVBoxLayout>
0017 
0018 using namespace Akregator;
0019 
0020 K_PLUGIN_CLASS_WITH_JSON(KCMAkregatorAppearanceConfig, "akregator_config_appearance.json")
0021 KCMAkregatorAppearanceConfig::KCMAkregatorAppearanceConfig(QObject *parent, const KPluginMetaData &data)
0022     : KCModule(parent, data)
0023     , m_widget(new QWidget(widget()))
0024 {
0025     m_ui.setupUi(m_widget);
0026     auto layout = new QVBoxLayout(widget());
0027     layout->addWidget(m_widget);
0028 
0029     connect(m_ui.kcfg_UseCustomColors, &QAbstractButton::toggled, m_ui.kcfg_ColorUnreadArticles, &QWidget::setEnabled);
0030     connect(m_ui.kcfg_UseCustomColors, &QAbstractButton::toggled, m_ui.kcfg_ColorNewArticles, &QWidget::setEnabled);
0031     connect(m_ui.kcfg_UseCustomColors, &QAbstractButton::toggled, m_ui.lbl_newArticles, &QWidget::setEnabled);
0032     connect(m_ui.kcfg_UseCustomColors, &QAbstractButton::toggled, m_ui.lbl_unreadArticles, &QWidget::setEnabled);
0033 
0034     connect(m_ui.slider_minimumFontSize, &QAbstractSlider::valueChanged, m_ui.kcfg_MinimumFontSize, &QSpinBox::setValue);
0035     connect(m_ui.slider_mediumFontSize, &QAbstractSlider::valueChanged, m_ui.kcfg_MediumFontSize, &QSpinBox::setValue);
0036 
0037     connect(m_ui.slider_minimumFontSize, &QAbstractSlider::sliderMoved, m_ui.kcfg_MinimumFontSize, &QSpinBox::setValue);
0038     connect(m_ui.slider_mediumFontSize, &QAbstractSlider::sliderMoved, m_ui.kcfg_MediumFontSize, &QSpinBox::setValue);
0039 
0040     connect(m_ui.kcfg_MinimumFontSize, &KPluralHandlingSpinBox::valueChanged, m_ui.slider_minimumFontSize, &QSlider::setValue);
0041     connect(m_ui.kcfg_MediumFontSize, &KPluralHandlingSpinBox::valueChanged, m_ui.slider_mediumFontSize, &QSlider::setValue);
0042 
0043     m_ui.slider_minimumFontSize->setDisabled(Settings::self()->isImmutable(QStringLiteral("MinimumFontSize")));
0044     m_ui.slider_mediumFontSize->setDisabled(Settings::self()->isImmutable(QStringLiteral("MediumFontSize")));
0045     m_ui.lbl_MinimumFontSize->setDisabled(Settings::self()->isImmutable(QStringLiteral("MinimumFontSize")));
0046     m_ui.lbl_MediumFontSize->setDisabled(Settings::self()->isImmutable(QStringLiteral("MediumFontSize")));
0047 
0048     addConfig(Settings::self(), m_widget);
0049 }
0050 
0051 #include "akregator_config_appearance.moc"
0052 
0053 #include "moc_akregator_config_appearance.cpp"