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

#include "effect/globals.h"

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

namespace KWin {

class OverviewConfig : public KConfigSkeleton
{
  public:

    static OverviewConfig *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~OverviewConfig() 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 FilterWindows
    */
    static
    void setFilterWindows( bool v )
    {
      if (!self()->isFilterWindowsImmutable())
        self()->mFilterWindows = v;
    }

    /**
      Get FilterWindows
    */
    static
    bool filterWindows()
    {
      return self()->mFilterWindows;
    }

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

    /**
      Set OrganizedGrid
    */
    static
    void setOrganizedGrid( bool v )
    {
      if (!self()->isOrganizedGridImmutable())
        self()->mOrganizedGrid = v;
    }

    /**
      Get OrganizedGrid
    */
    static
    bool organizedGrid()
    {
      return self()->mOrganizedGrid;
    }

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

    /**
      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 GridBorderActivate
    */
    static
    void setGridBorderActivate( const QList<int> & v )
    {
      if (!self()->isGridBorderActivateImmutable())
        self()->mGridBorderActivate = v;
    }

    /**
      Get GridBorderActivate
    */
    static
    QList<int> gridBorderActivate()
    {
      return self()->mGridBorderActivate;
    }

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

    /**
      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 GridTouchBorderActivate
    */
    static
    void setGridTouchBorderActivate( const QList<int> & v )
    {
      if (!self()->isGridTouchBorderActivateImmutable())
        self()->mGridTouchBorderActivate = v;
    }

    /**
      Get GridTouchBorderActivate
    */
    static
    QList<int> gridTouchBorderActivate()
    {
      return self()->mGridTouchBorderActivate;
    }

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

  protected:
    OverviewConfig(KSharedConfig::Ptr config);
    friend class OverviewConfigHelper;


    // Effect-overview
    bool mIgnoreMinimized;
    bool mFilterWindows;
    bool mOrganizedGrid;
    QList<int> mBorderActivate;
    QList<int> mGridBorderActivate;
    QList<int> mTouchBorderActivate;
    QList<int> mGridTouchBorderActivate;
};

}

#endif

