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

#include "effect/globals.h"

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

namespace KWin {

class WindowViewConfig : public KConfigSkeleton
{
  public:

    static WindowViewConfig *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~WindowViewConfig() override;

    /**
      Set IgnoreMinimized
    */
    static
    void setIgnoreMinimized( bool v )
    {
      if (!self()->isIgnoreMinimizedImmutable())
        self()->mIgnoreMinimized = v;
    }

    /**
      Get IgnoreMinimized
    */
    static
    bool ignoreMinimized()
    {
      return self()->mIgnoreMinimized;
    }

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

    /**
      Set BorderActivate
    */
    static
    void setBorderActivate( const QList<int> & v )
    {
      if (!self()->isBorderActivateImmutable())
        self()->mBorderActivate = v;
    }

    /**
      Get BorderActivate
    */
    static
    QList<int> borderActivate()
    {
      return self()->mBorderActivate;
    }

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

    /**
      Set BorderActivateAll
    */
    static
    void setBorderActivateAll( const QList<int> & v )
    {
      if (!self()->isBorderActivateAllImmutable())
        self()->mBorderActivateAll = v;
    }

    /**
      Get BorderActivateAll
    */
    static
    QList<int> borderActivateAll()
    {
      return self()->mBorderActivateAll;
    }

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

    /**
      Set BorderActivateClass
    */
    static
    void setBorderActivateClass( const QList<int> & v )
    {
      if (!self()->isBorderActivateClassImmutable())
        self()->mBorderActivateClass = v;
    }

    /**
      Get BorderActivateClass
    */
    static
    QList<int> borderActivateClass()
    {
      return self()->mBorderActivateClass;
    }

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

    /**
      Set BorderActivateClassCurrentDesktop
    */
    static
    void setBorderActivateClassCurrentDesktop( const QList<int> & v )
    {
      if (!self()->isBorderActivateClassCurrentDesktopImmutable())
        self()->mBorderActivateClassCurrentDesktop = v;
    }

    /**
      Get BorderActivateClassCurrentDesktop
    */
    static
    QList<int> borderActivateClassCurrentDesktop()
    {
      return self()->mBorderActivateClassCurrentDesktop;
    }

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

    /**
      Set TouchBorderActivate
    */
    static
    void setTouchBorderActivate( const QList<int> & v )
    {
      if (!self()->isTouchBorderActivateImmutable())
        self()->mTouchBorderActivate = v;
    }

    /**
      Get TouchBorderActivate
    */
    static
    QList<int> touchBorderActivate()
    {
      return self()->mTouchBorderActivate;
    }

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

    /**
      Set TouchBorderActivateAll
    */
    static
    void setTouchBorderActivateAll( const QList<int> & v )
    {
      if (!self()->isTouchBorderActivateAllImmutable())
        self()->mTouchBorderActivateAll = v;
    }

    /**
      Get TouchBorderActivateAll
    */
    static
    QList<int> touchBorderActivateAll()
    {
      return self()->mTouchBorderActivateAll;
    }

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

    /**
      Set TouchBorderActivateClass
    */
    static
    void setTouchBorderActivateClass( const QList<int> & v )
    {
      if (!self()->isTouchBorderActivateClassImmutable())
        self()->mTouchBorderActivateClass = v;
    }

    /**
      Get TouchBorderActivateClass
    */
    static
    QList<int> touchBorderActivateClass()
    {
      return self()->mTouchBorderActivateClass;
    }

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

    /**
      Set TouchBorderActivateClassCurrentDesktop
    */
    static
    void setTouchBorderActivateClassCurrentDesktop( const QList<int> & v )
    {
      if (!self()->isTouchBorderActivateClassCurrentDesktopImmutable())
        self()->mTouchBorderActivateClassCurrentDesktop = v;
    }

    /**
      Get TouchBorderActivateClassCurrentDesktop
    */
    static
    QList<int> touchBorderActivateClassCurrentDesktop()
    {
      return self()->mTouchBorderActivateClassCurrentDesktop;
    }

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

  protected:
    WindowViewConfig(KSharedConfig::Ptr config);
    friend class WindowViewConfigHelper;


    // Effect-windowview
    bool mIgnoreMinimized;
    QList<int> mBorderActivate;
    QList<int> mBorderActivateAll;
    QList<int> mBorderActivateClass;
    QList<int> mBorderActivateClassCurrentDesktop;
    QList<int> mTouchBorderActivate;
    QList<int> mTouchBorderActivateAll;
    QList<int> mTouchBorderActivateClass;
    QList<int> mTouchBorderActivateClassCurrentDesktop;
};

}

#endif

