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

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

namespace Oxygen {

class InternalSettings : public KConfigSkeleton
{
  public:
    enum EnumTitleAlignment { AlignLeft, AlignCenter, AlignCenterFullWidth, AlignRight };
    enum EnumButtonSize { ButtonSmall, ButtonDefault, ButtonLarge, ButtonVeryLarge, ButtonHuge };
    enum EnumBorderSize { BorderNone, BorderNoSides, BorderTiny, BorderNormal, BorderLarge, BorderVeryLarge, BorderHuge, BorderVeryHuge, BorderOversized };
    enum EnumExceptionType { ExceptionWindowClassName, ExceptionWindowTitle };

    InternalSettings( );
    ~InternalSettings() override;

    /**
      Set TitleAlignment
    */
    void setTitleAlignment( int v )
    {
      if (!isTitleAlignmentImmutable())
        mTitleAlignment = v;
    }

    /**
      Get TitleAlignment
    */
    int titleAlignment() const
    {
      return mTitleAlignment;
    }

    /**
      Is TitleAlignment Immutable
    */
    bool isTitleAlignmentImmutable() const
    {
      return isImmutable( QStringLiteral( "TitleAlignment" ) );
    }

    /**
      Set ButtonSize
    */
    void setButtonSize( int v )
    {
      if (!isButtonSizeImmutable())
        mButtonSize = v;
    }

    /**
      Get ButtonSize
    */
    int buttonSize() const
    {
      return mButtonSize;
    }

    /**
      Is ButtonSize Immutable
    */
    bool isButtonSizeImmutable() const
    {
      return isImmutable( QStringLiteral( "ButtonSize" ) );
    }

    /**
      Set BorderSize
    */
    void setBorderSize( int v )
    {
      if (!isBorderSizeImmutable())
        mBorderSize = v;
    }

    /**
      Get BorderSize
    */
    int borderSize() const
    {
      return mBorderSize;
    }

    /**
      Is BorderSize Immutable
    */
    bool isBorderSizeImmutable() const
    {
      return isImmutable( QStringLiteral( "BorderSize" ) );
    }

    /**
      Set UseWindowColors
    */
    void setUseWindowColors( bool v )
    {
      if (!isUseWindowColorsImmutable())
        mUseWindowColors = v;
    }

    /**
      Get UseWindowColors
    */
    bool useWindowColors() const
    {
      return mUseWindowColors;
    }

    /**
      Is UseWindowColors Immutable
    */
    bool isUseWindowColorsImmutable() const
    {
      return isImmutable( QStringLiteral( "UseWindowColors" ) );
    }

    /**
      Set HideTitleBar
    */
    void setHideTitleBar( bool v )
    {
      if (!isHideTitleBarImmutable())
        mHideTitleBar = v;
    }

    /**
      Get HideTitleBar
    */
    bool hideTitleBar() const
    {
      return mHideTitleBar;
    }

    /**
      Is HideTitleBar Immutable
    */
    bool isHideTitleBarImmutable() const
    {
      return isImmutable( QStringLiteral( "HideTitleBar" ) );
    }

    /**
      Set DrawBorderOnMaximizedWindows
    */
    void setDrawBorderOnMaximizedWindows( bool v )
    {
      if (!isDrawBorderOnMaximizedWindowsImmutable())
        mDrawBorderOnMaximizedWindows = v;
    }

    /**
      Get DrawBorderOnMaximizedWindows
    */
    bool drawBorderOnMaximizedWindows() const
    {
      return mDrawBorderOnMaximizedWindows;
    }

    /**
      Is DrawBorderOnMaximizedWindows Immutable
    */
    bool isDrawBorderOnMaximizedWindowsImmutable() const
    {
      return isImmutable( QStringLiteral( "DrawBorderOnMaximizedWindows" ) );
    }

    /**
      Set AnimationsEnabled
    */
    void setAnimationsEnabled( bool v )
    {
      if (!isAnimationsEnabledImmutable())
        mAnimationsEnabled = v;
    }

    /**
      Get AnimationsEnabled
    */
    bool animationsEnabled() const
    {
      return mAnimationsEnabled;
    }

    /**
      Is AnimationsEnabled Immutable
    */
    bool isAnimationsEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "AnimationsEnabled" ) );
    }

    /**
      Set ButtonAnimationsEnabled
    */
    void setButtonAnimationsEnabled( bool v )
    {
      if (!isButtonAnimationsEnabledImmutable())
        mButtonAnimationsEnabled = v;
    }

    /**
      Get ButtonAnimationsEnabled
    */
    bool buttonAnimationsEnabled() const
    {
      return mButtonAnimationsEnabled;
    }

    /**
      Is ButtonAnimationsEnabled Immutable
    */
    bool isButtonAnimationsEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "ButtonAnimationsEnabled" ) );
    }

    /**
      Set TitleAnimationsEnabled
    */
    void setTitleAnimationsEnabled( bool v )
    {
      if (!isTitleAnimationsEnabledImmutable())
        mTitleAnimationsEnabled = v;
    }

    /**
      Get TitleAnimationsEnabled
    */
    bool titleAnimationsEnabled() const
    {
      return mTitleAnimationsEnabled;
    }

    /**
      Is TitleAnimationsEnabled Immutable
    */
    bool isTitleAnimationsEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "TitleAnimationsEnabled" ) );
    }

    /**
      Set ShadowAnimationsEnabled
    */
    void setShadowAnimationsEnabled( bool v )
    {
      if (!isShadowAnimationsEnabledImmutable())
        mShadowAnimationsEnabled = v;
    }

    /**
      Get ShadowAnimationsEnabled
    */
    bool shadowAnimationsEnabled() const
    {
      return mShadowAnimationsEnabled;
    }

    /**
      Is ShadowAnimationsEnabled Immutable
    */
    bool isShadowAnimationsEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "ShadowAnimationsEnabled" ) );
    }

    /**
      Set TabAnimationsEnabled
    */
    void setTabAnimationsEnabled( bool v )
    {
      if (!isTabAnimationsEnabledImmutable())
        mTabAnimationsEnabled = v;
    }

    /**
      Get TabAnimationsEnabled
    */
    bool tabAnimationsEnabled() const
    {
      return mTabAnimationsEnabled;
    }

    /**
      Is TabAnimationsEnabled Immutable
    */
    bool isTabAnimationsEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "TabAnimationsEnabled" ) );
    }

    /**
      Set ButtonAnimationsDuration
    */
    void setButtonAnimationsDuration( int v )
    {
      if (!isButtonAnimationsDurationImmutable())
        mButtonAnimationsDuration = v;
    }

    /**
      Get ButtonAnimationsDuration
    */
    int buttonAnimationsDuration() const
    {
      return mButtonAnimationsDuration;
    }

    /**
      Is ButtonAnimationsDuration Immutable
    */
    bool isButtonAnimationsDurationImmutable() const
    {
      return isImmutable( QStringLiteral( "ButtonAnimationsDuration" ) );
    }

    /**
      Set TitleAnimationsDuration
    */
    void setTitleAnimationsDuration( int v )
    {
      if (!isTitleAnimationsDurationImmutable())
        mTitleAnimationsDuration = v;
    }

    /**
      Get TitleAnimationsDuration
    */
    int titleAnimationsDuration() const
    {
      return mTitleAnimationsDuration;
    }

    /**
      Is TitleAnimationsDuration Immutable
    */
    bool isTitleAnimationsDurationImmutable() const
    {
      return isImmutable( QStringLiteral( "TitleAnimationsDuration" ) );
    }

    /**
      Set ShadowAnimationsDuration
    */
    void setShadowAnimationsDuration( int v )
    {
      if (!isShadowAnimationsDurationImmutable())
        mShadowAnimationsDuration = v;
    }

    /**
      Get ShadowAnimationsDuration
    */
    int shadowAnimationsDuration() const
    {
      return mShadowAnimationsDuration;
    }

    /**
      Is ShadowAnimationsDuration Immutable
    */
    bool isShadowAnimationsDurationImmutable() const
    {
      return isImmutable( QStringLiteral( "ShadowAnimationsDuration" ) );
    }

    /**
      Set TabAnimationsDuration
    */
    void setTabAnimationsDuration( int v )
    {
      if (!isTabAnimationsDurationImmutable())
        mTabAnimationsDuration = v;
    }

    /**
      Get TabAnimationsDuration
    */
    int tabAnimationsDuration() const
    {
      return mTabAnimationsDuration;
    }

    /**
      Is TabAnimationsDuration Immutable
    */
    bool isTabAnimationsDurationImmutable() const
    {
      return isImmutable( QStringLiteral( "TabAnimationsDuration" ) );
    }

    /**
      Set ExceptionType
    */
    void setExceptionType( int v )
    {
      if (!isExceptionTypeImmutable())
        mExceptionType = v;
    }

    /**
      Get ExceptionType
    */
    int exceptionType() const
    {
      return mExceptionType;
    }

    /**
      Is ExceptionType Immutable
    */
    bool isExceptionTypeImmutable() const
    {
      return isImmutable( QStringLiteral( "ExceptionType" ) );
    }

    /**
      Set ExceptionPattern
    */
    void setExceptionPattern( const QString & v )
    {
      if (!isExceptionPatternImmutable())
        mExceptionPattern = v;
    }

    /**
      Get ExceptionPattern
    */
    QString exceptionPattern() const
    {
      return mExceptionPattern;
    }

    /**
      Is ExceptionPattern Immutable
    */
    bool isExceptionPatternImmutable() const
    {
      return isImmutable( QStringLiteral( "ExceptionPattern" ) );
    }

    /**
      Set Enabled
    */
    void setEnabled( bool v )
    {
      if (!isEnabledImmutable())
        mEnabled = v;
    }

    /**
      Get Enabled
    */
    bool enabled() const
    {
      return mEnabled;
    }

    /**
      Is Enabled Immutable
    */
    bool isEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "Enabled" ) );
    }

    /**
      Set Mask
    */
    void setMask( int v )
    {
      if (!isMaskImmutable())
        mMask = v;
    }

    /**
      Get Mask
    */
    int mask() const
    {
      return mMask;
    }

    /**
      Is Mask Immutable
    */
    bool isMaskImmutable() const
    {
      return isImmutable( QStringLiteral( "Mask" ) );
    }

  protected:

    // Windeco
    int mTitleAlignment;
    int mButtonSize;
    int mBorderSize;
    bool mUseWindowColors;
    bool mHideTitleBar;
    bool mDrawBorderOnMaximizedWindows;
    bool mAnimationsEnabled;
    bool mButtonAnimationsEnabled;
    bool mTitleAnimationsEnabled;
    bool mShadowAnimationsEnabled;
    bool mTabAnimationsEnabled;
    int mButtonAnimationsDuration;
    int mTitleAnimationsDuration;
    int mShadowAnimationsDuration;
    int mTabAnimationsDuration;
    int mExceptionType;
    QString mExceptionPattern;
    bool mEnabled;
    int mMask;
};

}

#endif

