File indexing completed on 2023-05-30 10:45:25
0001 /* 0002 SPDX-FileCopyrightText: 2010 Peter Hedlund <peter.hedlund@kdemail.net> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 // Own 0007 #include "kwqcleardialog.h" 0008 0009 // Qt 0010 #include <QPushButton> 0011 #include <QDialogButtonBox> 0012 0013 // Kwq 0014 #include "prefs.h" 0015 0016 KWQClearDialog::KWQClearDialog(QWidget* parent): QDialog(parent) 0017 { 0018 setWindowTitle(i18nc("@title:window", "Clear Contents")); 0019 QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); 0020 QWidget *mainWidget = new QWidget(this); 0021 QVBoxLayout *mainLayout = new QVBoxLayout; 0022 setLayout(mainLayout); 0023 mainLayout->addWidget(mainWidget); 0024 QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); 0025 okButton->setDefault(true); 0026 okButton->setShortcut(Qt::CTRL | Qt::Key_Return); 0027 connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); 0028 connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); 0029 mainLayout->addWidget(buttonBox); 0030 setupUi(mainWidget); 0031 0032 connect(clearButtonGroup, &QGroupBox::clicked, this, &KWQClearDialog::buttonGroupChanged); 0033 0034 updateCheckBoxes(); 0035 } 0036 0037 void KWQClearDialog::buttonGroupChanged(int id) 0038 { 0039 Q_UNUSED(id); 0040 Prefs::setClearAll(clearAllCheckBox->isChecked()); 0041 Prefs::setClearText(clearTextCheckBox->isChecked()); 0042 Prefs::setClearImageLink(clearImageCheckBox->isChecked()); 0043 Prefs::setClearSoundLink(clearSoundCheckBox->isChecked()); 0044 updateCheckBoxes(); 0045 } 0046 0047 void KWQClearDialog::updateCheckBoxes() 0048 { 0049 bool all = Prefs::clearAll(); 0050 clearAllCheckBox->setChecked(all); 0051 clearTextCheckBox->setChecked(Prefs::clearText()); 0052 clearImageCheckBox->setChecked(Prefs::clearImageLink()); 0053 clearSoundCheckBox->setChecked(Prefs::clearSoundLink()); 0054 0055 clearTextCheckBox->setEnabled(!all); 0056 clearImageCheckBox->setEnabled(!all); 0057 clearSoundCheckBox->setEnabled(!all); 0058 } 0059 0060 void KWQClearDialog::accept() 0061 { 0062 Prefs::setClearAll(clearAllCheckBox->isChecked()); 0063 Prefs::setClearText(clearTextCheckBox->isChecked()); 0064 Prefs::setClearImageLink(clearImageCheckBox->isChecked()); 0065 Prefs::setClearSoundLink(clearSoundCheckBox->isChecked()); 0066 QDialog::accept(); 0067 }