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

#include <kptconfigskeleton.h>

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

class KPlatoSettings : public KPlatoConfigSkeleton
{
  public:
    class EnumGenerateWeekChoice
    {
      public:
      enum type { NoneExists, Always, COUNT };
    };
    class EnumGenerateHolidaysChoice
    {
      public:
      enum type { InWeekCalendar, AsSubCalendar, AsSeparateCalendar, COUNT };
    };
    class EnumConstraintType
    {
      public:
      enum type { AsSoonAsPossible, AsLateAsPossible, MustStartOn, MustFinishOn, StartNotEarlierThan, FinishNotLaterThan, FixedInterval, COUNT };
    };
    class EnumStartTimeUsage
    {
      public:
      enum type { CurrentdateTime, CurrentDate, SpecifiedDateTime, COUNT };
    };
    class EnumEndTimeUsage
    {
      public:
      enum type { CurrentdateTime, CurrentDate, SpecifiedDateTime, COUNT };
    };
    class EnumEstimateType
    {
      public:
      enum type { Effort, Duration, COUNT };
    };
    class EnumUnit
    {
      public:
      enum type { Year, Month, Week, Day, Hour, Minute, Second, Millisecond, COUNT };
    };
    class EnumColorGradientType
    {
      public:
      enum type { Linear, Flat, COUNT };
    };

    static KPlatoSettings *self();
    ~KPlatoSettings();

    /**
      Set Hours per year
    */
    static
    void setHoursPrYear( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "HoursPrYear" ) ))
        self()->mHoursPrYear = v;
    }

    /**
      Get Hours per year
    */
    static
    double hoursPrYear()
    {
      return self()->mHoursPrYear;
    }

    /**
      Set Hours per month
    */
    static
    void setHoursPrMonth( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "HoursPrMonth" ) ))
        self()->mHoursPrMonth = v;
    }

    /**
      Get Hours per month
    */
    static
    double hoursPrMonth()
    {
      return self()->mHoursPrMonth;
    }

    /**
      Set Hours per week
    */
    static
    void setHoursPrWeek( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "HoursPrWeek" ) ))
        self()->mHoursPrWeek = v;
    }

    /**
      Get Hours per week
    */
    static
    double hoursPrWeek()
    {
      return self()->mHoursPrWeek;
    }

    /**
      Set Hours per day
    */
    static
    void setHoursPrDay( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "HoursPrDay" ) ))
        self()->mHoursPrDay = v;
    }

    /**
      Get Hours per day
    */
    static
    double hoursPrDay()
    {
      return self()->mHoursPrDay;
    }

    /**
      Set Generate working week
    */
    static
    void setGenerateWeek( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GenerateWeek" ) ))
        self()->mGenerateWeek = v;
    }

    /**
      Get Generate working week
    */
    static
    bool generateWeek()
    {
      return self()->mGenerateWeek;
    }

    /**
      Set Generate working week options
    */
    static
    void setGenerateWeekChoice( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "GenerateWeekChoice" ) ))
        self()->mGenerateWeekChoice = v;
    }

    /**
      Get Generate working week options
    */
    static
    int generateWeekChoice()
    {
      return self()->mGenerateWeekChoice;
    }

    /**
      Set Generate holidays
    */
    static
    void setGenerateHolidays( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GenerateHolidays" ) ))
        self()->mGenerateHolidays = v;
    }

    /**
      Get Generate holidays
    */
    static
    bool generateHolidays()
    {
      return self()->mGenerateHolidays;
    }

    /**
      Set Generate holidays options
    */
    static
    void setGenerateHolidaysChoice( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "GenerateHolidaysChoice" ) ))
        self()->mGenerateHolidaysChoice = v;
    }

    /**
      Get Generate holidays options
    */
    static
    int generateHolidaysChoice()
    {
      return self()->mGenerateHolidaysChoice;
    }

    /**
      Set Holiday region
    */
    static
    void setRegion( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Region" ) ))
        self()->mRegion = v;
    }

    /**
      Get Holiday region
    */
    static
    QString region()
    {
      return self()->mRegion;
    }

    /**
      Set Monday:
    */
    static
    void setMonday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Monday" ) ))
        self()->mMonday = v;
    }

    /**
      Get Monday:
    */
    static
    bool monday()
    {
      return self()->mMonday;
    }

    /**
      Set Start of working day
    */
    static
    void setMondayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "MondayStart" ) ))
        self()->mMondayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString mondayStart()
    {
      return self()->mMondayStart;
    }

    /**
      Set End of working day
    */
    static
    void setMondayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "MondayEnd" ) ))
        self()->mMondayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString mondayEnd()
    {
      return self()->mMondayEnd;
    }

    /**
      Set Tuesday:
    */
    static
    void setTuesday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Tuesday" ) ))
        self()->mTuesday = v;
    }

    /**
      Get Tuesday:
    */
    static
    bool tuesday()
    {
      return self()->mTuesday;
    }

    /**
      Set Start of working day
    */
    static
    void setTuesdayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TuesdayStart" ) ))
        self()->mTuesdayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString tuesdayStart()
    {
      return self()->mTuesdayStart;
    }

    /**
      Set End of working day
    */
    static
    void setTuesdayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TuesdayEnd" ) ))
        self()->mTuesdayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString tuesdayEnd()
    {
      return self()->mTuesdayEnd;
    }

    /**
      Set Wednesday:
    */
    static
    void setWednesday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Wednesday" ) ))
        self()->mWednesday = v;
    }

    /**
      Get Wednesday:
    */
    static
    bool wednesday()
    {
      return self()->mWednesday;
    }

    /**
      Set Start of working day
    */
    static
    void setWednesdayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "WednesdayStart" ) ))
        self()->mWednesdayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString wednesdayStart()
    {
      return self()->mWednesdayStart;
    }

    /**
      Set End of working day
    */
    static
    void setWednesdayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "WednesdayEnd" ) ))
        self()->mWednesdayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString wednesdayEnd()
    {
      return self()->mWednesdayEnd;
    }

    /**
      Set Thursday:
    */
    static
    void setThursday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Thursday" ) ))
        self()->mThursday = v;
    }

    /**
      Get Thursday:
    */
    static
    bool thursday()
    {
      return self()->mThursday;
    }

    /**
      Set Start of working day
    */
    static
    void setThursdayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ThursdayStart" ) ))
        self()->mThursdayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString thursdayStart()
    {
      return self()->mThursdayStart;
    }

    /**
      Set End of working day
    */
    static
    void setThursdayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ThursdayEnd" ) ))
        self()->mThursdayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString thursdayEnd()
    {
      return self()->mThursdayEnd;
    }

    /**
      Set Friday:
    */
    static
    void setFriday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Friday" ) ))
        self()->mFriday = v;
    }

    /**
      Get Friday:
    */
    static
    bool friday()
    {
      return self()->mFriday;
    }

    /**
      Set Start of working day
    */
    static
    void setFridayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "FridayStart" ) ))
        self()->mFridayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString fridayStart()
    {
      return self()->mFridayStart;
    }

    /**
      Set End of working day
    */
    static
    void setFridayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "FridayEnd" ) ))
        self()->mFridayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString fridayEnd()
    {
      return self()->mFridayEnd;
    }

    /**
      Set Saturday:
    */
    static
    void setSaturday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Saturday" ) ))
        self()->mSaturday = v;
    }

    /**
      Get Saturday:
    */
    static
    bool saturday()
    {
      return self()->mSaturday;
    }

    /**
      Set Start of working day
    */
    static
    void setSaturdayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SaturdayStart" ) ))
        self()->mSaturdayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString saturdayStart()
    {
      return self()->mSaturdayStart;
    }

    /**
      Set End of working day
    */
    static
    void setSaturdayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SaturdayEnd" ) ))
        self()->mSaturdayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString saturdayEnd()
    {
      return self()->mSaturdayEnd;
    }

    /**
      Set Sunday:
    */
    static
    void setSunday( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Sunday" ) ))
        self()->mSunday = v;
    }

    /**
      Get Sunday:
    */
    static
    bool sunday()
    {
      return self()->mSunday;
    }

    /**
      Set Start of working day
    */
    static
    void setSundayStart( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SundayStart" ) ))
        self()->mSundayStart = v;
    }

    /**
      Get Start of working day
    */
    static
    QString sundayStart()
    {
      return self()->mSundayStart;
    }

    /**
      Set End of working day
    */
    static
    void setSundayEnd( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SundayEnd" ) ))
        self()->mSundayEnd = v;
    }

    /**
      Get End of working day
    */
    static
    QString sundayEnd()
    {
      return self()->mSundayEnd;
    }

    /**
      Set Name of project manager
    */
    static
    void setManager( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Manager" ) ))
        self()->mManager = v;
    }

    /**
      Get Name of project manager
    */
    static
    QString manager()
    {
      return self()->mManager;
    }

    /**
      Set Use shared resources
    */
    static
    void setUseSharedResources( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "UseSharedResources" ) ))
        self()->mUseSharedResources = v;
    }

    /**
      Get Use shared resources
    */
    static
    bool useSharedResources()
    {
      return self()->mUseSharedResources;
    }

    /**
      Set File to contain shared resources
    */
    static
    void setSharedResourcesFile( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SharedResourcesFile" ) ))
        self()->mSharedResourcesFile = v;
    }

    /**
      Get File to contain shared resources
    */
    static
    QString sharedResourcesFile()
    {
      return self()->mSharedResourcesFile;
    }

    /**
      Set Directory that contains projects that share resources
    */
    static
    void setSharedProjectsPlace( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SharedProjectsPlace" ) ))
        self()->mSharedProjectsPlace = v;
    }

    /**
      Get Directory that contains projects that share resources
    */
    static
    QString sharedProjectsPlace()
    {
      return self()->mSharedProjectsPlace;
    }

    /**
      Set Project description
    */
    static
    void setProjectDescription( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ProjectDescription" ) ))
        self()->mProjectDescription = v;
    }

    /**
      Get Project description
    */
    static
    QString projectDescription()
    {
      return self()->mProjectDescription;
    }

    /**
      Set Name of task responsible
    */
    static
    void setLeader( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Leader" ) ))
        self()->mLeader = v;
    }

    /**
      Get Name of task responsible
    */
    static
    QString leader()
    {
      return self()->mLeader;
    }

    /**
      Set Scheduling constraint type
    */
    static
    void setConstraintType( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ConstraintType" ) ))
        self()->mConstraintType = v;
    }

    /**
      Get Scheduling constraint type
    */
    static
    int constraintType()
    {
      return self()->mConstraintType;
    }

    /**
      Set Defines how start constraint time is used
    */
    static
    void setStartTimeUsage( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "StartTimeUsage" ) ))
        self()->mStartTimeUsage = v;
    }

    /**
      Get Defines how start constraint time is used
    */
    static
    int startTimeUsage()
    {
      return self()->mStartTimeUsage;
    }

    /**
      Set Constraint start date and time
    */
    static
    void setConstraintStartTime( const QDateTime & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ConstraintStartTime" ) ))
        self()->mConstraintStartTime = v;
    }

    /**
      Get Constraint start date and time
    */
    static
    QDateTime constraintStartTime()
    {
      return self()->mConstraintStartTime;
    }

    /**
      Set Defines how end constraint time is used
    */
    static
    void setEndTimeUsage( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "EndTimeUsage" ) ))
        self()->mEndTimeUsage = v;
    }

    /**
      Get Defines how end constraint time is used
    */
    static
    int endTimeUsage()
    {
      return self()->mEndTimeUsage;
    }

    /**
      Set Constraint end date and time
    */
    static
    void setConstraintEndTime( const QDateTime & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ConstraintEndTime" ) ))
        self()->mConstraintEndTime = v;
    }

    /**
      Get Constraint end date and time
    */
    static
    QDateTime constraintEndTime()
    {
      return self()->mConstraintEndTime;
    }

    /**
      Set Type of estimate
    */
    static
    void setEstimateType( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "EstimateType" ) ))
        self()->mEstimateType = v;
    }

    /**
      Get Type of estimate
    */
    static
    int estimateType()
    {
      return self()->mEstimateType;
    }

    /**
      Set Estimate time unit
    */
    static
    void setUnit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Unit" ) ))
        self()->mUnit = v;
    }

    /**
      Get Estimate time unit
    */
    static
    int unit()
    {
      return self()->mUnit;
    }

    /**
      Set Expected estimate
    */
    static
    void setExpectedEstimate( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "ExpectedEstimate" ) ))
        self()->mExpectedEstimate = v;
    }

    /**
      Get Expected estimate
    */
    static
    double expectedEstimate()
    {
      return self()->mExpectedEstimate;
    }

    /**
      Set Optimistic estimate
    */
    static
    void setOptimisticRatio( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "OptimisticRatio" ) ))
        self()->mOptimisticRatio = v;
    }

    /**
      Get Optimistic estimate
    */
    static
    int optimisticRatio()
    {
      return self()->mOptimisticRatio;
    }

    /**
      Set Pessimistic estimate
    */
    static
    void setPessimisticRatio( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "PessimisticRatio" ) ))
        self()->mPessimisticRatio = v;
    }

    /**
      Get Pessimistic estimate
    */
    static
    int pessimisticRatio()
    {
      return self()->mPessimisticRatio;
    }

    /**
      Set Task description
    */
    static
    void setDescription( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Description" ) ))
        self()->mDescription = v;
    }

    /**
      Get Task description
    */
    static
    QString description()
    {
      return self()->mDescription;
    }

    /**
      Set Gradient
    */
    static
    void setColorGradientType( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ColorGradientType" ) ))
        self()->mColorGradientType = v;
    }

    /**
      Get Gradient
    */
    static
    int colorGradientType()
    {
      return self()->mColorGradientType;
    }

    /**
      Set Enable summary task level colors
    */
    static
    void setSummaryTaskLevelColorsEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "SummaryTaskLevelColorsEnabled" ) ))
        self()->mSummaryTaskLevelColorsEnabled = v;
    }

    /**
      Get Enable summary task level colors
    */
    static
    bool summaryTaskLevelColorsEnabled()
    {
      return self()->mSummaryTaskLevelColorsEnabled;
    }

    /**
      Set Summary task default color
    */
    static
    void setSummaryTaskDefaultColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SummaryTaskDefaultColor" ) ))
        self()->mSummaryTaskDefaultColor = v;
    }

    /**
      Get Summary task default color
    */
    static
    QColor summaryTaskDefaultColor()
    {
      return self()->mSummaryTaskDefaultColor;
    }

    /**
      Set Summary task color, level 1
    */
    static
    void setSummaryTaskLevelColor_1( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SummaryTaskLevelColor_1" ) ))
        self()->mSummaryTaskLevelColor_1 = v;
    }

    /**
      Get Summary task color, level 1
    */
    static
    QColor summaryTaskLevelColor_1()
    {
      return self()->mSummaryTaskLevelColor_1;
    }

    /**
      Set Summary task color, level 2
    */
    static
    void setSummaryTaskLevelColor_2( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SummaryTaskLevelColor_2" ) ))
        self()->mSummaryTaskLevelColor_2 = v;
    }

    /**
      Get Summary task color, level 2
    */
    static
    QColor summaryTaskLevelColor_2()
    {
      return self()->mSummaryTaskLevelColor_2;
    }

    /**
      Set Summary task color, level 3
    */
    static
    void setSummaryTaskLevelColor_3( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SummaryTaskLevelColor_3" ) ))
        self()->mSummaryTaskLevelColor_3 = v;
    }

    /**
      Get Summary task color, level 3
    */
    static
    QColor summaryTaskLevelColor_3()
    {
      return self()->mSummaryTaskLevelColor_3;
    }

    /**
      Set Summary task color, level 4
    */
    static
    void setSummaryTaskLevelColor_4( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SummaryTaskLevelColor_4" ) ))
        self()->mSummaryTaskLevelColor_4 = v;
    }

    /**
      Get Summary task color, level 4
    */
    static
    QColor summaryTaskLevelColor_4()
    {
      return self()->mSummaryTaskLevelColor_4;
    }

    /**
      Set Task color in normal state
    */
    static
    void setTaskNormalColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TaskNormalColor" ) ))
        self()->mTaskNormalColor = v;
    }

    /**
      Get Task color in normal state
    */
    static
    QColor taskNormalColor()
    {
      return self()->mTaskNormalColor;
    }

    /**
      Set Task color in critical state
    */
    static
    void setTaskCriticalColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TaskCriticalColor" ) ))
        self()->mTaskCriticalColor = v;
    }

    /**
      Get Task color in critical state
    */
    static
    QColor taskCriticalColor()
    {
      return self()->mTaskCriticalColor;
    }

    /**
      Set Task color in finished state
    */
    static
    void setTaskFinishedColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TaskFinishedColor" ) ))
        self()->mTaskFinishedColor = v;
    }

    /**
      Get Task color in finished state
    */
    static
    QColor taskFinishedColor()
    {
      return self()->mTaskFinishedColor;
    }

    /**
      Set Task color in error state
    */
    static
    void setTaskErrorColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TaskErrorColor" ) ))
        self()->mTaskErrorColor = v;
    }

    /**
      Get Task color in error state
    */
    static
    QColor taskErrorColor()
    {
      return self()->mTaskErrorColor;
    }

    /**
      Set Milestone color in normal state
    */
    static
    void setMilestoneNormalColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "MilestoneNormalColor" ) ))
        self()->mMilestoneNormalColor = v;
    }

    /**
      Get Milestone color in normal state
    */
    static
    QColor milestoneNormalColor()
    {
      return self()->mMilestoneNormalColor;
    }

    /**
      Set Milestone color in critical state
    */
    static
    void setMilestoneCriticalColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "MilestoneCriticalColor" ) ))
        self()->mMilestoneCriticalColor = v;
    }

    /**
      Get Milestone color in critical state
    */
    static
    QColor milestoneCriticalColor()
    {
      return self()->mMilestoneCriticalColor;
    }

    /**
      Set Milestone color in finished state
    */
    static
    void setMilestoneFinishedColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "MilestoneFinishedColor" ) ))
        self()->mMilestoneFinishedColor = v;
    }

    /**
      Get Milestone color in finished state
    */
    static
    QColor milestoneFinishedColor()
    {
      return self()->mMilestoneFinishedColor;
    }

    /**
      Set Milestone color in error state
    */
    static
    void setMilestoneErrorColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "MilestoneErrorColor" ) ))
        self()->mMilestoneErrorColor = v;
    }

    /**
      Get Milestone color in error state
    */
    static
    QColor milestoneErrorColor()
    {
      return self()->mMilestoneErrorColor;
    }

    /**
      Set Automatically check for new work packages
    */
    static
    void setCheckForWorkPackages( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "CheckForWorkPackages" ) ))
        self()->mCheckForWorkPackages = v;
    }

    /**
      Get Automatically check for new work packages
    */
    static
    bool checkForWorkPackages()
    {
      return self()->mCheckForWorkPackages;
    }

    /**
      Set RetrieveUrl
    */
    static
    void setRetrieveUrl( const QUrl & v )
    {
      if (!self()->isImmutable( QStringLiteral( "RetrieveUrl" ) ))
        self()->mRetrieveUrl = v;
    }

    /**
      Get RetrieveUrl
    */
    static
    QUrl retrieveUrl()
    {
      return self()->mRetrieveUrl;
    }

    /**
      Set DeleteFile
    */
    static
    void setDeleteFile( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "DeleteFile" ) ))
        self()->mDeleteFile = v;
    }

    /**
      Get DeleteFile
    */
    static
    bool deleteFile()
    {
      return self()->mDeleteFile;
    }

    /**
      Set SaveFile
    */
    static
    void setSaveFile( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "SaveFile" ) ))
        self()->mSaveFile = v;
    }

    /**
      Get SaveFile
    */
    static
    bool saveFile()
    {
      return self()->mSaveFile;
    }

    /**
      Set SaveUrl
    */
    static
    void setSaveUrl( const QUrl & v )
    {
      if (!self()->isImmutable( QStringLiteral( "SaveUrl" ) ))
        self()->mSaveUrl = v;
    }

    /**
      Get SaveUrl
    */
    static
    QUrl saveUrl()
    {
      return self()->mSaveUrl;
    }

    /**
      Set The smallest duration unit allowed
    */
    static
    void setMinimumDurationUnit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "MinimumDurationUnit" ) ))
        self()->mMinimumDurationUnit = v;
    }

    /**
      Get The smallest duration unit allowed
    */
    static
    int minimumDurationUnit()
    {
      return self()->mMinimumDurationUnit;
    }

    /**
      Set The largest duration unit allowed
    */
    static
    void setMaximumDurationUnit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "MaximumDurationUnit" ) ))
        self()->mMaximumDurationUnit = v;
    }

    /**
      Get The largest duration unit allowed
    */
    static
    int maximumDurationUnit()
    {
      return self()->mMaximumDurationUnit;
    }

  protected:
    KPlatoSettings();
    friend class KPlatoSettingsHelper;


    // EstimateConversion
    double mHoursPrYear;
    double mHoursPrMonth;
    double mHoursPrWeek;
    double mHoursPrDay;

    // CalendarGeneration
    bool mGenerateWeek;
    int mGenerateWeekChoice;
    bool mGenerateHolidays;
    int mGenerateHolidaysChoice;
    QString mRegion;

    // WorkingWeek
    bool mMonday;
    QString mMondayStart;
    QString mMondayEnd;
    bool mTuesday;
    QString mTuesdayStart;
    QString mTuesdayEnd;
    bool mWednesday;
    QString mWednesdayStart;
    QString mWednesdayEnd;
    bool mThursday;
    QString mThursdayStart;
    QString mThursdayEnd;
    bool mFriday;
    QString mFridayStart;
    QString mFridayEnd;
    bool mSaturday;
    QString mSaturdayStart;
    QString mSaturdayEnd;
    bool mSunday;
    QString mSundayStart;
    QString mSundayEnd;

    // Project settings
    QString mManager;
    bool mUseSharedResources;
    QString mSharedResourcesFile;
    QString mSharedProjectsPlace;
    QString mProjectDescription;

    // Task defaults
    QString mLeader;
    int mConstraintType;
    int mStartTimeUsage;
    QDateTime mConstraintStartTime;
    int mEndTimeUsage;
    QDateTime mConstraintEndTime;
    int mEstimateType;
    int mUnit;
    double mExpectedEstimate;
    int mOptimisticRatio;
    int mPessimisticRatio;
    QString mDescription;

    // TaskColors
    int mColorGradientType;
    bool mSummaryTaskLevelColorsEnabled;
    QColor mSummaryTaskDefaultColor;
    QColor mSummaryTaskLevelColor_1;
    QColor mSummaryTaskLevelColor_2;
    QColor mSummaryTaskLevelColor_3;
    QColor mSummaryTaskLevelColor_4;
    QColor mTaskNormalColor;
    QColor mTaskCriticalColor;
    QColor mTaskFinishedColor;
    QColor mTaskErrorColor;
    QColor mMilestoneNormalColor;
    QColor mMilestoneCriticalColor;
    QColor mMilestoneFinishedColor;
    QColor mMilestoneErrorColor;

    // Work Package
    bool mCheckForWorkPackages;
    QUrl mRetrieveUrl;
    bool mDeleteFile;
    bool mSaveFile;
    QUrl mSaveUrl;

    // Miscellaneous
    int mMinimumDurationUnit;
    int mMaximumDurationUnit;

  private:
};

#endif

