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

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

class KommitSettings : public KConfigSkeleton
{
  public:

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

    /**
      Get Added color
    */
    static
    QColor diffAddedColor()
    {
      return self()->mDiffAddedColor;
    }

    /**
      Is Added color Immutable
    */
    static
    bool isDiffAddedColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "diffAddedColor" ) );
    }

    /**
      Get Removed color
    */
    static
    QColor diffRemovedColor()
    {
      return self()->mDiffRemovedColor;
    }

    /**
      Is Removed color Immutable
    */
    static
    bool isDiffRemovedColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "diffRemovedColor" ) );
    }

    /**
      Get Modified color
    */
    static
    QColor diffModifiedColor()
    {
      return self()->mDiffModifiedColor;
    }

    /**
      Is Modified color Immutable
    */
    static
    bool isDiffModifiedColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "diffModifiedColor" ) );
    }

    /**
      Get color of the foreground
    */
    static
    QColor colorForeground()
    {
      return self()->mColorForeground;
    }

    /**
      Is color of the foreground Immutable
    */
    static
    bool isColorForegroundImmutable()
    {
      return self()->isImmutable( QStringLiteral( "colorForeground" ) );
    }

    /**
      Get age of the project
    */
    static
    QString gitBinPath()
    {
      return self()->mGitBinPath;
    }

    /**
      Is age of the project Immutable
    */
    static
    bool isGitBinPathImmutable()
    {
      return self()->isImmutable( QStringLiteral( "gitBinPath" ) );
    }

    /**
      Set calendarType
    */
    static
    void setCalendarType( const QString & v )
    {
      if (!self()->isCalendarTypeImmutable())
        self()->mCalendarType = v;
    }

    /**
      Get calendarType
    */
    static
    QString calendarType()
    {
      return self()->mCalendarType;
    }

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

    /**
      Get calendarTypeIndex
    */
    static
    int calendarTypeIndex()
    {
      return self()->mCalendarTypeIndex;
    }

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

    /**
      Set Open last repo at startup
    */
    static
    void setOpenLastRepo( bool v )
    {
      if (!self()->isOpenLastRepoImmutable())
        self()->mOpenLastRepo = v;
    }

    /**
      Get Open last repo at startup
    */
    static
    bool openLastRepo()
    {
      return self()->mOpenLastRepo;
    }

    /**
      Is Open last repo at startup Immutable
    */
    static
    bool isOpenLastRepoImmutable()
    {
      return self()->isImmutable( QStringLiteral( "openLastRepo" ) );
    }

    /**
      Get registerDiffTool
    */
    static
    bool registerDiffTool()
    {
      return self()->mRegisterDiffTool;
    }

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

    /**
      Get registerMergeTool
    */
    static
    bool registerMergeTool()
    {
      return self()->mRegisterMergeTool;
    }

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

  protected:
    KommitSettings();
    friend class KommitSettingsHelper;


    // Preferences
    QColor mDiffAddedColor;
    QColor mDiffRemovedColor;
    QColor mDiffModifiedColor;
    QColor mColorForeground;
    QString mGitBinPath;
    QString mCalendarType;
    int mCalendarTypeIndex;
    bool mOpenLastRepo;
    bool mRegisterDiffTool;
    bool mRegisterMergeTool;
};

#endif

