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

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

class StatsPluginSettings : public KConfigSkeleton
{
  public:

    static StatsPluginSettings *self();
    ~StatsPluginSettings();

    /**
      Set Update charts every n gui updates
    */
    static
    void setUpdateEveryGuiUpdates( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "UpdateEveryGuiUpdates" ) ))
        self()->mUpdateEveryGuiUpdates = v;
    }

    /**
      Get Update charts every n gui updates
    */
    static
    uint updateEveryGuiUpdates()
    {
      return self()->mUpdateEveryGuiUpdates;
    }

    /**
      Set Interval in milliseconds between data gathering
    */
    static
    void setDataGatherIval( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DataGatherIval" ) ))
        self()->mDataGatherIval = v;
    }

    /**
      Get Interval in milliseconds between data gathering
    */
    static
    uint dataGatherIval()
    {
      return self()->mDataGatherIval;
    }

    /**
      Set Method of determining maximum value of the scale
    */
    static
    void setMaxMode( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "MaxMode" ) ))
        self()->mMaxMode = v;
    }

    /**
      Get Method of determining maximum value of the scale
    */
    static
    uint maxMode()
    {
      return self()->mMaxMode;
    }

    /**
      Set Whether to show seeds in swarms
    */
    static
    void setShowSeedsInSwarms( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowSeedsInSwarms" ) ))
        self()->mShowSeedsInSwarms = v;
    }

    /**
      Get Whether to show seeds in swarms
    */
    static
    bool showSeedsInSwarms()
    {
      return self()->mShowSeedsInSwarms;
    }

    /**
      Set Whether to show leachers in swarms
    */
    static
    void setShowLeechersInSwarms( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowLeechersInSwarms" ) ))
        self()->mShowLeechersInSwarms = v;
    }

    /**
      Get Whether to show leachers in swarms
    */
    static
    bool showLeechersInSwarms()
    {
      return self()->mShowLeechersInSwarms;
    }

    /**
      Set Samples to show on download chart
    */
    static
    void setDlSpdSamples( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DlSpdSamples" ) ))
        self()->mDlSpdSamples = v;
    }

    /**
      Get Samples to show on download chart
    */
    static
    uint dlSpdSamples()
    {
      return self()->mDlSpdSamples;
    }

    /**
      Set Samples to show on peers chart
    */
    static
    void setPeersSpdSamples( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "PeersSpdSamples" ) ))
        self()->mPeersSpdSamples = v;
    }

    /**
      Get Samples to show on peers chart
    */
    static
    uint peersSpdSamples()
    {
      return self()->mPeersSpdSamples;
    }

    /**
      Set Samples to show on upload chart
    */
    static
    void setUlSpdSamples( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "UlSpdSamples" ) ))
        self()->mUlSpdSamples = v;
    }

    /**
      Get Samples to show on upload chart
    */
    static
    uint ulSpdSamples()
    {
      return self()->mUlSpdSamples;
    }

    /**
      Set Samples to show on connections chart
    */
    static
    void setConnsSamples( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "ConnsSamples" ) ))
        self()->mConnsSamples = v;
    }

    /**
      Get Samples to show on connections chart
    */
    static
    uint connsSamples()
    {
      return self()->mConnsSamples;
    }

    /**
      Set Samples to show on DHT chart
    */
    static
    void setDhtSpdSamples( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DhtSpdSamples" ) ))
        self()->mDhtSpdSamples = v;
    }

    /**
      Get Samples to show on DHT chart
    */
    static
    uint dhtSpdSamples()
    {
      return self()->mDhtSpdSamples;
    }

    /**
      Set Color of the speed on dl chart
    */
    static
    void setDlSpdColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DlSpdColor" ) ))
        self()->mDlSpdColor = v;
    }

    /**
      Get Color of the speed on dl chart
    */
    static
    QColor dlSpdColor()
    {
      return self()->mDlSpdColor;
    }

    /**
      Set Color of the average on dl chart
    */
    static
    void setDlAvgColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DlAvgColor" ) ))
        self()->mDlAvgColor = v;
    }

    /**
      Get Color of the average on dl chart
    */
    static
    QColor dlAvgColor()
    {
      return self()->mDlAvgColor;
    }

    /**
      Set Color of the limit on dl chart
    */
    static
    void setDlLimitColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DlLimitColor" ) ))
        self()->mDlLimitColor = v;
    }

    /**
      Get Color of the limit on dl chart
    */
    static
    QColor dlLimitColor()
    {
      return self()->mDlLimitColor;
    }

    /**
      Set Color of the avg from leecher on peers chart
    */
    static
    void setPrAvgFromLColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PrAvgFromLColor" ) ))
        self()->mPrAvgFromLColor = v;
    }

    /**
      Get Color of the avg from leecher on peers chart
    */
    static
    QColor prAvgFromLColor()
    {
      return self()->mPrAvgFromLColor;
    }

    /**
      Set Color of the avg to leecher on peers chart
    */
    static
    void setPrAvgToLColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PrAvgToLColor" ) ))
        self()->mPrAvgToLColor = v;
    }

    /**
      Get Color of the avg to leecher on peers chart
    */
    static
    QColor prAvgToLColor()
    {
      return self()->mPrAvgToLColor;
    }

    /**
      Set Color of the avg from seeds on peers chart
    */
    static
    void setPrAvgFromSColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PrAvgFromSColor" ) ))
        self()->mPrAvgFromSColor = v;
    }

    /**
      Get Color of the avg from seeds on peers chart
    */
    static
    QColor prAvgFromSColor()
    {
      return self()->mPrAvgFromSColor;
    }

    /**
      Set Color of the leechers on peers chart
    */
    static
    void setPrFromLColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PrFromLColor" ) ))
        self()->mPrFromLColor = v;
    }

    /**
      Get Color of the leechers on peers chart
    */
    static
    QColor prFromLColor()
    {
      return self()->mPrFromLColor;
    }

    /**
      Set Color of the seeds on peers chart
    */
    static
    void setPrFromSColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PrFromSColor" ) ))
        self()->mPrFromSColor = v;
    }

    /**
      Get Color of the seeds on peers chart
    */
    static
    QColor prFromSColor()
    {
      return self()->mPrFromSColor;
    }

    /**
      Set Color of the speed on upload chart
    */
    static
    void setUlSpdColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "UlSpdColor" ) ))
        self()->mUlSpdColor = v;
    }

    /**
      Get Color of the speed on upload chart
    */
    static
    QColor ulSpdColor()
    {
      return self()->mUlSpdColor;
    }

    /**
      Set Color of the avg on upload chart
    */
    static
    void setUlAvgColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "UlAvgColor" ) ))
        self()->mUlAvgColor = v;
    }

    /**
      Get Color of the avg on upload chart
    */
    static
    QColor ulAvgColor()
    {
      return self()->mUlAvgColor;
    }

    /**
      Set Color of the limit on upload chart
    */
    static
    void setUlLimitColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "UlLimitColor" ) ))
        self()->mUlLimitColor = v;
    }

    /**
      Get Color of the limit on upload chart
    */
    static
    QColor ulLimitColor()
    {
      return self()->mUlLimitColor;
    }

    /**
      Set Color of the connected leechers on connections chart
    */
    static
    void setCnLConnColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnLConnColor" ) ))
        self()->mCnLConnColor = v;
    }

    /**
      Get Color of the connected leechers on connections chart
    */
    static
    QColor cnLConnColor()
    {
      return self()->mCnLConnColor;
    }

    /**
      Set Color of the leechers in swarms on connections chart
    */
    static
    void setCnLSwarmsColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnLSwarmsColor" ) ))
        self()->mCnLSwarmsColor = v;
    }

    /**
      Get Color of the leechers in swarms on connections chart
    */
    static
    QColor cnLSwarmsColor()
    {
      return self()->mCnLSwarmsColor;
    }

    /**
      Set Color of the connected seeds on connections chart
    */
    static
    void setCnSConnColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnSConnColor" ) ))
        self()->mCnSConnColor = v;
    }

    /**
      Get Color of the connected seeds on connections chart
    */
    static
    QColor cnSConnColor()
    {
      return self()->mCnSConnColor;
    }

    /**
      Set Color of the seeds in swarms on connections chart
    */
    static
    void setCnSSwarmsColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnSSwarmsColor" ) ))
        self()->mCnSSwarmsColor = v;
    }

    /**
      Get Color of the seeds in swarms on connections chart
    */
    static
    QColor cnSSwarmsColor()
    {
      return self()->mCnSSwarmsColor;
    }

    /**
      Set Color of the avg connected leecher per torrent on connections chart
    */
    static
    void setCnAvgLConnPerTorrColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnAvgLConnPerTorrColor" ) ))
        self()->mCnAvgLConnPerTorrColor = v;
    }

    /**
      Get Color of the avg connected leecher per torrent on connections chart
    */
    static
    QColor cnAvgLConnPerTorrColor()
    {
      return self()->mCnAvgLConnPerTorrColor;
    }

    /**
      Set Color of the avg connected seeds per torrent on connections chart
    */
    static
    void setCnAvgSConnPerTorrColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnAvgSConnPerTorrColor" ) ))
        self()->mCnAvgSConnPerTorrColor = v;
    }

    /**
      Get Color of the avg connected seeds per torrent on connections chart
    */
    static
    QColor cnAvgSConnPerTorrColor()
    {
      return self()->mCnAvgSConnPerTorrColor;
    }

    /**
      Set Color of the avg connected leechers per running torrent on connections chart
    */
    static
    void setCnAvgLConnPerRunTorrColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnAvgLConnPerRunTorrColor" ) ))
        self()->mCnAvgLConnPerRunTorrColor = v;
    }

    /**
      Get Color of the avg connected leechers per running torrent on connections chart
    */
    static
    QColor cnAvgLConnPerRunTorrColor()
    {
      return self()->mCnAvgLConnPerRunTorrColor;
    }

    /**
      Set Color of the avg connected seeds per running torrent on connections chart
    */
    static
    void setCnAvgSConnPerRunTorrColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "CnAvgSConnPerRunTorrColor" ) ))
        self()->mCnAvgSConnPerRunTorrColor = v;
    }

    /**
      Get Color of the avg connected seeds per running torrent on connections chart
    */
    static
    QColor cnAvgSConnPerRunTorrColor()
    {
      return self()->mCnAvgSConnPerRunTorrColor;
    }

    /**
      Set Color of the nodes on DHT chart
    */
    static
    void setDhtNodesColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DhtNodesColor" ) ))
        self()->mDhtNodesColor = v;
    }

    /**
      Get Color of the nodes on DHT chart
    */
    static
    QColor dhtNodesColor()
    {
      return self()->mDhtNodesColor;
    }

    /**
      Set Color of the tasks on DHT chart
    */
    static
    void setDhtTasksColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DhtTasksColor" ) ))
        self()->mDhtTasksColor = v;
    }

    /**
      Get Color of the tasks on DHT chart
    */
    static
    QColor dhtTasksColor()
    {
      return self()->mDhtTasksColor;
    }

    /**
      Set Use anti aliasing on charts?
    */
    static
    void setAntiAliasing( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AntiAliasing" ) ))
        self()->mAntiAliasing = v;
    }

    /**
      Get Use anti aliasing on charts?
    */
    static
    bool antiAliasing()
    {
      return self()->mAntiAliasing;
    }

    /**
      Set Draw ugly grey background grid?
    */
    static
    void setDrawBgdGrid( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "DrawBgdGrid" ) ))
        self()->mDrawBgdGrid = v;
    }

    /**
      Get Draw ugly grey background grid?
    */
    static
    bool drawBgdGrid()
    {
      return self()->mDrawBgdGrid;
    }

    /**
      Set Type of widget used for chart drawing
    */
    static
    void setWidgetType( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "WidgetType" ) ))
        self()->mWidgetType = v;
    }

    /**
      Get Type of widget used for chart drawing
    */
    static
    uint widgetType()
    {
      return self()->mWidgetType;
    }

  protected:
    StatsPluginSettings();
    friend class StatsPluginSettingsHelper;


    // general
    uint mUpdateEveryGuiUpdates;
    uint mDataGatherIval;
    uint mMaxMode;
    bool mShowSeedsInSwarms;
    bool mShowLeechersInSwarms;
    uint mDlSpdSamples;
    uint mPeersSpdSamples;
    uint mUlSpdSamples;
    uint mConnsSamples;
    uint mDhtSpdSamples;
    QColor mDlSpdColor;
    QColor mDlAvgColor;
    QColor mDlLimitColor;
    QColor mPrAvgFromLColor;
    QColor mPrAvgToLColor;
    QColor mPrAvgFromSColor;
    QColor mPrFromLColor;
    QColor mPrFromSColor;
    QColor mUlSpdColor;
    QColor mUlAvgColor;
    QColor mUlLimitColor;
    QColor mCnLConnColor;
    QColor mCnLSwarmsColor;
    QColor mCnSConnColor;
    QColor mCnSSwarmsColor;
    QColor mCnAvgLConnPerTorrColor;
    QColor mCnAvgSConnPerTorrColor;
    QColor mCnAvgLConnPerRunTorrColor;
    QColor mCnAvgSConnPerRunTorrColor;
    QColor mDhtNodesColor;
    QColor mDhtTasksColor;
    bool mAntiAliasing;
    bool mDrawBgdGrid;
    uint mWidgetType;

  private:
};

#endif

