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

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

class Settings : public KConfigSkeleton
{
  public:

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

    /**
      Set Show text beside icon
    */
    static
    void setShowButtonText( bool v )
    {
      if (!self()->isShowButtonTextImmutable())
        self()->mShowButtonText = v;
    }

    /**
      Get Show text beside icon
    */
    static
    bool showButtonText()
    {
      return self()->mShowButtonText;
    }

    /**
      Is Show text beside icon Immutable
    */
    static
    bool isShowButtonTextImmutable()
    {
      return self()->isImmutable( QStringLiteral( "showButtonText" ) );
    }

    /**
      Set version
    */
    static
    void setVersion( const QString & v )
    {
      if (!self()->isVersionImmutable())
        self()->mVersion = v;
    }

    /**
      Get version
    */
    static
    QString version()
    {
      return self()->mVersion;
    }

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

    /**
      Set fastGraphics
    */
    static
    void setFastGraphics( bool v )
    {
      if (!self()->isFastGraphicsImmutable())
        self()->mFastGraphics = v;
    }

    /**
      Get fastGraphics
    */
    static
    bool fastGraphics()
    {
      return self()->mFastGraphics;
    }

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

    /**
      Set vSplitterSizeTop
    */
    static
    void setVSplitterSizeTop( int v )
    {
      if (!self()->isVSplitterSizeTopImmutable())
        self()->mVSplitterSizeTop = v;
    }

    /**
      Get vSplitterSizeTop
    */
    static
    int vSplitterSizeTop()
    {
      return self()->mVSplitterSizeTop;
    }

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

    /**
      Set vSplitterSizeBottom
    */
    static
    void setVSplitterSizeBottom( int v )
    {
      if (!self()->isVSplitterSizeBottomImmutable())
        self()->mVSplitterSizeBottom = v;
    }

    /**
      Get vSplitterSizeBottom
    */
    static
    int vSplitterSizeBottom()
    {
      return self()->mVSplitterSizeBottom;
    }

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

    /**
      Set hSplitterSizeLeft
    */
    static
    void setHSplitterSizeLeft( int v )
    {
      if (!self()->isHSplitterSizeLeftImmutable())
        self()->mHSplitterSizeLeft = v;
    }

    /**
      Get hSplitterSizeLeft
    */
    static
    int hSplitterSizeLeft()
    {
      return self()->mHSplitterSizeLeft;
    }

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

    /**
      Set hSplitterSizeRight
    */
    static
    void setHSplitterSizeRight( int v )
    {
      if (!self()->isHSplitterSizeRightImmutable())
        self()->mHSplitterSizeRight = v;
    }

    /**
      Get hSplitterSizeRight
    */
    static
    int hSplitterSizeRight()
    {
      return self()->mHSplitterSizeRight;
    }

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

    /**
      Set hScriptSplitterSizeLeft
    */
    static
    void setHScriptSplitterSizeLeft( int v )
    {
      if (!self()->isHScriptSplitterSizeLeftImmutable())
        self()->mHScriptSplitterSizeLeft = v;
    }

    /**
      Get hScriptSplitterSizeLeft
    */
    static
    int hScriptSplitterSizeLeft()
    {
      return self()->mHScriptSplitterSizeLeft;
    }

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

    /**
      Set hScriptSplitterSizeRight
    */
    static
    void setHScriptSplitterSizeRight( int v )
    {
      if (!self()->isHScriptSplitterSizeRightImmutable())
        self()->mHScriptSplitterSizeRight = v;
    }

    /**
      Get hScriptSplitterSizeRight
    */
    static
    int hScriptSplitterSizeRight()
    {
      return self()->mHScriptSplitterSizeRight;
    }

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

    /**
      Set lastOpenedDirectory
    */
    static
    void setLastOpenedDirectory( const QString & v )
    {
      if (!self()->isLastOpenedDirectoryImmutable())
        self()->mLastOpenedDirectory = v;
    }

    /**
      Get lastOpenedDirectory
    */
    static
    QString lastOpenedDirectory()
    {
      return self()->mLastOpenedDirectory;
    }

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

    /**
      Set Path where include manager seek for includes.
    */
    static
    void setIncludePath( const QStringList & v )
    {
      if (!self()->isIncludePathImmutable())
        self()->mIncludePath = v;
    }

    /**
      Get Path where include manager seek for includes.
    */
    static
    QStringList includePath()
    {
      return self()->mIncludePath;
    }

    /**
      Is Path where include manager seek for includes. Immutable
    */
    static
    bool isIncludePathImmutable()
    {
      return self()->isImmutable( QStringLiteral( "includePath" ) );
    }

  protected:
    Settings();
    friend class SettingsHelper;


    // ItemPalette
    bool mShowButtonText;

    // RocsConfigVersion
    QString mVersion;

    // GraphicsView
    bool mFastGraphics;

    // MainWindow
    int mVSplitterSizeTop;
    int mVSplitterSizeBottom;
    int mHSplitterSizeLeft;
    int mHSplitterSizeRight;
    int mHScriptSplitterSizeLeft;
    int mHScriptSplitterSizeRight;
    QString mLastOpenedDirectory;

    // IncludeManager
    QStringList mIncludePath;
};

#endif

