File indexing completed on 2024-05-05 03:49:20

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2011 Dennis Nienhüser <nienhueser@kde.org>
0004 //
0005 
0006 #include "Settings.h"
0007 #include "MarbleDebug.h"
0008 
0009 #include <QApplication>
0010 #include <QSettings>
0011 
0012 Settings::Settings() :
0013     m_organizationName( QApplication::organizationName() ),
0014     m_applicationName( QApplication::applicationName() )
0015 {
0016     // nothing to do
0017 }
0018 
0019 QString Settings::organizationName() const
0020 {
0021     return m_organizationName;
0022 }
0023 
0024 void Settings::setOrganizationName( const QString &organization )
0025 {
0026     m_organizationName = organization;
0027 }
0028 
0029 QString Settings::applicationName() const
0030 {
0031     return m_applicationName;
0032 }
0033 
0034 void Settings::setApplicationName( const QString &application )
0035 {
0036     m_applicationName = application;
0037 }
0038 
0039 bool Settings::debugOutputEnabled() const
0040 {
0041     return Marble::MarbleDebug::isEnabled();
0042 }
0043 
0044 QVariant Settings::value( const QString &group, const QString &key, const QVariant &value ) const
0045 {
0046     QSettings settings( m_organizationName, m_applicationName );
0047     settings.beginGroup( group );
0048     return settings.value( key, value );
0049 }
0050 
0051 void Settings::setValue( const QString &group, const QString &key, const QVariant &value )
0052 {
0053     QSettings settings( m_organizationName, m_applicationName );
0054     settings.beginGroup( group );
0055     settings.setValue( key, value );
0056     settings.endGroup();
0057 }
0058 
0059 void Settings::remove(const QString &group, const QString &value)
0060 {
0061     QSettings settings(m_organizationName, m_applicationName);
0062     settings.beginGroup(group);
0063     settings.remove(value);
0064     settings.endGroup();
0065 }
0066 
0067 void Settings::setDebugOutputEnabled(bool debugOutputEnabled)
0068 {
0069     if (Marble::MarbleDebug::isEnabled() == debugOutputEnabled) {
0070         return;
0071     }
0072 
0073     Marble::MarbleDebug::setEnabled(debugOutputEnabled);
0074     emit debugOutputEnabledChanged(Marble::MarbleDebug::isEnabled());
0075 }
0076 
0077 #include "moc_Settings.cpp"