File indexing completed on 2024-05-12 17:06:30
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 //_______________________________________________ 0025 AnimationConfigItem::AnimationConfigItem(QWidget *parent, const QString &title, const QString &description) 0026 : QWidget(parent) 0027 , ui(new Ui_AnimationConfigItem()) 0028 { 0029 ui->setupUi(this); 0030 layout()->setContentsMargins(0, 0, 0, 0); 0031 0032 ui->configurationButton->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); 0033 ui->descriptionButton->setIcon(QIcon::fromTheme(QStringLiteral("dialog-information"))); 0034 0035 connect(ui->enableCheckBox, SIGNAL(toggled(bool)), SIGNAL(changed())); 0036 connect(ui->descriptionButton, SIGNAL(clicked()), SLOT(about())); 0037 0038 setTitle(title); 0039 setDescription(description); 0040 } 0041 0042 //________________________________________________________________ 0043 AnimationConfigItem::~AnimationConfigItem(void) 0044 { 0045 delete ui; 0046 } 0047 0048 //________________________________________________________________ 0049 void AnimationConfigItem::setTitle(const QString &value) 0050 { 0051 ui->enableCheckBox->setText(value); 0052 } 0053 0054 //________________________________________________________________ 0055 QString AnimationConfigItem::title(void) const 0056 { 0057 return ui->enableCheckBox->text(); 0058 } 0059 0060 //________________________________________________________________ 0061 void AnimationConfigItem::setDescription(const QString &value) 0062 { 0063 _description = value; 0064 ui->descriptionButton->setEnabled(!_description.isEmpty()); 0065 } 0066 0067 //________________________________________________________________ 0068 void AnimationConfigItem::setEnabled(const bool &value) 0069 { 0070 ui->enableCheckBox->setChecked(value); 0071 } 0072 0073 //________________________________________________________________ 0074 bool AnimationConfigItem::enabled(void) const 0075 { 0076 return ui->enableCheckBox->isChecked(); 0077 } 0078 0079 //________________________________________________________________ 0080 QAbstractButton *AnimationConfigItem::configurationButton(void) const 0081 { 0082 return ui->configurationButton; 0083 } 0084 0085 //_______________________________________________ 0086 void AnimationConfigItem::setConfigurationWidget(QWidget *widget) 0087 { 0088 widget->setEnabled(ui->enableCheckBox->isChecked()); 0089 connect(ui->enableCheckBox, SIGNAL(toggled(bool)), widget, SLOT(setEnabled(bool))); 0090 connect(ui->configurationButton, SIGNAL(toggled(bool)), widget, SLOT(setVisible(bool))); 0091 } 0092 0093 //_______________________________________________ 0094 void AnimationConfigItem::about(void) 0095 { 0096 if (description().isEmpty()) 0097 return; 0098 KMessageBox::information(this, description(), i18n("oxygen-settings - information")); 0099 return; 0100 } 0101 }