File indexing completed on 2024-05-12 05:35:51

0001 /*
0002     SPDX-FileCopyrightText: 2020 Benjamin Port <benjamin.port@enioka.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #include "spellcheckingskeleton.h"
0008 #include <Sonnet/ConfigView>
0009 #include <Sonnet/Settings>
0010 
0011 SpellCheckingSkeleton::SpellCheckingSkeleton(QObject *parent)
0012     : KCoreConfigSkeleton(QString(), parent)
0013     , m_store(new Sonnet::Settings(this))
0014 {
0015     // Associated with managed widget
0016     addItem(new KPropertySkeletonItem(m_store, "skipUppercase", Sonnet::Settings::defaultSkipUppercase()), "skipUppercase");
0017     addItem(new KPropertySkeletonItem(m_store, "autodetectLanguage", Sonnet::Settings::defaultAutodetectLanguage()), "autodetectLanguage");
0018     addItem(new KPropertySkeletonItem(m_store, "backgroundCheckerEnabled", Sonnet::Settings::defaultBackgroundCheckerEnabled()), "backgroundCheckerEnabled");
0019     addItem(new KPropertySkeletonItem(m_store, "checkerEnabledByDefault", Sonnet::Settings::defaultCheckerEnabledByDefault()), "checkerEnabledByDefault");
0020     addItem(new KPropertySkeletonItem(m_store, "skipRunTogether", Sonnet::Settings::defauktSkipRunTogether()), "skipRunTogether");
0021     usrRead();
0022 }
0023 
0024 void SpellCheckingSkeleton::usrRead()
0025 {
0026     m_ignoreList = m_store->currentIgnoreList();
0027     m_preferredLanguages = m_store->preferredLanguages();
0028     m_defaultLanguage = m_store->defaultLanguage();
0029     KCoreConfigSkeleton::usrRead();
0030 }
0031 
0032 bool SpellCheckingSkeleton::usrSave()
0033 {
0034     m_store->setCurrentIgnoreList(m_ignoreList);
0035     m_store->setPreferredLanguages(m_preferredLanguages);
0036     m_store->setDefaultLanguage(m_defaultLanguage);
0037     m_store->save();
0038     return KCoreConfigSkeleton::usrSave();
0039 }
0040 
0041 void SpellCheckingSkeleton::setPreferredLanguages(const QStringList &preferredLanguages)
0042 {
0043     m_preferredLanguages = preferredLanguages;
0044 }
0045 
0046 QStringList SpellCheckingSkeleton::preferredLanguages() const
0047 {
0048     return m_preferredLanguages;
0049 }
0050 
0051 void SpellCheckingSkeleton::setIgnoreList(const QStringList &ignoreList)
0052 {
0053     m_ignoreList = ignoreList;
0054 }
0055 
0056 QStringList SpellCheckingSkeleton::ignoreList() const
0057 {
0058     return m_ignoreList;
0059 }
0060 
0061 void SpellCheckingSkeleton::setDefaultLanguage(const QString &defaultLanguage)
0062 {
0063     m_defaultLanguage = defaultLanguage;
0064 }
0065 
0066 QString SpellCheckingSkeleton::defaultLanguage() const
0067 {
0068     return m_defaultLanguage;
0069 }
0070 
0071 QStringList SpellCheckingSkeleton::clients() const
0072 {
0073     return m_store->clients();
0074 }
0075 
0076 #include "spellcheckingskeleton.moc"