// This file is generated by kconfig_compiler_kf5 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();

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

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

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

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

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

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

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

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

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

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

    /**
      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()->isImmutable( QStringLiteral( "screensaverUploadLimit" ) ))
        self()->mScreensaverUploadLimit = v;
    }

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

    /**
      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()->isImmutable( QStringLiteral( "screensaverDownloadLimit" ) ))
        self()->mScreensaverDownloadLimit = v;
    }

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

  protected:
    SchedulerPluginSettings();
    friend class SchedulerPluginSettingsHelper;


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

  private:
};

#endif

