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

#include "calligraplansettings.h"

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

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

  return s_globalKPlatoSettings()->q;
}

KPlatoSettings::KPlatoSettings( )
  : KPlatoConfigSkeleton()
{
  Q_ASSERT(!s_globalKPlatoSettings()->q);
  s_globalKPlatoSettings()->q = this;
  setCurrentGroup( QStringLiteral( "EstimateConversion" ) );

  KPlatoConfigSkeleton::ItemDouble  *itemHoursPrYear;
  itemHoursPrYear = new KPlatoConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "HoursPrYear" ), mHoursPrYear, 1760 );
  addItem( itemHoursPrYear, QStringLiteral( "HoursPrYear" ) );
  KPlatoConfigSkeleton::ItemDouble  *itemHoursPrMonth;
  itemHoursPrMonth = new KPlatoConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "HoursPrMonth" ), mHoursPrMonth, 176 );
  addItem( itemHoursPrMonth, QStringLiteral( "HoursPrMonth" ) );
  KPlatoConfigSkeleton::ItemDouble  *itemHoursPrWeek;
  itemHoursPrWeek = new KPlatoConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "HoursPrWeek" ), mHoursPrWeek, 40 );
  addItem( itemHoursPrWeek, QStringLiteral( "HoursPrWeek" ) );
  KPlatoConfigSkeleton::ItemDouble  *itemHoursPrDay;
  itemHoursPrDay = new KPlatoConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "HoursPrDay" ), mHoursPrDay, 8 );
  addItem( itemHoursPrDay, QStringLiteral( "HoursPrDay" ) );

  setCurrentGroup( QStringLiteral( "CalendarGeneration" ) );

  KPlatoConfigSkeleton::ItemBool  *itemGenerateWeek;
  itemGenerateWeek = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "GenerateWeek" ), mGenerateWeek, true );
  addItem( itemGenerateWeek, QStringLiteral( "GenerateWeek" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesGenerateWeekChoice;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NoneExists");
    valuesGenerateWeekChoice.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Always");
    valuesGenerateWeekChoice.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemGenerateWeekChoice;
  itemGenerateWeekChoice = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "GenerateWeekChoice" ), mGenerateWeekChoice, valuesGenerateWeekChoice );
  addItem( itemGenerateWeekChoice, QStringLiteral( "GenerateWeekChoice" ) );
  KPlatoConfigSkeleton::ItemBool  *itemGenerateHolidays;
  itemGenerateHolidays = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "GenerateHolidays" ), mGenerateHolidays, true );
  addItem( itemGenerateHolidays, QStringLiteral( "GenerateHolidays" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesGenerateHolidaysChoice;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("InWeekCalendar");
    valuesGenerateHolidaysChoice.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AsSubCalendar");
    valuesGenerateHolidaysChoice.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AsSeparateCalendar");
    valuesGenerateHolidaysChoice.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemGenerateHolidaysChoice;
  itemGenerateHolidaysChoice = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "GenerateHolidaysChoice" ), mGenerateHolidaysChoice, valuesGenerateHolidaysChoice );
  addItem( itemGenerateHolidaysChoice, QStringLiteral( "GenerateHolidaysChoice" ) );
  KPlatoConfigSkeleton::ItemString  *itemRegion;
  itemRegion = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Region" ), mRegion, QStringLiteral( "Default" ) );
  addItem( itemRegion, QStringLiteral( "Region" ) );

  setCurrentGroup( QStringLiteral( "WorkingWeek" ) );

  KPlatoConfigSkeleton::ItemBool  *itemMonday;
  itemMonday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Monday" ), mMonday, true );
  addItem( itemMonday, QStringLiteral( "Monday" ) );
  KPlatoConfigSkeleton::ItemString  *itemMondayStart;
  itemMondayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "MondayStart" ), mMondayStart, QStringLiteral( "08:00" ) );
  addItem( itemMondayStart, QStringLiteral( "MondayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemMondayEnd;
  itemMondayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "MondayEnd" ), mMondayEnd, QStringLiteral( "16:00" ) );
  addItem( itemMondayEnd, QStringLiteral( "MondayEnd" ) );
  KPlatoConfigSkeleton::ItemBool  *itemTuesday;
  itemTuesday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Tuesday" ), mTuesday, true );
  addItem( itemTuesday, QStringLiteral( "Tuesday" ) );
  KPlatoConfigSkeleton::ItemString  *itemTuesdayStart;
  itemTuesdayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "TuesdayStart" ), mTuesdayStart, QStringLiteral( "08:00" ) );
  addItem( itemTuesdayStart, QStringLiteral( "TuesdayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemTuesdayEnd;
  itemTuesdayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "TuesdayEnd" ), mTuesdayEnd, QStringLiteral( "16:00" ) );
  addItem( itemTuesdayEnd, QStringLiteral( "TuesdayEnd" ) );
  KPlatoConfigSkeleton::ItemBool  *itemWednesday;
  itemWednesday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Wednesday" ), mWednesday, true );
  addItem( itemWednesday, QStringLiteral( "Wednesday" ) );
  KPlatoConfigSkeleton::ItemString  *itemWednesdayStart;
  itemWednesdayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "WednesdayStart" ), mWednesdayStart, QStringLiteral( "08:00" ) );
  addItem( itemWednesdayStart, QStringLiteral( "WednesdayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemWednesdayEnd;
  itemWednesdayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "WednesdayEnd" ), mWednesdayEnd, QStringLiteral( "16:00" ) );
  addItem( itemWednesdayEnd, QStringLiteral( "WednesdayEnd" ) );
  KPlatoConfigSkeleton::ItemBool  *itemThursday;
  itemThursday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Thursday" ), mThursday, true );
  addItem( itemThursday, QStringLiteral( "Thursday" ) );
  KPlatoConfigSkeleton::ItemString  *itemThursdayStart;
  itemThursdayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ThursdayStart" ), mThursdayStart, QStringLiteral( "08:00" ) );
  addItem( itemThursdayStart, QStringLiteral( "ThursdayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemThursdayEnd;
  itemThursdayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ThursdayEnd" ), mThursdayEnd, QStringLiteral( "16:00" ) );
  addItem( itemThursdayEnd, QStringLiteral( "ThursdayEnd" ) );
  KPlatoConfigSkeleton::ItemBool  *itemFriday;
  itemFriday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Friday" ), mFriday, true );
  addItem( itemFriday, QStringLiteral( "Friday" ) );
  KPlatoConfigSkeleton::ItemString  *itemFridayStart;
  itemFridayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "FridayStart" ), mFridayStart, QStringLiteral( "08:00" ) );
  addItem( itemFridayStart, QStringLiteral( "FridayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemFridayEnd;
  itemFridayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "FridayEnd" ), mFridayEnd, QStringLiteral( "16:00" ) );
  addItem( itemFridayEnd, QStringLiteral( "FridayEnd" ) );
  KPlatoConfigSkeleton::ItemBool  *itemSaturday;
  itemSaturday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Saturday" ), mSaturday, false );
  addItem( itemSaturday, QStringLiteral( "Saturday" ) );
  KPlatoConfigSkeleton::ItemString  *itemSaturdayStart;
  itemSaturdayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "SaturdayStart" ), mSaturdayStart, QStringLiteral( "08:00" ) );
  addItem( itemSaturdayStart, QStringLiteral( "SaturdayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemSaturdayEnd;
  itemSaturdayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "SaturdayEnd" ), mSaturdayEnd, QStringLiteral( "16:00" ) );
  addItem( itemSaturdayEnd, QStringLiteral( "SaturdayEnd" ) );
  KPlatoConfigSkeleton::ItemBool  *itemSunday;
  itemSunday = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Sunday" ), mSunday, false );
  addItem( itemSunday, QStringLiteral( "Sunday" ) );
  KPlatoConfigSkeleton::ItemString  *itemSundayStart;
  itemSundayStart = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "SundayStart" ), mSundayStart, QStringLiteral( "08:00" ) );
  addItem( itemSundayStart, QStringLiteral( "SundayStart" ) );
  KPlatoConfigSkeleton::ItemString  *itemSundayEnd;
  itemSundayEnd = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "SundayEnd" ), mSundayEnd, QStringLiteral( "16:00" ) );
  addItem( itemSundayEnd, QStringLiteral( "SundayEnd" ) );

  setCurrentGroup( QStringLiteral( "Project settings" ) );

  KPlatoConfigSkeleton::ItemString  *itemManager;
  itemManager = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Manager" ), mManager );
  addItem( itemManager, QStringLiteral( "Manager" ) );
  KPlatoConfigSkeleton::ItemBool  *itemUseSharedResources;
  itemUseSharedResources = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "UseSharedResources" ), mUseSharedResources, false );
  addItem( itemUseSharedResources, QStringLiteral( "UseSharedResources" ) );
  KPlatoConfigSkeleton::ItemString  *itemSharedResourcesFile;
  itemSharedResourcesFile = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "SharedResourcesFile" ), mSharedResourcesFile );
  addItem( itemSharedResourcesFile, QStringLiteral( "SharedResourcesFile" ) );
  KPlatoConfigSkeleton::ItemString  *itemProjectDescription;
  itemProjectDescription = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ProjectDescription" ), mProjectDescription );
  addItem( itemProjectDescription, QStringLiteral( "ProjectDescription" ) );

  setCurrentGroup( QStringLiteral( "Task defaults" ) );

  KPlatoConfigSkeleton::ItemString  *itemLeader;
  itemLeader = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Leader" ), mLeader );
  addItem( itemLeader, QStringLiteral( "Leader" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesConstraintType;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AsSoonAsPossible");
    valuesConstraintType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AsLateAsPossible");
    valuesConstraintType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MustStartOn");
    valuesConstraintType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MustFinishOn");
    valuesConstraintType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("StartNotEarlierThan");
    valuesConstraintType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FinishNotLaterThan");
    valuesConstraintType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FixedInterval");
    valuesConstraintType.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemConstraintType;
  itemConstraintType = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ConstraintType" ), mConstraintType, valuesConstraintType, EnumConstraintType::AsSoonAsPossible );
  addItem( itemConstraintType, QStringLiteral( "ConstraintType" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesStartTimeUsage;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("CurrentdateTime");
    valuesStartTimeUsage.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("CurrentDate");
    valuesStartTimeUsage.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("SpecifiedDateTime");
    valuesStartTimeUsage.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemStartTimeUsage;
  itemStartTimeUsage = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "StartTimeUsage" ), mStartTimeUsage, valuesStartTimeUsage, EnumStartTimeUsage::CurrentdateTime );
  addItem( itemStartTimeUsage, QStringLiteral( "StartTimeUsage" ) );
  KPlatoConfigSkeleton::ItemDateTime  *itemConstraintStartTime;
  itemConstraintStartTime = new KPlatoConfigSkeleton::ItemDateTime( currentGroup(), QStringLiteral( "ConstraintStartTime" ), mConstraintStartTime );
  addItem( itemConstraintStartTime, QStringLiteral( "ConstraintStartTime" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesEndTimeUsage;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("CurrentdateTime");
    valuesEndTimeUsage.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("CurrentDate");
    valuesEndTimeUsage.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("SpecifiedDateTime");
    valuesEndTimeUsage.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemEndTimeUsage;
  itemEndTimeUsage = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "EndTimeUsage" ), mEndTimeUsage, valuesEndTimeUsage, EnumEndTimeUsage::CurrentdateTime );
  addItem( itemEndTimeUsage, QStringLiteral( "EndTimeUsage" ) );
  KPlatoConfigSkeleton::ItemDateTime  *itemConstraintEndTime;
  itemConstraintEndTime = new KPlatoConfigSkeleton::ItemDateTime( currentGroup(), QStringLiteral( "ConstraintEndTime" ), mConstraintEndTime );
  addItem( itemConstraintEndTime, QStringLiteral( "ConstraintEndTime" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesEstimateType;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Effort");
    valuesEstimateType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Duration");
    valuesEstimateType.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemEstimateType;
  itemEstimateType = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "EstimateType" ), mEstimateType, valuesEstimateType, EnumEstimateType::Effort );
  addItem( itemEstimateType, QStringLiteral( "EstimateType" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesUnit;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Year");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Month");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Week");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Day");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Hour");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Minute");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Second");
    valuesUnit.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Millisecond");
    valuesUnit.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemUnit;
  itemUnit = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "Unit" ), mUnit, valuesUnit, EnumUnit::Hour );
  addItem( itemUnit, QStringLiteral( "Unit" ) );
  KPlatoConfigSkeleton::ItemDouble  *itemExpectedEstimate;
  itemExpectedEstimate = new KPlatoConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "ExpectedEstimate" ), mExpectedEstimate, 8.0 );
  addItem( itemExpectedEstimate, QStringLiteral( "ExpectedEstimate" ) );
  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesRisk;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("None");
    valuesRisk.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Low");
    valuesRisk.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("High");
    valuesRisk.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemRisk;
  itemRisk = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "Risk" ), mRisk, valuesRisk, EnumRisk::None );
  addItem( itemRisk, QStringLiteral( "Risk" ) );
  KPlatoConfigSkeleton::ItemInt  *itemOptimisticRatio;
  itemOptimisticRatio = new KPlatoConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "OptimisticRatio" ), mOptimisticRatio, -25 );
  addItem( itemOptimisticRatio, QStringLiteral( "OptimisticRatio" ) );
  KPlatoConfigSkeleton::ItemInt  *itemPessimisticRatio;
  itemPessimisticRatio = new KPlatoConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "PessimisticRatio" ), mPessimisticRatio, 150 );
  addItem( itemPessimisticRatio, QStringLiteral( "PessimisticRatio" ) );
  KPlatoConfigSkeleton::ItemString  *itemDescription;
  itemDescription = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Description" ), mDescription );
  addItem( itemDescription, QStringLiteral( "Description" ) );

  setCurrentGroup( QStringLiteral( "TaskColors" ) );

  QList<KPlatoConfigSkeleton::ItemEnum::Choice> valuesColorGradientType;
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Linear");
    valuesColorGradientType.append( choice );
  }
  {
    KPlatoConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Flat");
    valuesColorGradientType.append( choice );
  }
  KPlatoConfigSkeleton::ItemEnum  *itemColorGradientType;
  itemColorGradientType = new KPlatoConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ColorGradientType" ), mColorGradientType, valuesColorGradientType, EnumColorGradientType::Linear );
  addItem( itemColorGradientType, QStringLiteral( "ColorGradientType" ) );
  KPlatoConfigSkeleton::ItemBool  *itemSummaryTaskLevelColorsEnabled;
  itemSummaryTaskLevelColorsEnabled = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SummaryTaskLevelColorsEnabled" ), mSummaryTaskLevelColorsEnabled, false );
  addItem( itemSummaryTaskLevelColorsEnabled, QStringLiteral( "SummaryTaskLevelColorsEnabled" ) );
  KPlatoConfigSkeleton::ItemColor  *itemSummaryTaskDefaultColor;
  itemSummaryTaskDefaultColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "SummaryTaskDefaultColor" ), mSummaryTaskDefaultColor, QColor( "#0000ff" ) );
  addItem( itemSummaryTaskDefaultColor, QStringLiteral( "SummaryTaskDefaultColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemSummaryTaskLevelColor_1;
  itemSummaryTaskLevelColor_1 = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "SummaryTaskLevelColor_1" ), mSummaryTaskLevelColor_1, QColor( "#0000ff" ) );
  addItem( itemSummaryTaskLevelColor_1, QStringLiteral( "SummaryTaskLevelColor_1" ) );
  KPlatoConfigSkeleton::ItemColor  *itemSummaryTaskLevelColor_2;
  itemSummaryTaskLevelColor_2 = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "SummaryTaskLevelColor_2" ), mSummaryTaskLevelColor_2, QColor( "#0000ff" ) );
  addItem( itemSummaryTaskLevelColor_2, QStringLiteral( "SummaryTaskLevelColor_2" ) );
  KPlatoConfigSkeleton::ItemColor  *itemSummaryTaskLevelColor_3;
  itemSummaryTaskLevelColor_3 = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "SummaryTaskLevelColor_3" ), mSummaryTaskLevelColor_3, QColor( "#0000ff" ) );
  addItem( itemSummaryTaskLevelColor_3, QStringLiteral( "SummaryTaskLevelColor_3" ) );
  KPlatoConfigSkeleton::ItemColor  *itemSummaryTaskLevelColor_4;
  itemSummaryTaskLevelColor_4 = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "SummaryTaskLevelColor_4" ), mSummaryTaskLevelColor_4, QColor( "#0000ff" ) );
  addItem( itemSummaryTaskLevelColor_4, QStringLiteral( "SummaryTaskLevelColor_4" ) );
  KPlatoConfigSkeleton::ItemColor  *itemTaskNormalColor;
  itemTaskNormalColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "TaskNormalColor" ), mTaskNormalColor, QColor( "#00ff00" ) );
  addItem( itemTaskNormalColor, QStringLiteral( "TaskNormalColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemTaskCriticalColor;
  itemTaskCriticalColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "TaskCriticalColor" ), mTaskCriticalColor, QColor( "#ff0000" ) );
  addItem( itemTaskCriticalColor, QStringLiteral( "TaskCriticalColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemTaskFinishedColor;
  itemTaskFinishedColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "TaskFinishedColor" ), mTaskFinishedColor, QColor( "#A0A0A0" ) );
  addItem( itemTaskFinishedColor, QStringLiteral( "TaskFinishedColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemTaskErrorColor;
  itemTaskErrorColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "TaskErrorColor" ), mTaskErrorColor, QColor( "#ffff00" ) );
  addItem( itemTaskErrorColor, QStringLiteral( "TaskErrorColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemMilestoneNormalColor;
  itemMilestoneNormalColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "MilestoneNormalColor" ), mMilestoneNormalColor, QColor( "#0000ff" ) );
  addItem( itemMilestoneNormalColor, QStringLiteral( "MilestoneNormalColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemMilestoneCriticalColor;
  itemMilestoneCriticalColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "MilestoneCriticalColor" ), mMilestoneCriticalColor, QColor( "#ff0000" ) );
  addItem( itemMilestoneCriticalColor, QStringLiteral( "MilestoneCriticalColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemMilestoneFinishedColor;
  itemMilestoneFinishedColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "MilestoneFinishedColor" ), mMilestoneFinishedColor, QColor( "#A0A0A0" ) );
  addItem( itemMilestoneFinishedColor, QStringLiteral( "MilestoneFinishedColor" ) );
  KPlatoConfigSkeleton::ItemColor  *itemMilestoneErrorColor;
  itemMilestoneErrorColor = new KPlatoConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "MilestoneErrorColor" ), mMilestoneErrorColor, QColor( "#ffff00" ) );
  addItem( itemMilestoneErrorColor, QStringLiteral( "MilestoneErrorColor" ) );

  setCurrentGroup( QStringLiteral( "Work Package" ) );

  KPlatoConfigSkeleton::ItemBool  *itemCheckForWorkPackages;
  itemCheckForWorkPackages = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CheckForWorkPackages" ), mCheckForWorkPackages );
  addItem( itemCheckForWorkPackages, QStringLiteral( "CheckForWorkPackages" ) );
  KPlatoConfigSkeleton::ItemUrl  *itemRetrieveUrl;
  itemRetrieveUrl = new KPlatoConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "RetrieveUrl" ), mRetrieveUrl );
  addItem( itemRetrieveUrl, QStringLiteral( "RetrieveUrl" ) );
  KPlatoConfigSkeleton::ItemBool  *itemDeleteFile;
  itemDeleteFile = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "DeleteFile" ), mDeleteFile );
  addItem( itemDeleteFile, QStringLiteral( "DeleteFile" ) );
  KPlatoConfigSkeleton::ItemBool  *itemSaveFile;
  itemSaveFile = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SaveFile" ), mSaveFile );
  addItem( itemSaveFile, QStringLiteral( "SaveFile" ) );
  KPlatoConfigSkeleton::ItemUrl  *itemSaveUrl;
  itemSaveUrl = new KPlatoConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "SaveUrl" ), mSaveUrl );
  addItem( itemSaveUrl, QStringLiteral( "SaveUrl" ) );
  KPlatoConfigSkeleton::ItemUrl  *itemPublishUrl;
  itemPublishUrl = new KPlatoConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "PublishUrl" ), mPublishUrl );
  addItem( itemPublishUrl, QStringLiteral( "PublishUrl" ) );

  setCurrentGroup( QStringLiteral( "Miscellaneous" ) );

  KPlatoConfigSkeleton::ItemInt  *itemMinimumDurationUnit;
  itemMinimumDurationUnit = new KPlatoConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "MinimumDurationUnit" ), mMinimumDurationUnit, EnumUnit::Minute );
  addItem( itemMinimumDurationUnit, QStringLiteral( "MinimumDurationUnit" ) );
  KPlatoConfigSkeleton::ItemInt  *itemMaximumDurationUnit;
  itemMaximumDurationUnit = new KPlatoConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "MaximumDurationUnit" ), mMaximumDurationUnit, EnumUnit::Month );
  addItem( itemMaximumDurationUnit, QStringLiteral( "MaximumDurationUnit" ) );

  setCurrentGroup( QStringLiteral( "Documentation" ) );

  KPlatoConfigSkeleton::ItemString  *itemDocumentationPath;
  itemDocumentationPath = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "DocumentationPath" ), mDocumentationPath, QStringLiteral( "help:" ) );
  addItem( itemDocumentationPath, QStringLiteral( "DocumentationPath" ) );
  KPlatoConfigSkeleton::ItemString  *itemContextPath;
  itemContextPath = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ContextPath" ), mContextPath, QStringLiteral( "help:" ) );
  addItem( itemContextPath, QStringLiteral( "ContextPath" ) );
  KPlatoConfigSkeleton::ItemString  *itemContextLanguage;
  itemContextLanguage = new KPlatoConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ContextLanguage" ), mContextLanguage );
  addItem( itemContextLanguage, QStringLiteral( "ContextLanguage" ) );

  setCurrentGroup( QStringLiteral( "Task Modules" ) );

  KPlatoConfigSkeleton::ItemBool  *itemUseLocalTaskModules;
  itemUseLocalTaskModules = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "UseLocalTaskModules" ), mUseLocalTaskModules, true );
  addItem( itemUseLocalTaskModules, QStringLiteral( "UseLocalTaskModules" ) );
  KPlatoConfigSkeleton::ItemStringList  *itemTaskModulePaths;
  itemTaskModulePaths = new KPlatoConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "TaskModulePaths" ), mTaskModulePaths );
  addItem( itemTaskModulePaths, QStringLiteral( "TaskModulePaths" ) );

  setCurrentGroup( QStringLiteral( "Report Templates" ) );

  KPlatoConfigSkeleton::ItemStringList  *itemReportTemplatePaths;
  itemReportTemplatePaths = new KPlatoConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "ReportTemplatePaths" ), mReportTemplatePaths );
  addItem( itemReportTemplatePaths, QStringLiteral( "ReportTemplatePaths" ) );

  setCurrentGroup( QStringLiteral( "Project Templates" ) );

  KPlatoConfigSkeleton::ItemStringList  *itemProjectTemplatePaths;
  itemProjectTemplatePaths = new KPlatoConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "ProjectTemplatePaths" ), mProjectTemplatePaths );
  addItem( itemProjectTemplatePaths, QStringLiteral( "ProjectTemplatePaths" ) );

  setCurrentGroup( QStringLiteral( "Interface" ) );

  KPlatoConfigSkeleton::ItemInt  *itemAutoSave;
  itemAutoSave = new KPlatoConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "AutoSave" ), mAutoSave, 5 );
  addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
  KPlatoConfigSkeleton::ItemBool  *itemCreateBackupFile;
  itemCreateBackupFile = new KPlatoConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CreateBackupFile" ), mCreateBackupFile, true );
  addItem( itemCreateBackupFile, QStringLiteral( "CreateBackupFile" ) );
}

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

