File indexing completed on 2024-04-21 04:00:57
0001 /* 0002 * configdialog.cpp 0003 * 0004 * SPDX-FileCopyrightText: 2004 Zack Rusin <zack@kde.org> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-or-later 0007 */ 0008 #include "configdialog.h" 0009 #include "configwidget.h" 0010 0011 #include <QDialogButtonBox> 0012 #include <QVBoxLayout> 0013 0014 using namespace Sonnet; 0015 0016 class Sonnet::ConfigDialogPrivate 0017 { 0018 public: 0019 ConfigDialogPrivate(ConfigDialog *parent) 0020 : q(parent) 0021 { 0022 } 0023 0024 ConfigWidget *ui = nullptr; 0025 ConfigDialog *const q; 0026 void slotConfigChanged(); 0027 }; 0028 0029 void ConfigDialogPrivate::slotConfigChanged() 0030 { 0031 Q_EMIT q->languageChanged(ui->language()); 0032 } 0033 0034 ConfigDialog::ConfigDialog(QWidget *parent) 0035 : QDialog(parent) 0036 , d(new ConfigDialogPrivate(this)) 0037 { 0038 setObjectName(QStringLiteral("SonnetConfigDialog")); 0039 setModal(true); 0040 setWindowTitle(tr("Spell Checking Configuration")); 0041 0042 QVBoxLayout *layout = new QVBoxLayout(this); 0043 0044 d->ui = new ConfigWidget(this); 0045 layout->addWidget(d->ui); 0046 0047 QDialogButtonBox *buttonBox = new QDialogButtonBox(this); 0048 buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); 0049 layout->addWidget(buttonBox); 0050 0051 connect(buttonBox, &QDialogButtonBox::accepted, this, &ConfigDialog::slotOk); 0052 connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); 0053 connect(d->ui, SIGNAL(configChanged()), this, SLOT(slotConfigChanged())); 0054 0055 connect(d->ui, &ConfigWidget::configChanged, this, &ConfigDialog::configChanged); 0056 } 0057 0058 ConfigDialog::~ConfigDialog() = default; 0059 0060 void ConfigDialog::slotOk() 0061 { 0062 d->ui->save(); 0063 accept(); 0064 } 0065 0066 void ConfigDialog::slotApply() 0067 { 0068 d->ui->save(); 0069 } 0070 0071 void ConfigDialog::setLanguage(const QString &language) 0072 { 0073 d->ui->setLanguage(language); 0074 } 0075 0076 QString ConfigDialog::language() const 0077 { 0078 return d->ui->language(); 0079 } 0080 0081 #include "moc_configdialog.cpp"