File indexing completed on 2024-05-05 05:35:34

0001 //////////////////////////////////////////////////////////////////////////////
0002 // ShadowConfigurationui->cpp
0003 // -------------------
0004 //
0005 // SPDX-FileCopyrightText: 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0006 //
0007 // SPDX-License-Identifier: MIT
0008 //////////////////////////////////////////////////////////////////////////////
0009 
0010 #include "oxygenshadowconfigwidget.h"
0011 #include "oxygenactiveshadowconfiguration.h"
0012 #include "oxygeninactiveshadowconfiguration.h"
0013 #include "ui_oxygenshadowconfigurationui.h"
0014 
0015 #include "config-liboxygen.h"
0016 
0017 #include <KLocalizedString>
0018 #include <QLabel>
0019 #include <QLayout>
0020 
0021 namespace Oxygen
0022 {
0023 //_________________________________________________________
0024 ShadowConfigWidget::ShadowConfigWidget(QWidget *parent)
0025     : QGroupBox(parent)
0026     , ui(new Ui_ShadowConfiguraionUI())
0027 {
0028     setCheckable(true);
0029     ui->setupUi(this);
0030 
0031     // connections
0032     connect(ui->shadowSize, SIGNAL(valueChanged(int)), SLOT(updateChanged()));
0033     connect(ui->verticalOffset, SIGNAL(valueChanged(int)), SLOT(updateChanged()));
0034     connect(ui->innerColor, SIGNAL(changed(QColor)), SLOT(updateChanged()));
0035     connect(ui->outerColor, SIGNAL(changed(QColor)), SLOT(updateChanged()));
0036     connect(ui->useOuterColor, SIGNAL(toggled(bool)), SLOT(updateChanged()));
0037     connect(this, SIGNAL(toggled(bool)), SLOT(updateChanged()));
0038 }
0039 
0040 //_________________________________________________________
0041 ShadowConfigWidget::~ShadowConfigWidget(void)
0042 {
0043     delete ui;
0044 }
0045 
0046 //_________________________________________________________
0047 void ShadowConfigWidget::save(void) const
0048 {
0049     if (_group == QPalette::Active) {
0050         ActiveShadowConfiguration::setShadowSize(ui->shadowSize->value());
0051         ActiveShadowConfiguration::setVerticalOffset(0.1 * ui->verticalOffset->value());
0052         ActiveShadowConfiguration::setInnerColor(ui->innerColor->color());
0053         ActiveShadowConfiguration::setOuterColor(ui->outerColor->color());
0054         ActiveShadowConfiguration::setUseOuterColor(ui->useOuterColor->isChecked());
0055 
0056         ActiveShadowConfiguration::setEnabled(isChecked());
0057         ActiveShadowConfiguration::self()->save();
0058 
0059     } else if (_group == QPalette::Inactive) {
0060         InactiveShadowConfiguration::setShadowSize(ui->shadowSize->value());
0061         InactiveShadowConfiguration::setVerticalOffset(0.1 * ui->verticalOffset->value());
0062         InactiveShadowConfiguration::setInnerColor(ui->innerColor->color());
0063         InactiveShadowConfiguration::setOuterColor(ui->outerColor->color());
0064         InactiveShadowConfiguration::setUseOuterColor(ui->useOuterColor->isChecked());
0065 
0066         InactiveShadowConfiguration::setEnabled(isChecked());
0067         InactiveShadowConfiguration::self()->save();
0068     }
0069 }
0070 
0071 //_________________________________________________________
0072 void ShadowConfigWidget::updateChanged(void)
0073 {
0074     if (_group == QPalette::Active) {
0075         setChanged((ui->shadowSize->value() != ActiveShadowConfiguration::shadowSize())
0076                    || (ui->verticalOffset->value() != 10 * ActiveShadowConfiguration::verticalOffset())
0077                    || (ui->innerColor->color() != ActiveShadowConfiguration::innerColor())
0078                    || (ui->useOuterColor->isChecked() != ActiveShadowConfiguration::useOuterColor())
0079                    || (ui->outerColor->color() != ActiveShadowConfiguration::outerColor()) || (isChecked() != ActiveShadowConfiguration::enabled()));
0080 
0081     } else if (_group == QPalette::Inactive) {
0082         setChanged((ui->shadowSize->value() != InactiveShadowConfiguration::shadowSize())
0083                    || (ui->verticalOffset->value() != 10 * InactiveShadowConfiguration::verticalOffset())
0084                    || (ui->innerColor->color() != InactiveShadowConfiguration::innerColor())
0085                    || (ui->useOuterColor->isChecked() != InactiveShadowConfiguration::useOuterColor())
0086                    || (ui->outerColor->color() != InactiveShadowConfiguration::outerColor()) || (isChecked() != InactiveShadowConfiguration::enabled()));
0087     }
0088 }
0089 
0090 //_________________________________________________________
0091 void ShadowConfigWidget::load(bool defaults)
0092 {
0093     if (_group == QPalette::Active) {
0094         if (defaults)
0095             ActiveShadowConfiguration::self()->setDefaults();
0096         else {
0097             ActiveShadowConfiguration::self()->load();
0098         }
0099 
0100         ui->shadowSize->setValue(ActiveShadowConfiguration::shadowSize());
0101         ui->verticalOffset->setValue(10 * ActiveShadowConfiguration::verticalOffset());
0102         ui->innerColor->setColor(ActiveShadowConfiguration::innerColor());
0103         ui->outerColor->setColor(ActiveShadowConfiguration::outerColor());
0104         ui->useOuterColor->setChecked(ActiveShadowConfiguration::useOuterColor());
0105 
0106         setChecked(ActiveShadowConfiguration::enabled());
0107 
0108     } else if (_group == QPalette::Inactive) {
0109         if (defaults)
0110             InactiveShadowConfiguration::self()->setDefaults();
0111         else {
0112             InactiveShadowConfiguration::self()->load();
0113         }
0114 
0115         ui->shadowSize->setValue(InactiveShadowConfiguration::shadowSize());
0116         ui->verticalOffset->setValue(10 * InactiveShadowConfiguration::verticalOffset());
0117         ui->innerColor->setColor(InactiveShadowConfiguration::innerColor());
0118         ui->outerColor->setColor(InactiveShadowConfiguration::outerColor());
0119         ui->useOuterColor->setChecked(InactiveShadowConfiguration::useOuterColor());
0120 
0121         setChecked(InactiveShadowConfiguration::enabled());
0122     }
0123 }
0124 }