File indexing completed on 2024-05-05 05:35:32
0001 ////////////////////////////////////////////////////////////////////////////// 0002 // oxygenanimationconfigitem.cpp 0003 // animation configuration item 0004 // ------------------- 0005 // 0006 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0007 // 0008 // SPDX-License-Identifier: MIT 0009 ////////////////////////////////////////////////////////////////////////////// 0010 0011 #include "oxygenanimationconfigitem.h" 0012 #include "ui_oxygenanimationconfigitem.h" 0013 0014 #include "liboxygen.h" 0015 0016 #include <KLocalizedString> 0017 #include <KMessageBox> 0018 #include <QIcon> 0019 #include <QTextStream> 0020 0021 namespace Oxygen 0022 { 0023 //_______________________________________________ 0024 AnimationConfigItem::AnimationConfigItem(QWidget *parent, const QString &title, const QString &description) 0025 : QWidget(parent) 0026 , ui(new Ui_AnimationConfigItem()) 0027 { 0028 ui->setupUi(this); 0029 layout()->setContentsMargins(0, 0, 0, 0); 0030 0031 ui->configurationButton->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); 0032 ui->descriptionButton->setIcon(QIcon::fromTheme(QStringLiteral("dialog-information"))); 0033 0034 connect(ui->enableCheckBox, SIGNAL(toggled(bool)), SIGNAL(changed())); 0035 connect(ui->descriptionButton, SIGNAL(clicked()), SLOT(about())); 0036 0037 setTitle(title); 0038 setDescription(description); 0039 } 0040 0041 //________________________________________________________________ 0042 AnimationConfigItem::~AnimationConfigItem(void) 0043 { 0044 delete ui; 0045 } 0046 0047 //________________________________________________________________ 0048 void AnimationConfigItem::setTitle(const QString &value) 0049 { 0050 ui->enableCheckBox->setText(value); 0051 } 0052 0053 //________________________________________________________________ 0054 QString AnimationConfigItem::title(void) const 0055 { 0056 return ui->enableCheckBox->text(); 0057 } 0058 0059 //________________________________________________________________ 0060 void AnimationConfigItem::setDescription(const QString &value) 0061 { 0062 _description = value; 0063 ui->descriptionButton->setEnabled(!_description.isEmpty()); 0064 } 0065 0066 //________________________________________________________________ 0067 void AnimationConfigItem::setEnabled(const bool &value) 0068 { 0069 ui->enableCheckBox->setChecked(value); 0070 } 0071 0072 //________________________________________________________________ 0073 bool AnimationConfigItem::enabled(void) const 0074 { 0075 return ui->enableCheckBox->isChecked(); 0076 } 0077 0078 //________________________________________________________________ 0079 QAbstractButton *AnimationConfigItem::configurationButton(void) const 0080 { 0081 return ui->configurationButton; 0082 } 0083 0084 //_______________________________________________ 0085 void AnimationConfigItem::setConfigurationWidget(QWidget *widget) 0086 { 0087 widget->setEnabled(ui->enableCheckBox->isChecked()); 0088 connect(ui->enableCheckBox, SIGNAL(toggled(bool)), widget, SLOT(setEnabled(bool))); 0089 connect(ui->configurationButton, SIGNAL(toggled(bool)), widget, SLOT(setVisible(bool))); 0090 } 0091 0092 //_______________________________________________ 0093 void AnimationConfigItem::about(void) 0094 { 0095 if (description().isEmpty()) 0096 return; 0097 KMessageBox::information(this, description(), i18n("oxygen-settings - information")); 0098 return; 0099 } 0100 }