1 /*
2     SPDX-FileCopyrightText: 2020 Benjamin Port <benjamin.port@enioka.com>
3 
4     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 */
6 
7 #include "spellcheckingskeleton.h"
8 #include <Sonnet/ConfigView>
9 #include <Sonnet/Settings>
10 
SpellCheckingSkeleton(QObject * parent)11 SpellCheckingSkeleton::SpellCheckingSkeleton(QObject *parent)
12     : KCoreConfigSkeleton(QString(), parent)
13     , m_store(new Sonnet::Settings(this))
14 {
15     // Associated with managed widget
16     addItem(new KPropertySkeletonItem(m_store, "skipUppercase", Sonnet::Settings::defaultSkipUppercase()), "skipUppercase");
17     addItem(new KPropertySkeletonItem(m_store, "autodetectLanguage", Sonnet::Settings::defaultAutodetectLanguage()), "autodetectLanguage");
18     addItem(new KPropertySkeletonItem(m_store, "backgroundCheckerEnabled", Sonnet::Settings::defaultBackgroundCheckerEnabled()), "backgroundCheckerEnabled");
19     addItem(new KPropertySkeletonItem(m_store, "checkerEnabledByDefault", Sonnet::Settings::defaultCheckerEnabledByDefault()), "checkerEnabledByDefault");
20     addItem(new KPropertySkeletonItem(m_store, "skipRunTogether", Sonnet::Settings::defauktSkipRunTogether()), "skipRunTogether");
21     usrRead();
22 }
23 
usrRead()24 void SpellCheckingSkeleton::usrRead()
25 {
26     m_ignoreList = m_store->currentIgnoreList();
27     m_preferredLanguages = m_store->preferredLanguages();
28     m_defaultLanguage = m_store->defaultLanguage();
29     KCoreConfigSkeleton::usrRead();
30 }
31 
usrSave()32 bool SpellCheckingSkeleton::usrSave()
33 {
34     m_store->setCurrentIgnoreList(m_ignoreList);
35     m_store->setPreferredLanguages(m_preferredLanguages);
36     m_store->setDefaultLanguage(m_defaultLanguage);
37     m_store->save();
38     return KCoreConfigSkeleton::usrSave();
39 }
40 
setPreferredLanguages(const QStringList & preferredLanguages)41 void SpellCheckingSkeleton::setPreferredLanguages(const QStringList &preferredLanguages)
42 {
43     m_preferredLanguages = preferredLanguages;
44 }
45 
preferredLanguages() const46 QStringList SpellCheckingSkeleton::preferredLanguages() const
47 {
48     return m_preferredLanguages;
49 }
50 
setIgnoreList(const QStringList & ignoreList)51 void SpellCheckingSkeleton::setIgnoreList(const QStringList &ignoreList)
52 {
53     m_ignoreList = ignoreList;
54 }
55 
ignoreList() const56 QStringList SpellCheckingSkeleton::ignoreList() const
57 {
58     return m_ignoreList;
59 }
60 
setDefaultLanguage(const QString & defaultLanguage)61 void SpellCheckingSkeleton::setDefaultLanguage(const QString &defaultLanguage)
62 {
63     m_defaultLanguage = defaultLanguage;
64 }
65 
defaultLanguage() const66 QString SpellCheckingSkeleton::defaultLanguage() const
67 {
68     return m_defaultLanguage;
69 }
70 
clients() const71 QStringList SpellCheckingSkeleton::clients() const
72 {
73     return m_store->clients();
74 }
75 
76 #include "spellcheckingskeleton.moc"
77