// This file is generated by kconfig_compiler_kf6 from ktbwschedulerplugin.kcfg.
// All changes you do to this file will be lost.
#ifndef SCHEDULERPLUGINSETTINGS_H
#define SCHEDULERPLUGINSETTINGS_H

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

class SchedulerPluginSettings : public KConfigSkeleton
{
  public:

    static SchedulerPluginSettings *self();
    ~SchedulerPluginSettings() override;

    /**
      Set itemColor
    */
    static
    void setItemColor( const QColor & v )
    {
      if (!self()->isItemColorImmutable())
        self()->mItemColor = v;
    }

    /**
      Get itemColor
    */
    static
    QColor itemColor()
    {
      return self()->mItemColor;
    }

    /**
      Is itemColor Immutable
    */
    static
    bool isItemColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "itemColor" ) );
    }

    /**
      Set suspendedColor
    */
    static
    void setSuspendedColor( const QColor & v )
    {
      if (!self()->isSuspendedColorImmutable())
        self()->mSuspendedColor = v;
    }

    /**
      Get suspendedColor
    */
    static
    QColor suspendedColor()
    {
      return self()->mSuspendedColor;
    }

    /**
      Is suspendedColor Immutable
    */
    static
    bool isSuspendedColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "suspendedColor" ) );
    }

    /**
      Set scheduleBackgroundColor
    */
    static
    void setScheduleBackgroundColor( const QColor & v )
    {
      if (!self()->isScheduleBackgroundColorImmutable())
        self()->mScheduleBackgroundColor = v;
    }

    /**
      Get scheduleBackgroundColor
    */
    static
    QColor scheduleBackgroundColor()
    {
      return self()->mScheduleBackgroundColor;
    }

    /**
      Is scheduleBackgroundColor Immutable
    */
    static
    bool isScheduleBackgroundColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "scheduleBackgroundColor" ) );
    }

    /**
      Set scheduleLineColor
    */
    static
    void setScheduleLineColor( const QColor & v )
    {
      if (!self()->isScheduleLineColorImmutable())
        self()->mScheduleLineColor = v;
    }

    /**
      Get scheduleLineColor
    */
    static
    QColor scheduleLineColor()
    {
      return self()->mScheduleLineColor;
    }

    /**
      Is scheduleLineColor Immutable
    */
    static
    bool isScheduleLineColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "scheduleLineColor" ) );
    }

    /**
      Set screensaverLimits
    */
    static
    void setScreensaverLimits( bool v )
    {
      if (!self()->isScreensaverLimitsImmutable())
        self()->mScreensaverLimits = v;
    }

    /**
      Get screensaverLimits
    */
    static
    bool screensaverLimits()
    {
      return self()->mScreensaverLimits;
    }

    /**
      Is screensaverLimits Immutable
    */
    static
    bool isScreensaverLimitsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "screensaverLimits" ) );
    }

    /**
      Set screensaverUploadLimit
    */
    static
    void setScreensaverUploadLimit( int v )
    {
      if (v < 0)
      {
        qDebug() << "setScreensaverUploadLimit: value " << v << " is less than the minimum value of 0";
        v = 0;
      }
      if (!self()->isScreensaverUploadLimitImmutable())
        self()->mScreensaverUploadLimit = v;
    }

    /**
      Get screensaverUploadLimit
    */
    static
    int screensaverUploadLimit()
    {
      return self()->mScreensaverUploadLimit;
    }

    /**
      Is screensaverUploadLimit Immutable
    */
    static
    bool isScreensaverUploadLimitImmutable()
    {
      return self()->isImmutable( QStringLiteral( "screensaverUploadLimit" ) );
    }

    /**
      Set screensaverDownloadLimit
    */
    static
    void setScreensaverDownloadLimit( int v )
    {
      if (v < 0)
      {
        qDebug() << "setScreensaverDownloadLimit: value " << v << " is less than the minimum value of 0";
        v = 0;
      }
      if (!self()->isScreensaverDownloadLimitImmutable())
        self()->mScreensaverDownloadLimit = v;
    }

    /**
      Get screensaverDownloadLimit
    */
    static
    int screensaverDownloadLimit()
    {
      return self()->mScreensaverDownloadLimit;
    }

    /**
      Is screensaverDownloadLimit Immutable
    */
    static
    bool isScreensaverDownloadLimitImmutable()
    {
      return self()->isImmutable( QStringLiteral( "screensaverDownloadLimit" ) );
    }

  protected:
    SchedulerPluginSettings();
    friend class SchedulerPluginSettingsHelper;


    // general
    QColor mItemColor;
    QColor mSuspendedColor;
    QColor mScheduleBackgroundColor;
    QColor mScheduleLineColor;
    bool mScreensaverLimits;
    int mScreensaverUploadLimit;
    int mScreensaverDownloadLimit;
};

#endif

