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

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

class LandingPageGlobalsSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

    LandingPageGlobalsSettings( QObject *parent = nullptr );
    ~LandingPageGlobalsSettings() override;

    /**
      Set Color scheme name
    */
    void setColorScheme( const QString & v )
    {
      if (v != mColorScheme && !isColorSchemeImmutable()) {
        mColorScheme = v;
        Q_EMIT colorSchemeChanged();
      }
    }

    Q_PROPERTY(QString colorScheme READ colorScheme WRITE setColorScheme NOTIFY colorSchemeChanged)
    Q_PROPERTY(bool isColorSchemeImmutable READ isColorSchemeImmutable CONSTANT)
    Q_PROPERTY(QString defaultColorSchemeValue READ defaultColorSchemeValue CONSTANT)
    /**
      Get Color scheme name
    */
    QString colorScheme() const
    {
      return mColorScheme;
    }

    /**
      Is Color scheme name Immutable
    */
    bool isColorSchemeImmutable() const
    {
      return isImmutable( QStringLiteral( "colorScheme" ) );
    }

    /**
      Get Color scheme name default value
    */
    QString defaultColorSchemeValue() const
    {
        return defaultColorSchemeValue_helper();
    }

    /**
      Set Single click to open files
    */
    void setSingleClick( bool v )
    {
      if (v != mSingleClick && !isSingleClickImmutable()) {
        mSingleClick = v;
        Q_EMIT singleClickChanged();
      }
    }

    Q_PROPERTY(bool singleClick READ singleClick WRITE setSingleClick NOTIFY singleClickChanged)
    Q_PROPERTY(bool isSingleClickImmutable READ isSingleClickImmutable CONSTANT)
    Q_PROPERTY(bool defaultSingleClickValue READ defaultSingleClickValue CONSTANT)
    /**
      Get Single click to open files
    */
    bool singleClick() const
    {
      return mSingleClick;
    }

    /**
      Is Single click to open files Immutable
    */
    bool isSingleClickImmutable() const
    {
      return isImmutable( QStringLiteral( "singleClick" ) );
    }

    /**
      Get Single click to open files default value
    */
    bool defaultSingleClickValue() const
    {
        return defaultSingleClickValue_helper();
    }

    /**
      Set Switch the look and feel package depending on time of day
    */
    void setAutomaticLookAndFeel( bool v )
    {
      if (v != mAutomaticLookAndFeel && !isAutomaticLookAndFeelImmutable()) {
        mAutomaticLookAndFeel = v;
        Q_EMIT automaticLookAndFeelChanged();
      }
    }

    Q_PROPERTY(bool automaticLookAndFeel READ automaticLookAndFeel WRITE setAutomaticLookAndFeel NOTIFY automaticLookAndFeelChanged)
    Q_PROPERTY(bool isAutomaticLookAndFeelImmutable READ isAutomaticLookAndFeelImmutable CONSTANT)
    Q_PROPERTY(bool defaultAutomaticLookAndFeelValue READ defaultAutomaticLookAndFeelValue CONSTANT)
    /**
      Get Switch the look and feel package depending on time of day
    */
    bool automaticLookAndFeel() const
    {
      return mAutomaticLookAndFeel;
    }

    /**
      Is Switch the look and feel package depending on time of day Immutable
    */
    bool isAutomaticLookAndFeelImmutable() const
    {
      return isImmutable( QStringLiteral( "automaticLookAndFeel" ) );
    }

    /**
      Get Switch the look and feel package depending on time of day default value
    */
    bool defaultAutomaticLookAndFeelValue() const
    {
        return defaultAutomaticLookAndFeelValue_helper();
    }

    /**
      Set Global Look and Feel package
    */
    void setLookAndFeelPackage( const QString & v )
    {
      if (v != mLookAndFeelPackage && !isLookAndFeelPackageImmutable()) {
        mLookAndFeelPackage = v;
        Q_EMIT lookAndFeelPackageChanged();
      }
    }

    Q_PROPERTY(QString lookAndFeelPackage READ lookAndFeelPackage WRITE setLookAndFeelPackage NOTIFY lookAndFeelPackageChanged)
    Q_PROPERTY(bool isLookAndFeelPackageImmutable READ isLookAndFeelPackageImmutable CONSTANT)
    Q_PROPERTY(QString defaultLookAndFeelPackageValue READ defaultLookAndFeelPackageValue CONSTANT)
    /**
      Get Global Look and Feel package
    */
    QString lookAndFeelPackage() const
    {
      return mLookAndFeelPackage;
    }

    /**
      Is Global Look and Feel package Immutable
    */
    bool isLookAndFeelPackageImmutable() const
    {
      return isImmutable( QStringLiteral( "lookAndFeelPackage" ) );
    }

    /**
      Get Global Look and Feel package default value
    */
    QString defaultLookAndFeelPackageValue() const
    {
        return defaultLookAndFeelPackageValue_helper();
    }

    /**
      Set Global Look and Feel package, alternate
    */
    void setDefaultLightLookAndFeel( const QString & v )
    {
      if (v != mDefaultLightLookAndFeel && !isDefaultLightLookAndFeelImmutable()) {
        mDefaultLightLookAndFeel = v;
        Q_EMIT defaultLightLookAndFeelChanged();
      }
    }

    Q_PROPERTY(QString defaultLightLookAndFeel READ defaultLightLookAndFeel WRITE setDefaultLightLookAndFeel NOTIFY defaultLightLookAndFeelChanged)
    Q_PROPERTY(bool isDefaultLightLookAndFeelImmutable READ isDefaultLightLookAndFeelImmutable CONSTANT)
    Q_PROPERTY(QString defaultDefaultLightLookAndFeelValue READ defaultDefaultLightLookAndFeelValue CONSTANT)
    /**
      Get Global Look and Feel package, alternate
    */
    QString defaultLightLookAndFeel() const
    {
      return mDefaultLightLookAndFeel;
    }

    /**
      Is Global Look and Feel package, alternate Immutable
    */
    bool isDefaultLightLookAndFeelImmutable() const
    {
      return isImmutable( QStringLiteral( "defaultLightLookAndFeel" ) );
    }

    /**
      Get Global Look and Feel package, alternate default value
    */
    QString defaultDefaultLightLookAndFeelValue() const
    {
        return defaultDefaultLightLookAndFeelValue_helper();
    }

    /**
      Set Global Look and Feel package, alternate
    */
    void setDefaultDarkLookAndFeel( const QString & v )
    {
      if (v != mDefaultDarkLookAndFeel && !isDefaultDarkLookAndFeelImmutable()) {
        mDefaultDarkLookAndFeel = v;
        Q_EMIT defaultDarkLookAndFeelChanged();
      }
    }

    Q_PROPERTY(QString defaultDarkLookAndFeel READ defaultDarkLookAndFeel WRITE setDefaultDarkLookAndFeel NOTIFY defaultDarkLookAndFeelChanged)
    Q_PROPERTY(bool isDefaultDarkLookAndFeelImmutable READ isDefaultDarkLookAndFeelImmutable CONSTANT)
    Q_PROPERTY(QString defaultDefaultDarkLookAndFeelValue READ defaultDefaultDarkLookAndFeelValue CONSTANT)
    /**
      Get Global Look and Feel package, alternate
    */
    QString defaultDarkLookAndFeel() const
    {
      return mDefaultDarkLookAndFeel;
    }

    /**
      Is Global Look and Feel package, alternate Immutable
    */
    bool isDefaultDarkLookAndFeelImmutable() const
    {
      return isImmutable( QStringLiteral( "defaultDarkLookAndFeel" ) );
    }

    /**
      Get Global Look and Feel package, alternate default value
    */
    QString defaultDefaultDarkLookAndFeelValue() const
    {
        return defaultDefaultDarkLookAndFeelValue_helper();
    }

    /**
      Set Animation speed
    */
    void setAnimationDurationFactor( double v )
    {
      if (v != mAnimationDurationFactor && !isAnimationDurationFactorImmutable()) {
        mAnimationDurationFactor = v;
        Q_EMIT animationDurationFactorChanged();
      }
    }

    Q_PROPERTY(double animationDurationFactor READ animationDurationFactor WRITE setAnimationDurationFactor NOTIFY animationDurationFactorChanged)
    Q_PROPERTY(bool isAnimationDurationFactorImmutable READ isAnimationDurationFactorImmutable CONSTANT)
    Q_PROPERTY(double defaultAnimationDurationFactorValue READ defaultAnimationDurationFactorValue CONSTANT)
    /**
      Get Animation speed
    */
    double animationDurationFactor() const
    {
      return mAnimationDurationFactor;
    }

    /**
      Is Animation speed Immutable
    */
    bool isAnimationDurationFactorImmutable() const
    {
      return isImmutable( QStringLiteral( "animationDurationFactor" ) );
    }

    /**
      Get Animation speed default value
    */
    double defaultAnimationDurationFactorValue() const
    {
        return defaultAnimationDurationFactorValue_helper();
    }


    enum {
      signalColorSchemeChanged = 1,
      signalSingleClickChanged = 2,
      signalAutomaticLookAndFeelChanged = 3,
      signalLookAndFeelPackageChanged = 4,
      signalDefaultLightLookAndFeelChanged = 5,
      signalDefaultDarkLookAndFeelChanged = 6,
      signalAnimationDurationFactorChanged = 7
    };

  Q_SIGNALS:
    void colorSchemeChanged();

    void singleClickChanged();

    void automaticLookAndFeelChanged();

    void lookAndFeelPackageChanged();

    void defaultLightLookAndFeelChanged();

    void defaultDarkLookAndFeelChanged();

    void animationDurationFactorChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // General
    QString mColorScheme;
    QString defaultColorSchemeValue_helper() const;

    // KDE
    bool mSingleClick;
    bool defaultSingleClickValue_helper() const;
    bool mAutomaticLookAndFeel;
    bool defaultAutomaticLookAndFeelValue_helper() const;
    QString mLookAndFeelPackage;
    QString defaultLookAndFeelPackageValue_helper() const;
    QString mDefaultLightLookAndFeel;
    QString defaultDefaultLightLookAndFeelValue_helper() const;
    QString mDefaultDarkLookAndFeel;
    QString defaultDefaultDarkLookAndFeelValue_helper() const;
    double mAnimationDurationFactor;
    double defaultAnimationDurationFactorValue_helper() const;
};

#endif

