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

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

class CervisiaSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set DiffChange
    */
    static
    void setDiffChangeColor( const QColor & v )
    {
      if (!self()->isDiffChangeColorImmutable())
        self()->mDiffChangeColor = v;
    }

    /**
      Get DiffChange
    */
    static
    QColor diffChangeColor()
    {
      return self()->mDiffChangeColor;
    }

    /**
      Is DiffChange Immutable
    */
    static
    bool isDiffChangeColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DiffChangeColor" ) );
    }

    /**
      Set DiffDelete
    */
    static
    void setDiffDeleteColor( const QColor & v )
    {
      if (!self()->isDiffDeleteColorImmutable())
        self()->mDiffDeleteColor = v;
    }

    /**
      Get DiffDelete
    */
    static
    QColor diffDeleteColor()
    {
      return self()->mDiffDeleteColor;
    }

    /**
      Is DiffDelete Immutable
    */
    static
    bool isDiffDeleteColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DiffDeleteColor" ) );
    }

    /**
      Set DiffInsert
    */
    static
    void setDiffInsertColor( const QColor & v )
    {
      if (!self()->isDiffInsertColorImmutable())
        self()->mDiffInsertColor = v;
    }

    /**
      Get DiffInsert
    */
    static
    QColor diffInsertColor()
    {
      return self()->mDiffInsertColor;
    }

    /**
      Is DiffInsert Immutable
    */
    static
    bool isDiffInsertColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DiffInsertColor" ) );
    }

    /**
      Set LocalChange
    */
    static
    void setLocalChangeColor( const QColor & v )
    {
      if (!self()->isLocalChangeColorImmutable())
        self()->mLocalChangeColor = v;
    }

    /**
      Get LocalChange
    */
    static
    QColor localChangeColor()
    {
      return self()->mLocalChangeColor;
    }

    /**
      Is LocalChange Immutable
    */
    static
    bool isLocalChangeColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "LocalChangeColor" ) );
    }

    /**
      Set RemoteChange
    */
    static
    void setRemoteChangeColor( const QColor & v )
    {
      if (!self()->isRemoteChangeColorImmutable())
        self()->mRemoteChangeColor = v;
    }

    /**
      Get RemoteChange
    */
    static
    QColor remoteChangeColor()
    {
      return self()->mRemoteChangeColor;
    }

    /**
      Is RemoteChange Immutable
    */
    static
    bool isRemoteChangeColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "RemoteChangeColor" ) );
    }

    /**
      Set The foreground color used to highlight files with a conflict in the file view.
    */
    static
    void setConflictColor( const QColor & v )
    {
      if (!self()->isConflictColorImmutable())
        self()->mConflictColor = v;
    }

    /**
      Get The foreground color used to highlight files with a conflict in the file view.
    */
    static
    QColor conflictColor()
    {
      return self()->mConflictColor;
    }

    /**
      Is The foreground color used to highlight files with a conflict in the file view. Immutable
    */
    static
    bool isConflictColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ConflictColor" ) );
    }

    /**
      Set NotInCvsColor
    */
    static
    void setNotInCvsColor( const QColor & v )
    {
      if (!self()->isNotInCvsColorImmutable())
        self()->mNotInCvsColor = v;
    }

    /**
      Get NotInCvsColor
    */
    static
    QColor notInCvsColor()
    {
      return self()->mNotInCvsColor;
    }

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

    /**
      Set ProtocolFont
    */
    static
    void setProtocolFont( const QFont & v )
    {
      if (!self()->isProtocolFontImmutable())
        self()->mProtocolFont = v;
    }

    /**
      Get ProtocolFont
    */
    static
    QFont protocolFont()
    {
      return self()->mProtocolFont;
    }

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

    /**
      Set AnnotateFont
    */
    static
    void setAnnotateFont( const QFont & v )
    {
      if (!self()->isAnnotateFontImmutable())
        self()->mAnnotateFont = v;
    }

    /**
      Get AnnotateFont
    */
    static
    QFont annotateFont()
    {
      return self()->mAnnotateFont;
    }

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

    /**
      Set DiffFont
    */
    static
    void setDiffFont( const QFont & v )
    {
      if (!self()->isDiffFontImmutable())
        self()->mDiffFont = v;
    }

    /**
      Get DiffFont
    */
    static
    QFont diffFont()
    {
      return self()->mDiffFont;
    }

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

    /**
      Set ChangeLogFont
    */
    static
    void setChangeLogFont( const QFont & v )
    {
      if (!self()->isChangeLogFontImmutable())
        self()->mChangeLogFont = v;
    }

    /**
      Get ChangeLogFont
    */
    static
    QFont changeLogFont()
    {
      return self()->mChangeLogFont;
    }

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

    /**
      Set Delay (ms) until the progress dialog appears.
    */
    static
    void setTimeout( uint v )
    {
      if (!self()->isTimeoutImmutable())
        self()->mTimeout = v;
    }

    /**
      Get Delay (ms) until the progress dialog appears.
    */
    static
    uint timeout()
    {
      return self()->mTimeout;
    }

    /**
      Is Delay (ms) until the progress dialog appears. Immutable
    */
    static
    bool isTimeoutImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Timeout" ) );
    }

    /**
      Set Repository
    */
    static
    void setRepository( const QString & v )
    {
      if (!self()->isRepositoryImmutable())
        self()->mRepository = v;
    }

    /**
      Get Repository
    */
    static
    QString repository()
    {
      return self()->mRepository;
    }

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

    /**
      Set Module
    */
    static
    void setModule( const QString & v )
    {
      if (!self()->isModuleImmutable())
        self()->mModule = v;
    }

    /**
      Get Module
    */
    static
    QString module()
    {
      return self()->mModule;
    }

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

    /**
      Set Working directory
    */
    static
    void setWorkingFolder( const QString & v )
    {
      if (!self()->isWorkingFolderImmutable())
        self()->mWorkingFolder = v;
    }

    /**
      Get Working directory
    */
    static
    QString workingFolder()
    {
      return self()->mWorkingFolder;
    }

    /**
      Is Working directory Immutable
    */
    static
    bool isWorkingFolderImmutable()
    {
      return self()->isImmutable( QStringLiteral( "WorkingFolder" ) );
    }

  protected:
    CervisiaSettings();
    friend class CervisiaSettingsHelper;


    // Colors
    QColor mDiffChangeColor;
    QColor mDiffDeleteColor;
    QColor mDiffInsertColor;
    QColor mLocalChangeColor;
    QColor mRemoteChangeColor;
    QColor mConflictColor;
    QColor mNotInCvsColor;

    // LookAndFeel
    QFont mProtocolFont;
    QFont mAnnotateFont;
    QFont mDiffFont;
    QFont mChangeLogFont;

    // General
    uint mTimeout;

    // CheckoutDialog
    QString mRepository;
    QString mModule;
    QString mWorkingFolder;

  private:
};

#endif

