-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
preferencesdlg.cpp
80 lines (66 loc) · 2.22 KB
/
preferencesdlg.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
* SPDX-FileCopyrightText: 2008 Laurent Montel <[email protected]>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
*/
#include "preferencesdlg.h"
#include <QCheckBox>
#include <QGroupBox>
#include <QHBoxLayout>
#include <QPushButton>
#include "configurationmanager.h"
#include <KLocalizedString>
#include <sonnet/configwidget.h>
PreferencesDialog::PreferencesDialog(QWidget *parent)
: KPageDialog(parent)
{
setFaceType(List);
setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
m_pageMisc = new MiscPage(this);
KPageWidgetItem *page = new KPageWidgetItem(m_pageMisc, i18n("General options"));
page->setIcon(QIcon::fromTheme(QStringLiteral("kmenuedit")));
addPage(page);
m_pageSpellChecking = new SpellCheckingPage(this);
page = new KPageWidgetItem(m_pageSpellChecking, i18n("Spell Checking"));
page->setHeader(i18n("Spell checking Options"));
page->setIcon(QIcon::fromTheme(QStringLiteral("tools-check-spelling")));
addPage(page);
connect(button(QDialogButtonBox::Ok), &QPushButton::clicked, this, &PreferencesDialog::slotSave);
}
void PreferencesDialog::slotSave()
{
m_pageSpellChecking->saveOptions();
m_pageMisc->saveOptions();
}
SpellCheckingPage::SpellCheckingPage(QWidget *parent)
: QWidget(parent)
{
QHBoxLayout *lay = new QHBoxLayout(this);
m_confPage = new Sonnet::ConfigWidget(this);
lay->addWidget(m_confPage);
setLayout(lay);
}
void SpellCheckingPage::saveOptions()
{
m_confPage->save();
}
MiscPage::MiscPage(QWidget *parent)
: QWidget(parent)
{
// general group
QGroupBox *generalGroup = new QGroupBox(i18n("General"));
QVBoxLayout *generalGroupLayout = new QVBoxLayout(generalGroup);
m_showHiddenEntries = new QCheckBox(i18n("Show hidden entries"));
generalGroupLayout->addWidget(m_showHiddenEntries);
// add groups
QVBoxLayout *pageLayout = new QVBoxLayout(this);
pageLayout->addWidget(generalGroup);
pageLayout->addStretch();
// update displayed config
m_showHiddenEntries->setChecked(ConfigurationManager::getInstance()->hiddenEntriesVisible());
}
void MiscPage::saveOptions()
{
ConfigurationManager::getInstance()->setHiddenEntriesVisible(m_showHiddenEntries->isChecked());
}