// This file is generated by kconfig_compiler_kf6 from marble.kcfg.
// All changes you do to this file will be lost.

#include "settings.h"

#include <qglobal.h>
#include <QFile>

class MarbleSettingsHelper
{
  public:
    MarbleSettingsHelper() : q(nullptr) {}
    ~MarbleSettingsHelper() { delete q; q = nullptr; }
    MarbleSettingsHelper(const MarbleSettingsHelper&) = delete;
    MarbleSettingsHelper& operator=(const MarbleSettingsHelper&) = delete;
    MarbleSettings *q;
};
Q_GLOBAL_STATIC(MarbleSettingsHelper, s_globalMarbleSettings)
MarbleSettings *MarbleSettings::self()
{
  if (!s_globalMarbleSettings()->q) {
    new MarbleSettings;
    s_globalMarbleSettings()->q->read();
  }

  return s_globalMarbleSettings()->q;
}

MarbleSettings::MarbleSettings( )
  : KConfigSkeleton( QStringLiteral( "marblerc" ) )
{
  Q_ASSERT(!s_globalMarbleSettings()->q);
  s_globalMarbleSettings()->q = this;
  setCurrentGroup( QStringLiteral( "MarbleWidget" ) );

  KConfigSkeleton::ItemDouble  *itemHomeLongitude;
  itemHomeLongitude = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "homeLongitude" ), mHomeLongitude, 9.4 );
  addItem( itemHomeLongitude, QStringLiteral( "homeLongitude" ) );
  KConfigSkeleton::ItemDouble  *itemHomeLatitude;
  itemHomeLatitude = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "homeLatitude" ), mHomeLatitude, 54.8 );
  addItem( itemHomeLatitude, QStringLiteral( "homeLatitude" ) );
  KConfigSkeleton::ItemInt  *itemHomeZoom;
  itemHomeZoom = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "homeZoom" ), mHomeZoom, 1050 );
  addItem( itemHomeZoom, QStringLiteral( "homeZoom" ) );
  KConfigSkeleton::ItemDouble  *itemQuitLongitude;
  itemQuitLongitude = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "quitLongitude" ), mQuitLongitude, 0.0 );
  addItem( itemQuitLongitude, QStringLiteral( "quitLongitude" ) );
  KConfigSkeleton::ItemDouble  *itemQuitLatitude;
  itemQuitLatitude = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "quitLatitude" ), mQuitLatitude, 0.0 );
  addItem( itemQuitLatitude, QStringLiteral( "quitLatitude" ) );
  KConfigSkeleton::ItemDouble  *itemQuitRange;
  itemQuitRange = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "quitRange" ), mQuitRange, 11564500 );
  addItem( itemQuitRange, QStringLiteral( "quitRange" ) );
  KConfigSkeleton::ItemString  *itemMapTheme;
  itemMapTheme = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "mapTheme" ), mMapTheme );
  addItem( itemMapTheme, QStringLiteral( "mapTheme" ) );
  KConfigSkeleton::ItemBool  *itemShowClouds;
  itemShowClouds = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showClouds" ), mShowClouds, true );
  addItem( itemShowClouds, QStringLiteral( "showClouds" ) );
  KConfigSkeleton::ItemBool  *itemWorkOffline;
  itemWorkOffline = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "workOffline" ), mWorkOffline, false );
  addItem( itemWorkOffline, QStringLiteral( "workOffline" ) );
  KConfigSkeleton::ItemBool  *itemShowCurrentLocation;
  itemShowCurrentLocation = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showCurrentLocation" ), mShowCurrentLocation, false );
  addItem( itemShowCurrentLocation, QStringLiteral( "showCurrentLocation" ) );
  KConfigSkeleton::ItemBool  *itemLockFloatItemPositions;
  itemLockFloatItemPositions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "lockFloatItemPositions" ), mLockFloatItemPositions, false );
  addItem( itemLockFloatItemPositions, QStringLiteral( "lockFloatItemPositions" ) );
  KConfigSkeleton::ItemInt  *itemProjection;
  itemProjection = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "projection" ), mProjection, 0 );
  addItem( itemProjection, QStringLiteral( "projection" ) );
  KConfigSkeleton::ItemPath  *itemMarbleDataPath;
  itemMarbleDataPath = new KConfigSkeleton::ItemPath( currentGroup(), QStringLiteral( "marbleDataPath" ), mMarbleDataPath );
  addItem( itemMarbleDataPath, QStringLiteral( "marbleDataPath" ) );
  KConfigSkeleton::ItemBool  *itemShowBookmarks;
  itemShowBookmarks = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showBookmarks" ), mShowBookmarks, true );
  addItem( itemShowBookmarks, QStringLiteral( "showBookmarks" ) );

  setCurrentGroup( QStringLiteral( "Time" ) );

  KConfigSkeleton::ItemDateTime  *itemDateTime;
  itemDateTime = new KConfigSkeleton::ItemDateTime( currentGroup(), QStringLiteral( "dateTime" ), mDateTime );
  addItem( itemDateTime, QStringLiteral( "dateTime" ) );
  KConfigSkeleton::ItemInt  *itemSpeedSlider;
  itemSpeedSlider = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "speedSlider" ), mSpeedSlider, 1 );
  itemSpeedSlider->setMinValue(-100);
  itemSpeedSlider->setMaxValue(100);
  addItem( itemSpeedSlider, QStringLiteral( "speedSlider" ) );
  KConfigSkeleton::ItemBool  *itemSystemTime;
  itemSystemTime = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "systemTime" ), mSystemTime, true );
  addItem( itemSystemTime, QStringLiteral( "systemTime" ) );
  KConfigSkeleton::ItemBool  *itemLastSessionTime;
  itemLastSessionTime = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "lastSessionTime" ), mLastSessionTime, false );
  addItem( itemLastSessionTime, QStringLiteral( "lastSessionTime" ) );
  KConfigSkeleton::ItemBool  *itemSystemTimezone;
  itemSystemTimezone = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "systemTimezone" ), mSystemTimezone, true );
  addItem( itemSystemTimezone, QStringLiteral( "systemTimezone" ) );
  KConfigSkeleton::ItemBool  *itemUtc;
  itemUtc = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "utc" ), mUtc, false );
  addItem( itemUtc, QStringLiteral( "utc" ) );
  KConfigSkeleton::ItemBool  *itemCustomTimezone;
  itemCustomTimezone = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "customTimezone" ), mCustomTimezone, false );
  addItem( itemCustomTimezone, QStringLiteral( "customTimezone" ) );
  KConfigSkeleton::ItemInt  *itemChosenTimezone;
  itemChosenTimezone = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "chosenTimezone" ), mChosenTimezone, 0 );
  addItem( itemChosenTimezone, QStringLiteral( "chosenTimezone" ) );

  setCurrentGroup( QStringLiteral( "Tracking" ) );

  KConfigSkeleton::ItemBool  *itemAutoCenter;
  itemAutoCenter = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoCenter" ), mAutoCenter, false );
  addItem( itemAutoCenter, QStringLiteral( "autoCenter" ) );
  KConfigSkeleton::ItemBool  *itemTrackVisible;
  itemTrackVisible = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "trackVisible" ), mTrackVisible, true );
  addItem( itemTrackVisible, QStringLiteral( "trackVisible" ) );
  KConfigSkeleton::ItemString  *itemLastTrackOpenPath;
  itemLastTrackOpenPath = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "lastTrackOpenPath" ), mLastTrackOpenPath, QDir::homePath() );
  addItem( itemLastTrackOpenPath, QStringLiteral( "lastTrackOpenPath" ) );
  KConfigSkeleton::ItemString  *itemLastTrackSavePath;
  itemLastTrackSavePath = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "lastTrackSavePath" ), mLastTrackSavePath, QDir::homePath() );
  addItem( itemLastTrackSavePath, QStringLiteral( "lastTrackSavePath" ) );
  KConfigSkeleton::ItemBool  *itemAutoZoom;
  itemAutoZoom = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoZoom" ), mAutoZoom, false );
  addItem( itemAutoZoom, QStringLiteral( "autoZoom" ) );
  KConfigSkeleton::ItemInt  *itemRecenterMode;
  itemRecenterMode = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "recenterMode" ), mRecenterMode, 0 );
  addItem( itemRecenterMode, QStringLiteral( "recenterMode" ) );

  setCurrentGroup( QStringLiteral( "View" ) );

  QList<KConfigSkeleton::ItemEnum::Choice> valuesdistanceUnit;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MeasurementSystem::MetricSystem");
    valuesdistanceUnit.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MeasurementSystem::ImperialSystem");
    valuesdistanceUnit.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDistanceUnit;
  itemDistanceUnit = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "distanceUnit" ), mDistanceUnit, valuesdistanceUnit, QLocale::MetricSystem );
  addItem( itemDistanceUnit, QStringLiteral( "distanceUnit" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesangleUnit;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AngleUnit::DMSDegree");
    valuesangleUnit.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AngleUnit::DecimalDegree");
    valuesangleUnit.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AngleUnit::UTM");
    valuesangleUnit.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemAngleUnit;
  itemAngleUnit = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "angleUnit" ), mAngleUnit, valuesangleUnit, Marble::DMSDegree );
  addItem( itemAngleUnit, QStringLiteral( "angleUnit" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesstillQuality;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::OutlineQuality");
    valuesstillQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::LowQuality");
    valuesstillQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::NormalQuality");
    valuesstillQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::HighQuality");
    valuesstillQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::PrintQuality");
    valuesstillQuality.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemStillQuality;
  itemStillQuality = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "stillQuality" ), mStillQuality, valuesstillQuality, Marble::HighQuality );
  addItem( itemStillQuality, QStringLiteral( "stillQuality" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesanimationQuality;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::OutlineQuality");
    valuesanimationQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::LowQuality");
    valuesanimationQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::NormalQuality");
    valuesanimationQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::HighQuality");
    valuesanimationQuality.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MapQuality::PrintQuality");
    valuesanimationQuality.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemAnimationQuality;
  itemAnimationQuality = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "animationQuality" ), mAnimationQuality, valuesanimationQuality, Marble::LowQuality );
  addItem( itemAnimationQuality, QStringLiteral( "animationQuality" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valueslabelLocalization;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("LabelLocalization::CustomAndNative");
    valueslabelLocalization.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("LabelLocalization::Custom");
    valueslabelLocalization.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("LabelLocalization::Native");
    valueslabelLocalization.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemLabelLocalization;
  itemLabelLocalization = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "labelLocalization" ), mLabelLocalization, valueslabelLocalization, Marble::Native );
  addItem( itemLabelLocalization, QStringLiteral( "labelLocalization" ) );
  KConfigSkeleton::ItemFont  *itemMapFont;
  itemMapFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "mapFont" ), mMapFont, QFontDatabase::systemFont(QFontDatabase::GeneralFont) );
  addItem( itemMapFont, QStringLiteral( "mapFont" ) );
  KConfigSkeleton::ItemString  *itemLastFileOpenDir;
  itemLastFileOpenDir = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "lastFileOpenDir" ), mLastFileOpenDir, QDir::homePath() );
  addItem( itemLastFileOpenDir, QStringLiteral( "lastFileOpenDir" ) );

  setCurrentGroup( QStringLiteral( "Sun" ) );

  KConfigSkeleton::ItemBool  *itemShowSun;
  itemShowSun = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showSun" ), mShowSun, false );
  addItem( itemShowSun, QStringLiteral( "showSun" ) );
  KConfigSkeleton::ItemBool  *itemShowCitylights;
  itemShowCitylights = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showCitylights" ), mShowCitylights, false );
  addItem( itemShowCitylights, QStringLiteral( "showCitylights" ) );
  KConfigSkeleton::ItemBool  *itemSubSolarPointIconVisible;
  itemSubSolarPointIconVisible = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "subSolarPointIconVisible" ), mSubSolarPointIconVisible, false );
  addItem( itemSubSolarPointIconVisible, QStringLiteral( "subSolarPointIconVisible" ) );
  KConfigSkeleton::ItemBool  *itemLockToSubSolarPoint;
  itemLockToSubSolarPoint = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "lockToSubSolarPoint" ), mLockToSubSolarPoint, false );
  addItem( itemLockToSubSolarPoint, QStringLiteral( "lockToSubSolarPoint" ) );

  setCurrentGroup( QStringLiteral( "Navigation" ) );

  QList<KConfigSkeleton::ItemEnum::Choice> valuesdragLocation;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DragLocation::KeepAxisVertically");
    valuesdragLocation.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DragLocation::FollowMousePointer");
    valuesdragLocation.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDragLocation;
  itemDragLocation = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "dragLocation" ), mDragLocation, valuesdragLocation, Marble::KeepAxisVertically );
  addItem( itemDragLocation, QStringLiteral( "dragLocation" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesonStartup;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("onStartup::ShowHomeLocation");
    valuesonStartup.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("onStartup::LastLocationVisited");
    valuesonStartup.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemOnStartup;
  itemOnStartup = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "onStartup" ), mOnStartup, valuesonStartup, Marble::ShowHomeLocation );
  addItem( itemOnStartup, QStringLiteral( "onStartup" ) );
  KConfigSkeleton::ItemBool  *itemInertialEarthRotation;
  itemInertialEarthRotation = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "inertialEarthRotation" ), mInertialEarthRotation, true );
  addItem( itemInertialEarthRotation, QStringLiteral( "inertialEarthRotation" ) );
  KConfigSkeleton::ItemBool  *itemMouseViewRotation;
  itemMouseViewRotation = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "mouseViewRotation" ), mMouseViewRotation, true );
  addItem( itemMouseViewRotation, QStringLiteral( "mouseViewRotation" ) );
  KConfigSkeleton::ItemBool  *itemAnimateTargetVoyage;
  itemAnimateTargetVoyage = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "animateTargetVoyage" ), mAnimateTargetVoyage, false );
  addItem( itemAnimateTargetVoyage, QStringLiteral( "animateTargetVoyage" ) );
  KConfigSkeleton::ItemInt  *itemExternalMapEditor;
  itemExternalMapEditor = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "externalMapEditor" ), mExternalMapEditor, 0 );
  addItem( itemExternalMapEditor, QStringLiteral( "externalMapEditor" ) );

  setCurrentGroup( QStringLiteral( "Cache" ) );

  KConfigSkeleton::ItemInt  *itemVolatileTileCacheLimit;
  itemVolatileTileCacheLimit = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "volatileTileCacheLimit" ), mVolatileTileCacheLimit, 100 );
  itemVolatileTileCacheLimit->setMinValue(0);
  itemVolatileTileCacheLimit->setMaxValue(999999);
  addItem( itemVolatileTileCacheLimit, QStringLiteral( "volatileTileCacheLimit" ) );
  KConfigSkeleton::ItemInt  *itemPersistentTileCacheLimit;
  itemPersistentTileCacheLimit = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "persistentTileCacheLimit" ), mPersistentTileCacheLimit, 0 );
  itemPersistentTileCacheLimit->setMinValue(0);
  itemPersistentTileCacheLimit->setMaxValue(999999);
  addItem( itemPersistentTileCacheLimit, QStringLiteral( "persistentTileCacheLimit" ) );
  KConfigSkeleton::ItemString  *itemProxyUrl;
  itemProxyUrl = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "proxyUrl" ), mProxyUrl );
  addItem( itemProxyUrl, QStringLiteral( "proxyUrl" ) );
  KConfigSkeleton::ItemInt  *itemProxyPort;
  itemProxyPort = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "proxyPort" ), mProxyPort, 8080 );
  itemProxyPort->setMinValue(0);
  itemProxyPort->setMaxValue(65535);
  addItem( itemProxyPort, QStringLiteral( "proxyPort" ) );
  KConfigSkeleton::ItemString  *itemProxyUser;
  itemProxyUser = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "proxyUser" ), mProxyUser );
  addItem( itemProxyUser, QStringLiteral( "proxyUser" ) );
  KConfigSkeleton::ItemString  *itemProxyPass;
  itemProxyPass = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "proxyPass" ), mProxyPass );
  addItem( itemProxyPass, QStringLiteral( "proxyPass" ) );
  KConfigSkeleton::ItemBool  *itemProxyHttp;
  itemProxyHttp = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "proxyHttp" ), mProxyHttp, true );
  addItem( itemProxyHttp, QStringLiteral( "proxyHttp" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesproxyType;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("HttpProxy");
    valuesproxyType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Socks5Proxy");
    valuesproxyType.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemProxyType;
  itemProxyType = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "proxyType" ), mProxyType, valuesproxyType, Marble::HttpProxy );
  addItem( itemProxyType, QStringLiteral( "proxyType" ) );
  KConfigSkeleton::ItemBool  *itemProxySocks5;
  itemProxySocks5 = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "proxySocks5" ), mProxySocks5, false );
  addItem( itemProxySocks5, QStringLiteral( "proxySocks5" ) );
  KConfigSkeleton::ItemBool  *itemProxyAuth;
  itemProxyAuth = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "proxyAuth" ), mProxyAuth, false );
  addItem( itemProxyAuth, QStringLiteral( "proxyAuth" ) );

  setCurrentGroup( QStringLiteral( "Plugins" ) );

  KConfigSkeleton::ItemString  *itemActivePositionTrackingPlugin;
  itemActivePositionTrackingPlugin = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "activePositionTrackingPlugin" ), mActivePositionTrackingPlugin );
  addItem( itemActivePositionTrackingPlugin, QStringLiteral( "activePositionTrackingPlugin" ) );

  setCurrentGroup( QStringLiteral( "StatusBar" ) );

  KConfigSkeleton::ItemBool  *itemShowPositionLabel;
  itemShowPositionLabel = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showPositionLabel" ), mShowPositionLabel, true );
  addItem( itemShowPositionLabel, QStringLiteral( "showPositionLabel" ) );
  KConfigSkeleton::ItemBool  *itemShowAltitudeLabel;
  itemShowAltitudeLabel = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showAltitudeLabel" ), mShowAltitudeLabel, true );
  addItem( itemShowAltitudeLabel, QStringLiteral( "showAltitudeLabel" ) );
  KConfigSkeleton::ItemBool  *itemShowTileZoomLevelLabel;
  itemShowTileZoomLevelLabel = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showTileZoomLevelLabel" ), mShowTileZoomLevelLabel, false );
  addItem( itemShowTileZoomLevelLabel, QStringLiteral( "showTileZoomLevelLabel" ) );
  KConfigSkeleton::ItemBool  *itemShowDownloadProgressBar;
  itemShowDownloadProgressBar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showDownloadProgressBar" ), mShowDownloadProgressBar, true );
  addItem( itemShowDownloadProgressBar, QStringLiteral( "showDownloadProgressBar" ) );
  KConfigSkeleton::ItemBool  *itemShowDateTimeLabel;
  itemShowDateTimeLabel = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showDateTimeLabel" ), mShowDateTimeLabel, true );
  addItem( itemShowDateTimeLabel, QStringLiteral( "showDateTimeLabel" ) );

  setCurrentGroup( QStringLiteral( "MapWizard" ) );

  KConfigSkeleton::ItemStringList  *itemWmsServers;
  itemWmsServers = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "wmsServers" ), mWmsServers );
  addItem( itemWmsServers, QStringLiteral( "wmsServers" ) );
  KConfigSkeleton::ItemStringList  *itemWmtsServers;
  itemWmtsServers = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "wmtsServers" ), mWmtsServers );
  addItem( itemWmtsServers, QStringLiteral( "wmtsServers" ) );
  KConfigSkeleton::ItemStringList  *itemStaticUrlServers;
  itemStaticUrlServers = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "staticUrlServers" ), mStaticUrlServers );
  addItem( itemStaticUrlServers, QStringLiteral( "staticUrlServers" ) );

  setCurrentGroup( QStringLiteral( "Routing" ) );

  KConfigSkeleton::ItemBool  *itemShowGuidanceModeStartupWarning;
  itemShowGuidanceModeStartupWarning = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showGuidanceModeStartupWarning" ), mShowGuidanceModeStartupWarning, true );
  addItem( itemShowGuidanceModeStartupWarning, QStringLiteral( "showGuidanceModeStartupWarning" ) );
  KConfigSkeleton::ItemInt  *itemCurrentRoutingProfile;
  itemCurrentRoutingProfile = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "currentRoutingProfile" ), mCurrentRoutingProfile, 0 );
  addItem( itemCurrentRoutingProfile, QStringLiteral( "currentRoutingProfile" ) );
  KConfigSkeleton::ItemColor  *itemRouteColorStandard;
  itemRouteColorStandard = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "routeColorStandard" ), mRouteColorStandard, Marble::Oxygen::skyBlue4 );
  addItem( itemRouteColorStandard, QStringLiteral( "routeColorStandard" ) );
  KConfigSkeleton::ItemInt  *itemRouteAlphaStandard;
  itemRouteAlphaStandard = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "routeAlphaStandard" ), mRouteAlphaStandard, 200 );
  addItem( itemRouteAlphaStandard, QStringLiteral( "routeAlphaStandard" ) );
  KConfigSkeleton::ItemColor  *itemRouteColorHighlighted;
  itemRouteColorHighlighted = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "routeColorHighlighted" ), mRouteColorHighlighted, Marble::Oxygen::seaBlue2 );
  addItem( itemRouteColorHighlighted, QStringLiteral( "routeColorHighlighted" ) );
  KConfigSkeleton::ItemInt  *itemRouteAlphaHighlighted;
  itemRouteAlphaHighlighted = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "routeAlphaHighlighted" ), mRouteAlphaHighlighted, 200 );
  addItem( itemRouteAlphaHighlighted, QStringLiteral( "routeAlphaHighlighted" ) );
  KConfigSkeleton::ItemColor  *itemRouteColorAlternative;
  itemRouteColorAlternative = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "routeColorAlternative" ), mRouteColorAlternative, Marble::Oxygen::aluminumGray4 );
  addItem( itemRouteColorAlternative, QStringLiteral( "routeColorAlternative" ) );
  KConfigSkeleton::ItemInt  *itemRouteAlphaAlternative;
  itemRouteAlphaAlternative = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "routeAlphaAlternative" ), mRouteAlphaAlternative, 200 );
  addItem( itemRouteAlphaAlternative, QStringLiteral( "routeAlphaAlternative" ) );

  setCurrentGroup( QStringLiteral( "CloudSync" ) );

  KConfigSkeleton::ItemBool  *itemEnableSync;
  itemEnableSync = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "enableSync" ), mEnableSync, false );
  addItem( itemEnableSync, QStringLiteral( "enableSync" ) );
  KConfigSkeleton::ItemString  *itemSyncBackend;
  itemSyncBackend = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "syncBackend" ), mSyncBackend, QStringLiteral( "owncloud" ) );
  addItem( itemSyncBackend, QStringLiteral( "syncBackend" ) );
  KConfigSkeleton::ItemBool  *itemSyncBookmarks;
  itemSyncBookmarks = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "syncBookmarks" ), mSyncBookmarks, true );
  addItem( itemSyncBookmarks, QStringLiteral( "syncBookmarks" ) );
  KConfigSkeleton::ItemBool  *itemSyncRoutes;
  itemSyncRoutes = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "syncRoutes" ), mSyncRoutes, true );
  addItem( itemSyncRoutes, QStringLiteral( "syncRoutes" ) );
  KConfigSkeleton::ItemString  *itemOwncloudServer;
  itemOwncloudServer = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "owncloudServer" ), mOwncloudServer );
  addItem( itemOwncloudServer, QStringLiteral( "owncloudServer" ) );
  KConfigSkeleton::ItemString  *itemOwncloudUsername;
  itemOwncloudUsername = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "owncloudUsername" ), mOwncloudUsername );
  addItem( itemOwncloudUsername, QStringLiteral( "owncloudUsername" ) );
  KConfigSkeleton::ItemString  *itemOwncloudPassword;
  itemOwncloudPassword = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "owncloudPassword" ), mOwncloudPassword );
  addItem( itemOwncloudPassword, QStringLiteral( "owncloudPassword" ) );
}

MarbleSettings::~MarbleSettings()
{
  if (s_globalMarbleSettings.exists() && !s_globalMarbleSettings.isDestroyed()) {
    s_globalMarbleSettings()->q = nullptr;
  }
}

