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

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

class Q_DECL_EXPORT BittorrentSettings : public KConfigSkeleton
{
  public:

    static BittorrentSettings *self();
    ~BittorrentSettings();

    /**
      Set UploadLimit
    */
    static
    void setUploadLimit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "UploadLimit" ) ))
        self()->mUploadLimit = v;
    }

    /**
      Get UploadLimit
    */
    static
    int uploadLimit()
    {
      return self()->mUploadLimit;
    }

    /**
      Set DownloadLimit
    */
    static
    void setDownloadLimit( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "DownloadLimit" ) ))
        self()->mDownloadLimit = v;
    }

    /**
      Get DownloadLimit
    */
    static
    int downloadLimit()
    {
      return self()->mDownloadLimit;
    }

    /**
      Set Port
    */
    static
    void setPort( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Port" ) ))
        self()->mPort = v;
    }

    /**
      Get Port
    */
    static
    int port()
    {
      return self()->mPort;
    }

    /**
      Set EnableUTP
    */
    static
    void setEnableUTP( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "EnableUTP" ) ))
        self()->mEnableUTP = v;
    }

    /**
      Get EnableUTP
    */
    static
    bool enableUTP()
    {
      return self()->mEnableUTP;
    }

    /**
      Set TorrentDir
    */
    static
    void setTorrentDir( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TorrentDir" ) ))
        self()->mTorrentDir = v;
    }

    /**
      Get TorrentDir
    */
    static
    QString torrentDir()
    {
      return self()->mTorrentDir;
    }

    /**
      Set TmpDir
    */
    static
    void setTmpDir( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "TmpDir" ) ))
        self()->mTmpDir = v;
    }

    /**
      Get TmpDir
    */
    static
    QString tmpDir()
    {
      return self()->mTmpDir;
    }

    /**
      Set PreAlloc
    */
    static
    void setPreAlloc( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "PreAlloc" ) ))
        self()->mPreAlloc = v;
    }

    /**
      Get PreAlloc
    */
    static
    bool preAlloc()
    {
      return self()->mPreAlloc;
    }

    /**
      Set FileColumnWidths
    */
    static
    void setFileColumnWidths( const QList<int> & v )
    {
      if (!self()->isImmutable( QStringLiteral( "FileColumnWidths" ) ))
        self()->mFileColumnWidths = v;
    }

    /**
      Get FileColumnWidths
    */
    static
    QList<int> fileColumnWidths()
    {
      return self()->mFileColumnWidths;
    }

    /**
      Set PeersColumnWidths
    */
    static
    void setPeersColumnWidths( const QList<int> & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PeersColumnWidths" ) ))
        self()->mPeersColumnWidths = v;
    }

    /**
      Get PeersColumnWidths
    */
    static
    QList<int> peersColumnWidths()
    {
      return self()->mPeersColumnWidths;
    }

    /**
      Set ChunksColumnWidths
    */
    static
    void setChunksColumnWidths( const QList<int> & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ChunksColumnWidths" ) ))
        self()->mChunksColumnWidths = v;
    }

    /**
      Get ChunksColumnWidths
    */
    static
    QList<int> chunksColumnWidths()
    {
      return self()->mChunksColumnWidths;
    }

  protected:
    BittorrentSettings();
    friend class BittorrentSettingsHelper;


    // General
    int mUploadLimit;
    int mDownloadLimit;
    int mPort;
    bool mEnableUTP;

    // Dirs
    QString mTorrentDir;
    QString mTmpDir;
    bool mPreAlloc;

    // AdvancedDetails
    QList<int> mFileColumnWidths;
    QList<int> mPeersColumnWidths;
    QList<int> mChunksColumnWidths;

  private:
};

#endif

