// This file is generated by kconfig_compiler_kf5 from marble.kcfg.
// All changes you do to this file will be lost.
#ifndef MARBLESETTINGS_H
#define MARBLESETTINGS_H

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

#include "../../lib/marble/MarbleGlobal.h"
#include <QtCore/QDir>
#include <QtCore/QLocale>
#include <QFontDatabase>
class MarbleSettings : public KConfigSkeleton
{
  public:

    static MarbleSettings *self();
    ~MarbleSettings();

    /**
      Set homeLongitude
    */
    static
    void setHomeLongitude( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "homeLongitude" ) ))
        self()->mHomeLongitude = v;
    }

    /**
      Get homeLongitude
    */
    static
    double homeLongitude()
    {
      return self()->mHomeLongitude;
    }

    /**
      Set homeLatitude
    */
    static
    void setHomeLatitude( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "homeLatitude" ) ))
        self()->mHomeLatitude = v;
    }

    /**
      Get homeLatitude
    */
    static
    double homeLatitude()
    {
      return self()->mHomeLatitude;
    }

    /**
      Set homeZoom
    */
    static
    void setHomeZoom( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "homeZoom" ) ))
        self()->mHomeZoom = v;
    }

    /**
      Get homeZoom
    */
    static
    int homeZoom()
    {
      return self()->mHomeZoom;
    }

    /**
      Set quitLongitude
    */
    static
    void setQuitLongitude( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "quitLongitude" ) ))
        self()->mQuitLongitude = v;
    }

    /**
      Get quitLongitude
    */
    static
    double quitLongitude()
    {
      return self()->mQuitLongitude;
    }

    /**
      Set quitLatitude
    */
    static
    void setQuitLatitude( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "quitLatitude" ) ))
        self()->mQuitLatitude = v;
    }

    /**
      Get quitLatitude
    */
    static
    double quitLatitude()
    {
      return self()->mQuitLatitude;
    }

    /**
      Set quitRange
    */
    static
    void setQuitRange( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "quitRange" ) ))
        self()->mQuitRange = v;
    }

    /**
      Get quitRange
    */
    static
    double quitRange()
    {
      return self()->mQuitRange;
    }

    /**
      Set mapTheme
    */
    static
    void setMapTheme( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "mapTheme" ) ))
        self()->mMapTheme = v;
    }

    /**
      Get mapTheme
    */
    static
    QString mapTheme()
    {
      return self()->mMapTheme;
    }

    /**
      Set showClouds
    */
    static
    void setShowClouds( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showClouds" ) ))
        self()->mShowClouds = v;
    }

    /**
      Get showClouds
    */
    static
    bool showClouds()
    {
      return self()->mShowClouds;
    }

    /**
      Set workOffline
    */
    static
    void setWorkOffline( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "workOffline" ) ))
        self()->mWorkOffline = v;
    }

    /**
      Get workOffline
    */
    static
    bool workOffline()
    {
      return self()->mWorkOffline;
    }

    /**
      Set showCurrentLocation
    */
    static
    void setShowCurrentLocation( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showCurrentLocation" ) ))
        self()->mShowCurrentLocation = v;
    }

    /**
      Get showCurrentLocation
    */
    static
    bool showCurrentLocation()
    {
      return self()->mShowCurrentLocation;
    }

    /**
      Set lockFloatItemPositions
    */
    static
    void setLockFloatItemPositions( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "lockFloatItemPositions" ) ))
        self()->mLockFloatItemPositions = v;
    }

    /**
      Get lockFloatItemPositions
    */
    static
    bool lockFloatItemPositions()
    {
      return self()->mLockFloatItemPositions;
    }

    /**
      Set projection
    */
    static
    void setProjection( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "projection" ) ))
        self()->mProjection = v;
    }

    /**
      Get projection
    */
    static
    int projection()
    {
      return self()->mProjection;
    }

    /**
      Set marbleDataPath
    */
    static
    void setMarbleDataPath( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "marbleDataPath" ) ))
        self()->mMarbleDataPath = v;
    }

    /**
      Get marbleDataPath
    */
    static
    QString marbleDataPath()
    {
      return self()->mMarbleDataPath;
    }

    /**
      Set showBookmarks
    */
    static
    void setShowBookmarks( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showBookmarks" ) ))
        self()->mShowBookmarks = v;
    }

    /**
      Get showBookmarks
    */
    static
    bool showBookmarks()
    {
      return self()->mShowBookmarks;
    }

    /**
      Set The date and time of marble clock
    */
    static
    void setDateTime( const QDateTime & v )
    {
      if (!self()->isImmutable( QStringLiteral( "dateTime" ) ))
        self()->mDateTime = v;
    }

    /**
      Get The date and time of marble clock
    */
    static
    QDateTime dateTime()
    {
      return self()->mDateTime;
    }

    /**
      Set The speed of marble clock
    */
    static
    void setSpeedSlider( int v )
    {
      if (v < -100)
      {
        qDebug() << "setSpeedSlider: value " << v << " is less than the minimum value of -100";
        v = -100;
      }

      if (v > 100)
      {
        qDebug() << "setSpeedSlider: value " << v << " is greater than the maximum value of 100";
        v = 100;
      }

      if (!self()->isImmutable( QStringLiteral( "speedSlider" ) ))
        self()->mSpeedSlider = v;
    }

    /**
      Get The speed of marble clock
    */
    static
    int speedSlider()
    {
      return self()->mSpeedSlider;
    }

    /**
      Set systemTime
    */
    static
    void setSystemTime( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "systemTime" ) ))
        self()->mSystemTime = v;
    }

    /**
      Get systemTime
    */
    static
    bool systemTime()
    {
      return self()->mSystemTime;
    }

    /**
      Set lastSessionTime
    */
    static
    void setLastSessionTime( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "lastSessionTime" ) ))
        self()->mLastSessionTime = v;
    }

    /**
      Get lastSessionTime
    */
    static
    bool lastSessionTime()
    {
      return self()->mLastSessionTime;
    }

    /**
      Set systemTimezone
    */
    static
    void setSystemTimezone( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "systemTimezone" ) ))
        self()->mSystemTimezone = v;
    }

    /**
      Get systemTimezone
    */
    static
    bool systemTimezone()
    {
      return self()->mSystemTimezone;
    }

    /**
      Set utc
    */
    static
    void setUtc( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "utc" ) ))
        self()->mUtc = v;
    }

    /**
      Get utc
    */
    static
    bool utc()
    {
      return self()->mUtc;
    }

    /**
      Set customTimezone
    */
    static
    void setCustomTimezone( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "customTimezone" ) ))
        self()->mCustomTimezone = v;
    }

    /**
      Get customTimezone
    */
    static
    bool customTimezone()
    {
      return self()->mCustomTimezone;
    }

    /**
      Set chosenTimezone
    */
    static
    void setChosenTimezone( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "chosenTimezone" ) ))
        self()->mChosenTimezone = v;
    }

    /**
      Get chosenTimezone
    */
    static
    int chosenTimezone()
    {
      return self()->mChosenTimezone;
    }

    /**
      Set autoCenter
    */
    static
    void setAutoCenter( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "autoCenter" ) ))
        self()->mAutoCenter = v;
    }

    /**
      Get autoCenter
    */
    static
    bool autoCenter()
    {
      return self()->mAutoCenter;
    }

    /**
      Set trackVisible
    */
    static
    void setTrackVisible( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "trackVisible" ) ))
        self()->mTrackVisible = v;
    }

    /**
      Get trackVisible
    */
    static
    bool trackVisible()
    {
      return self()->mTrackVisible;
    }

    /**
      Set lastTrackOpenPath
    */
    static
    void setLastTrackOpenPath( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "lastTrackOpenPath" ) ))
        self()->mLastTrackOpenPath = v;
    }

    /**
      Get lastTrackOpenPath
    */
    static
    QString lastTrackOpenPath()
    {
      return self()->mLastTrackOpenPath;
    }

    /**
      Set lastTrackSavePath
    */
    static
    void setLastTrackSavePath( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "lastTrackSavePath" ) ))
        self()->mLastTrackSavePath = v;
    }

    /**
      Get lastTrackSavePath
    */
    static
    QString lastTrackSavePath()
    {
      return self()->mLastTrackSavePath;
    }

    /**
      Set autoZoom
    */
    static
    void setAutoZoom( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "autoZoom" ) ))
        self()->mAutoZoom = v;
    }

    /**
      Get autoZoom
    */
    static
    bool autoZoom()
    {
      return self()->mAutoZoom;
    }

    /**
      Set recenterMode
    */
    static
    void setRecenterMode( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "recenterMode" ) ))
        self()->mRecenterMode = v;
    }

    /**
      Get recenterMode
    */
    static
    int recenterMode()
    {
      return self()->mRecenterMode;
    }

    /**
      Set The unit chosen to measure distances.
    */
    static
    void setDistanceUnit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "distanceUnit" ) ))
        self()->mDistanceUnit = v;
    }

    /**
      Get The unit chosen to measure distances.
    */
    static
    int distanceUnit()
    {
      return self()->mDistanceUnit;
    }

    /**
      Set The unit chosen to measure angles.
    */
    static
    void setAngleUnit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "angleUnit" ) ))
        self()->mAngleUnit = v;
    }

    /**
      Get The unit chosen to measure angles.
    */
    static
    int angleUnit()
    {
      return self()->mAngleUnit;
    }

    /**
      Set The quality at which a still map gets painted.
    */
    static
    void setStillQuality( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "stillQuality" ) ))
        self()->mStillQuality = v;
    }

    /**
      Get The quality at which a still map gets painted.
    */
    static
    int stillQuality()
    {
      return self()->mStillQuality;
    }

    /**
      Set The quality at which an animated map gets painted.
    */
    static
    void setAnimationQuality( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "animationQuality" ) ))
        self()->mAnimationQuality = v;
    }

    /**
      Get The quality at which an animated map gets painted.
    */
    static
    int animationQuality()
    {
      return self()->mAnimationQuality;
    }

    /**
      Set The localization of the labels.
    */
    static
    void setLabelLocalization( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "labelLocalization" ) ))
        self()->mLabelLocalization = v;
    }

    /**
      Get The localization of the labels.
    */
    static
    int labelLocalization()
    {
      return self()->mLabelLocalization;
    }

    /**
      Set The general font used on the map.
    */
    static
    void setMapFont( const QFont & v )
    {
      if (!self()->isImmutable( QStringLiteral( "mapFont" ) ))
        self()->mMapFont = v;
    }

    /**
      Get The general font used on the map.
    */
    static
    QFont mapFont()
    {
      return self()->mMapFont;
    }

    /**
      Set The last directory that was opened by File->Open.
    */
    static
    void setLastFileOpenDir( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "lastFileOpenDir" ) ))
        self()->mLastFileOpenDir = v;
    }

    /**
      Get The last directory that was opened by File->Open.
    */
    static
    QString lastFileOpenDir()
    {
      return self()->mLastFileOpenDir;
    }

    /**
      Set showSun
    */
    static
    void setShowSun( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showSun" ) ))
        self()->mShowSun = v;
    }

    /**
      Get showSun
    */
    static
    bool showSun()
    {
      return self()->mShowSun;
    }

    /**
      Set showCitylights
    */
    static
    void setShowCitylights( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showCitylights" ) ))
        self()->mShowCitylights = v;
    }

    /**
      Get showCitylights
    */
    static
    bool showCitylights()
    {
      return self()->mShowCitylights;
    }

    /**
      Set subSolarPointIconVisible
    */
    static
    void setSubSolarPointIconVisible( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "subSolarPointIconVisible" ) ))
        self()->mSubSolarPointIconVisible = v;
    }

    /**
      Get subSolarPointIconVisible
    */
    static
    bool subSolarPointIconVisible()
    {
      return self()->mSubSolarPointIconVisible;
    }

    /**
      Set lockToSubSolarPoint
    */
    static
    void setLockToSubSolarPoint( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "lockToSubSolarPoint" ) ))
        self()->mLockToSubSolarPoint = v;
    }

    /**
      Get lockToSubSolarPoint
    */
    static
    bool lockToSubSolarPoint()
    {
      return self()->mLockToSubSolarPoint;
    }

    /**
      Set The behaviour of the planet's axis on mouse dragging.
    */
    static
    void setDragLocation( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "dragLocation" ) ))
        self()->mDragLocation = v;
    }

    /**
      Get The behaviour of the planet's axis on mouse dragging.
    */
    static
    int dragLocation()
    {
      return self()->mDragLocation;
    }

    /**
      Set The location shown on application startup.
    */
    static
    void setOnStartup( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "onStartup" ) ))
        self()->mOnStartup = v;
    }

    /**
      Get The location shown on application startup.
    */
    static
    int onStartup()
    {
      return self()->mOnStartup;
    }

    /**
      Set inertialEarthRotation
    */
    static
    void setInertialEarthRotation( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "inertialEarthRotation" ) ))
        self()->mInertialEarthRotation = v;
    }

    /**
      Get inertialEarthRotation
    */
    static
    bool inertialEarthRotation()
    {
      return self()->mInertialEarthRotation;
    }

    /**
      Set Display animation on voyage to target.
    */
    static
    void setAnimateTargetVoyage( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "animateTargetVoyage" ) ))
        self()->mAnimateTargetVoyage = v;
    }

    /**
      Get Display animation on voyage to target.
    */
    static
    bool animateTargetVoyage()
    {
      return self()->mAnimateTargetVoyage;
    }

    /**
      Set The external OpenStreetMap editor application
    */
    static
    void setExternalMapEditor( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "externalMapEditor" ) ))
        self()->mExternalMapEditor = v;
    }

    /**
      Get The external OpenStreetMap editor application
    */
    static
    int externalMapEditor()
    {
      return self()->mExternalMapEditor;
    }

    /**
      Set Cache for tiles reserved in the physical memory.
    */
    static
    void setVolatileTileCacheLimit( int v )
    {
      if (v < 0)
      {
        qDebug() << "setVolatileTileCacheLimit: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 999999)
      {
        qDebug() << "setVolatileTileCacheLimit: value " << v << " is greater than the maximum value of 999999";
        v = 999999;
      }

      if (!self()->isImmutable( QStringLiteral( "volatileTileCacheLimit" ) ))
        self()->mVolatileTileCacheLimit = v;
    }

    /**
      Get Cache for tiles reserved in the physical memory.
    */
    static
    int volatileTileCacheLimit()
    {
      return self()->mVolatileTileCacheLimit;
    }

    /**
      Set Maximum space on the hard disk that can be used to store tiles.
    */
    static
    void setPersistentTileCacheLimit( int v )
    {
      if (v < 0)
      {
        qDebug() << "setPersistentTileCacheLimit: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 999999)
      {
        qDebug() << "setPersistentTileCacheLimit: value " << v << " is greater than the maximum value of 999999";
        v = 999999;
      }

      if (!self()->isImmutable( QStringLiteral( "persistentTileCacheLimit" ) ))
        self()->mPersistentTileCacheLimit = v;
    }

    /**
      Get Maximum space on the hard disk that can be used to store tiles.
    */
    static
    int persistentTileCacheLimit()
    {
      return self()->mPersistentTileCacheLimit;
    }

    /**
      Set URL for the proxy server.
    */
    static
    void setProxyUrl( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxyUrl" ) ))
        self()->mProxyUrl = v;
    }

    /**
      Get URL for the proxy server.
    */
    static
    QString proxyUrl()
    {
      return self()->mProxyUrl;
    }

    /**
      Set Port for the proxy server.
    */
    static
    void setProxyPort( int v )
    {
      if (v < 0)
      {
        qDebug() << "setProxyPort: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 65535)
      {
        qDebug() << "setProxyPort: value " << v << " is greater than the maximum value of 65535";
        v = 65535;
      }

      if (!self()->isImmutable( QStringLiteral( "proxyPort" ) ))
        self()->mProxyPort = v;
    }

    /**
      Get Port for the proxy server.
    */
    static
    int proxyPort()
    {
      return self()->mProxyPort;
    }

    /**
      Set Username for authorization.
    */
    static
    void setProxyUser( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxyUser" ) ))
        self()->mProxyUser = v;
    }

    /**
      Get Username for authorization.
    */
    static
    QString proxyUser()
    {
      return self()->mProxyUser;
    }

    /**
      Set Password for authorization.
    */
    static
    void setProxyPass( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxyPass" ) ))
        self()->mProxyPass = v;
    }

    /**
      Get Password for authorization.
    */
    static
    QString proxyPass()
    {
      return self()->mProxyPass;
    }

    /**
      Set Proxy type is HTTP
    */
    static
    void setProxyHttp( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxyHttp" ) ))
        self()->mProxyHttp = v;
    }

    /**
      Get Proxy type is HTTP
    */
    static
    bool proxyHttp()
    {
      return self()->mProxyHttp;
    }

    /**
      Set proxyType
    */
    static
    void setProxyType( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxyType" ) ))
        self()->mProxyType = v;
    }

    /**
      Get proxyType
    */
    static
    int proxyType()
    {
      return self()->mProxyType;
    }

    /**
      Set Proxy type is Socks5
    */
    static
    void setProxySocks5( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxySocks5" ) ))
        self()->mProxySocks5 = v;
    }

    /**
      Get Proxy type is Socks5
    */
    static
    bool proxySocks5()
    {
      return self()->mProxySocks5;
    }

    /**
      Set Proxy requires Authentication
    */
    static
    void setProxyAuth( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "proxyAuth" ) ))
        self()->mProxyAuth = v;
    }

    /**
      Get Proxy requires Authentication
    */
    static
    bool proxyAuth()
    {
      return self()->mProxyAuth;
    }

    /**
      Set The position tracking plugin used to determine the current location
    */
    static
    void setActivePositionTrackingPlugin( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "activePositionTrackingPlugin" ) ))
        self()->mActivePositionTrackingPlugin = v;
    }

    /**
      Get The position tracking plugin used to determine the current location
    */
    static
    QString activePositionTrackingPlugin()
    {
      return self()->mActivePositionTrackingPlugin;
    }

    /**
      Set showPositionLabel
    */
    static
    void setShowPositionLabel( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showPositionLabel" ) ))
        self()->mShowPositionLabel = v;
    }

    /**
      Get showPositionLabel
    */
    static
    bool showPositionLabel()
    {
      return self()->mShowPositionLabel;
    }

    /**
      Set showAltitudeLabel
    */
    static
    void setShowAltitudeLabel( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showAltitudeLabel" ) ))
        self()->mShowAltitudeLabel = v;
    }

    /**
      Get showAltitudeLabel
    */
    static
    bool showAltitudeLabel()
    {
      return self()->mShowAltitudeLabel;
    }

    /**
      Set showTileZoomLevelLabel
    */
    static
    void setShowTileZoomLevelLabel( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showTileZoomLevelLabel" ) ))
        self()->mShowTileZoomLevelLabel = v;
    }

    /**
      Get showTileZoomLevelLabel
    */
    static
    bool showTileZoomLevelLabel()
    {
      return self()->mShowTileZoomLevelLabel;
    }

    /**
      Set showDownloadProgressBar
    */
    static
    void setShowDownloadProgressBar( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showDownloadProgressBar" ) ))
        self()->mShowDownloadProgressBar = v;
    }

    /**
      Get showDownloadProgressBar
    */
    static
    bool showDownloadProgressBar()
    {
      return self()->mShowDownloadProgressBar;
    }

    /**
      Set showDateTimeLabel
    */
    static
    void setShowDateTimeLabel( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showDateTimeLabel" ) ))
        self()->mShowDateTimeLabel = v;
    }

    /**
      Get showDateTimeLabel
    */
    static
    bool showDateTimeLabel()
    {
      return self()->mShowDateTimeLabel;
    }

    /**
      Set wmsServers
    */
    static
    void setWmsServers( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "wmsServers" ) ))
        self()->mWmsServers = v;
    }

    /**
      Get wmsServers
    */
    static
    QStringList wmsServers()
    {
      return self()->mWmsServers;
    }

    /**
      Set staticUrlServers
    */
    static
    void setStaticUrlServers( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "staticUrlServers" ) ))
        self()->mStaticUrlServers = v;
    }

    /**
      Get staticUrlServers
    */
    static
    QStringList staticUrlServers()
    {
      return self()->mStaticUrlServers;
    }

    /**
      Set showGuidanceModeStartupWarning
    */
    static
    void setShowGuidanceModeStartupWarning( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showGuidanceModeStartupWarning" ) ))
        self()->mShowGuidanceModeStartupWarning = v;
    }

    /**
      Get showGuidanceModeStartupWarning
    */
    static
    bool showGuidanceModeStartupWarning()
    {
      return self()->mShowGuidanceModeStartupWarning;
    }

    /**
      Set currentRoutingProfile
    */
    static
    void setCurrentRoutingProfile( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "currentRoutingProfile" ) ))
        self()->mCurrentRoutingProfile = v;
    }

    /**
      Get currentRoutingProfile
    */
    static
    int currentRoutingProfile()
    {
      return self()->mCurrentRoutingProfile;
    }

    /**
      Set routeColorStandard
    */
    static
    void setRouteColorStandard( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "routeColorStandard" ) ))
        self()->mRouteColorStandard = v;
    }

    /**
      Get routeColorStandard
    */
    static
    QColor routeColorStandard()
    {
      return self()->mRouteColorStandard;
    }

    /**
      Set routeAlphaStandard
    */
    static
    void setRouteAlphaStandard( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "routeAlphaStandard" ) ))
        self()->mRouteAlphaStandard = v;
    }

    /**
      Get routeAlphaStandard
    */
    static
    int routeAlphaStandard()
    {
      return self()->mRouteAlphaStandard;
    }

    /**
      Set routeColorHighlighted
    */
    static
    void setRouteColorHighlighted( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "routeColorHighlighted" ) ))
        self()->mRouteColorHighlighted = v;
    }

    /**
      Get routeColorHighlighted
    */
    static
    QColor routeColorHighlighted()
    {
      return self()->mRouteColorHighlighted;
    }

    /**
      Set routeAlphaHighlighted
    */
    static
    void setRouteAlphaHighlighted( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "routeAlphaHighlighted" ) ))
        self()->mRouteAlphaHighlighted = v;
    }

    /**
      Get routeAlphaHighlighted
    */
    static
    int routeAlphaHighlighted()
    {
      return self()->mRouteAlphaHighlighted;
    }

    /**
      Set routeColorAlternative
    */
    static
    void setRouteColorAlternative( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "routeColorAlternative" ) ))
        self()->mRouteColorAlternative = v;
    }

    /**
      Get routeColorAlternative
    */
    static
    QColor routeColorAlternative()
    {
      return self()->mRouteColorAlternative;
    }

    /**
      Set routeAlphaAlternative
    */
    static
    void setRouteAlphaAlternative( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "routeAlphaAlternative" ) ))
        self()->mRouteAlphaAlternative = v;
    }

    /**
      Get routeAlphaAlternative
    */
    static
    int routeAlphaAlternative()
    {
      return self()->mRouteAlphaAlternative;
    }

    /**
      Set enableSync
    */
    static
    void setEnableSync( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "enableSync" ) ))
        self()->mEnableSync = v;
    }

    /**
      Get enableSync
    */
    static
    bool enableSync()
    {
      return self()->mEnableSync;
    }

    /**
      Set syncBackend
    */
    static
    void setSyncBackend( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "syncBackend" ) ))
        self()->mSyncBackend = v;
    }

    /**
      Get syncBackend
    */
    static
    QString syncBackend()
    {
      return self()->mSyncBackend;
    }

    /**
      Set syncBookmarks
    */
    static
    void setSyncBookmarks( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "syncBookmarks" ) ))
        self()->mSyncBookmarks = v;
    }

    /**
      Get syncBookmarks
    */
    static
    bool syncBookmarks()
    {
      return self()->mSyncBookmarks;
    }

    /**
      Set syncRoutes
    */
    static
    void setSyncRoutes( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "syncRoutes" ) ))
        self()->mSyncRoutes = v;
    }

    /**
      Get syncRoutes
    */
    static
    bool syncRoutes()
    {
      return self()->mSyncRoutes;
    }

    /**
      Set owncloudServer
    */
    static
    void setOwncloudServer( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "owncloudServer" ) ))
        self()->mOwncloudServer = v;
    }

    /**
      Get owncloudServer
    */
    static
    QString owncloudServer()
    {
      return self()->mOwncloudServer;
    }

    /**
      Set owncloudUsername
    */
    static
    void setOwncloudUsername( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "owncloudUsername" ) ))
        self()->mOwncloudUsername = v;
    }

    /**
      Get owncloudUsername
    */
    static
    QString owncloudUsername()
    {
      return self()->mOwncloudUsername;
    }

    /**
      Set owncloudPassword
    */
    static
    void setOwncloudPassword( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "owncloudPassword" ) ))
        self()->mOwncloudPassword = v;
    }

    /**
      Get owncloudPassword
    */
    static
    QString owncloudPassword()
    {
      return self()->mOwncloudPassword;
    }

  protected:
    MarbleSettings();
    friend class MarbleSettingsHelper;


    // MarbleWidget
    double mHomeLongitude;
    double mHomeLatitude;
    int mHomeZoom;
    double mQuitLongitude;
    double mQuitLatitude;
    double mQuitRange;
    QString mMapTheme;
    bool mShowClouds;
    bool mWorkOffline;
    bool mShowCurrentLocation;
    bool mLockFloatItemPositions;
    int mProjection;
    QString mMarbleDataPath;
    bool mShowBookmarks;

    // Time
    QDateTime mDateTime;
    int mSpeedSlider;
    bool mSystemTime;
    bool mLastSessionTime;
    bool mSystemTimezone;
    bool mUtc;
    bool mCustomTimezone;
    int mChosenTimezone;

    // Tracking
    bool mAutoCenter;
    bool mTrackVisible;
    QString mLastTrackOpenPath;
    QString mLastTrackSavePath;
    bool mAutoZoom;
    int mRecenterMode;

    // View
    int mDistanceUnit;
    int mAngleUnit;
    int mStillQuality;
    int mAnimationQuality;
    int mLabelLocalization;
    QFont mMapFont;
    QString mLastFileOpenDir;

    // Sun
    bool mShowSun;
    bool mShowCitylights;
    bool mSubSolarPointIconVisible;
    bool mLockToSubSolarPoint;

    // Navigation
    int mDragLocation;
    int mOnStartup;
    bool mInertialEarthRotation;
    bool mAnimateTargetVoyage;
    int mExternalMapEditor;

    // Cache
    int mVolatileTileCacheLimit;
    int mPersistentTileCacheLimit;
    QString mProxyUrl;
    int mProxyPort;
    QString mProxyUser;
    QString mProxyPass;
    bool mProxyHttp;
    int mProxyType;
    bool mProxySocks5;
    bool mProxyAuth;

    // Plugins
    QString mActivePositionTrackingPlugin;

    // StatusBar
    bool mShowPositionLabel;
    bool mShowAltitudeLabel;
    bool mShowTileZoomLevelLabel;
    bool mShowDownloadProgressBar;
    bool mShowDateTimeLabel;

    // MapWizard
    QStringList mWmsServers;
    QStringList mStaticUrlServers;

    // Routing
    bool mShowGuidanceModeStartupWarning;
    int mCurrentRoutingProfile;
    QColor mRouteColorStandard;
    int mRouteAlphaStandard;
    QColor mRouteColorHighlighted;
    int mRouteAlphaHighlighted;
    QColor mRouteColorAlternative;
    int mRouteAlphaAlternative;

    // CloudSync
    bool mEnableSync;
    QString mSyncBackend;
    bool mSyncBookmarks;
    bool mSyncRoutes;
    QString mOwncloudServer;
    QString mOwncloudUsername;
    QString mOwncloudPassword;

  private:
};

#endif

