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

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

namespace KWin {

class TrackMouseConfig : public KConfigSkeleton
{
  public:

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

    /**
      Set Meta
    */
    static
    void setMeta( bool v )
    {
      if (!self()->isMetaImmutable())
        self()->mMeta = v;
    }

    /**
      Get Meta
    */
    static
    bool meta()
    {
      return self()->mMeta;
    }

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

    /**
      Set Control
    */
    static
    void setControl( bool v )
    {
      if (!self()->isControlImmutable())
        self()->mControl = v;
    }

    /**
      Get Control
    */
    static
    bool control()
    {
      return self()->mControl;
    }

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

    /**
      Set Alt
    */
    static
    void setAlt( bool v )
    {
      if (!self()->isAltImmutable())
        self()->mAlt = v;
    }

    /**
      Get Alt
    */
    static
    bool alt()
    {
      return self()->mAlt;
    }

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

    /**
      Set Shift
    */
    static
    void setShift( bool v )
    {
      if (!self()->isShiftImmutable())
        self()->mShift = v;
    }

    /**
      Get Shift
    */
    static
    bool shift()
    {
      return self()->mShift;
    }

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

  protected:
    TrackMouseConfig(KSharedConfig::Ptr config);
    friend class TrackMouseConfigHelper;


    // Effect-trackmouse
    bool mMeta;
    bool mControl;
    bool mAlt;
    bool mShift;
};

}

#endif

