1/*
2 * configdialog.cpp
3 *
4 * SPDX-FileCopyrightText: 2004 Zack Rusin <zack@kde.org>
5 *
6 * SPDX-License-Identifier: LGPL-2.1-or-later
7 */
8#include "configdialog.h"
9#include "configwidget.h"
10
11#include <QDialogButtonBox>
12#include <QVBoxLayout>
13
14using namespace Sonnet;
15
16class Sonnet::ConfigDialogPrivate
17{
18public:
19 ConfigDialogPrivate(ConfigDialog *parent)
20 : q(parent)
21 {
22 }
23
24 ConfigWidget *ui = nullptr;
25 ConfigDialog *const q;
26 void slotConfigChanged();
27};
28
29void ConfigDialogPrivate::slotConfigChanged()
30{
31 Q_EMIT q->languageChanged(language: ui->language());
32}
33
34ConfigDialog::ConfigDialog(QWidget *parent)
35 : QDialog(parent)
36 , d(new ConfigDialogPrivate(this))
37{
38 setObjectName(QStringLiteral("SonnetConfigDialog"));
39 setModal(true);
40 setWindowTitle(tr(s: "Spell Checking Configuration"));
41
42 QVBoxLayout *layout = new QVBoxLayout(this);
43
44 d->ui = new ConfigWidget(this);
45 layout->addWidget(d->ui);
46
47 QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
48 buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
49 layout->addWidget(buttonBox);
50
51 connect(sender: buttonBox, signal: &QDialogButtonBox::accepted, context: this, slot: &ConfigDialog::slotOk);
52 connect(sender: buttonBox, signal: &QDialogButtonBox::rejected, context: this, slot: &QDialog::reject);
53 connect(sender: d->ui, SIGNAL(configChanged()), receiver: this, SLOT(slotConfigChanged()));
54
55 connect(sender: d->ui, signal: &ConfigWidget::configChanged, context: this, slot: &ConfigDialog::configChanged);
56}
57
58ConfigDialog::~ConfigDialog() = default;
59
60void ConfigDialog::slotOk()
61{
62 d->ui->save();
63 accept();
64}
65
66void ConfigDialog::slotApply()
67{
68 d->ui->save();
69}
70
71void ConfigDialog::setLanguage(const QString &language)
72{
73 d->ui->setLanguage(language);
74}
75
76QString ConfigDialog::language() const
77{
78 return d->ui->language();
79}
80
81#include "moc_configdialog.cpp"
82

source code of sonnet/src/ui/configdialog.cpp