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

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

class KWeatherSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

    static KWeatherSettings *self();
    ~KWeatherSettings() override;

    /**
      Set First Startup
    */
    static
    void setFirstStartup( bool v )
    {
      if (v != self()->mFirstStartup && !self()->isFirstStartupImmutable()) {
        self()->mFirstStartup = v;
        Q_EMIT self()->firstStartupChanged();
      }
    }

    Q_PROPERTY(bool firstStartup READ firstStartup WRITE setFirstStartup NOTIFY firstStartupChanged)
    Q_PROPERTY(bool isFirstStartupImmutable READ isFirstStartupImmutable CONSTANT)
    Q_PROPERTY(bool defaultFirstStartupValue READ defaultFirstStartupValue CONSTANT)
    /**
      Get First Startup
    */
    static
    bool firstStartup()
    {
      return self()->mFirstStartup;
    }

    /**
      Is First Startup Immutable
    */
    static
    bool isFirstStartupImmutable()
    {
      return self()->isImmutable( QStringLiteral( "firstStartup" ) );
    }

    /**
      Get First Startup default value
    */
    static
    bool defaultFirstStartupValue()
    {
        return defaultFirstStartupValue_helper();
    }

    /**
      Set Forecast Style
    */
    static
    void setForecastStyle( const QString & v )
    {
      if (v != self()->mForecastStyle && !self()->isForecastStyleImmutable()) {
        self()->mForecastStyle = v;
        Q_EMIT self()->forecastStyleChanged();
      }
    }

    Q_PROPERTY(QString forecastStyle READ forecastStyle WRITE setForecastStyle NOTIFY forecastStyleChanged)
    Q_PROPERTY(bool isForecastStyleImmutable READ isForecastStyleImmutable CONSTANT)
    Q_PROPERTY(QString defaultForecastStyleValue READ defaultForecastStyleValue CONSTANT)
    /**
      Get Forecast Style
    */
    static
    QString forecastStyle()
    {
      return self()->mForecastStyle;
    }

    /**
      Is Forecast Style Immutable
    */
    static
    bool isForecastStyleImmutable()
    {
      return self()->isImmutable( QStringLiteral( "forecastStyle" ) );
    }

    /**
      Get Forecast Style default value
    */
    static
    QString defaultForecastStyleValue()
    {
        return defaultForecastStyleValue_helper();
    }

    /**
      Set Temperature Unit
    */
    static
    void setTemperatureUnits( const QString & v )
    {
      if (v != self()->mTemperatureUnits && !self()->isTemperatureUnitsImmutable()) {
        self()->mTemperatureUnits = v;
        Q_EMIT self()->temperatureUnitsChanged();
      }
    }

    Q_PROPERTY(QString temperatureUnits READ temperatureUnits WRITE setTemperatureUnits NOTIFY temperatureUnitsChanged)
    Q_PROPERTY(bool isTemperatureUnitsImmutable READ isTemperatureUnitsImmutable CONSTANT)
    Q_PROPERTY(QString defaultTemperatureUnitsValue READ defaultTemperatureUnitsValue CONSTANT)
    /**
      Get Temperature Unit
    */
    static
    QString temperatureUnits()
    {
      return self()->mTemperatureUnits;
    }

    /**
      Is Temperature Unit Immutable
    */
    static
    bool isTemperatureUnitsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "temperatureUnits" ) );
    }

    /**
      Get Temperature Unit default value
    */
    static
    QString defaultTemperatureUnitsValue()
    {
        return defaultTemperatureUnitsValue_helper();
    }

    /**
      Set Speed Unit
    */
    static
    void setSpeedUnits( const QString & v )
    {
      if (v != self()->mSpeedUnits && !self()->isSpeedUnitsImmutable()) {
        self()->mSpeedUnits = v;
        Q_EMIT self()->speedUnitsChanged();
      }
    }

    Q_PROPERTY(QString speedUnits READ speedUnits WRITE setSpeedUnits NOTIFY speedUnitsChanged)
    Q_PROPERTY(bool isSpeedUnitsImmutable READ isSpeedUnitsImmutable CONSTANT)
    Q_PROPERTY(QString defaultSpeedUnitsValue READ defaultSpeedUnitsValue CONSTANT)
    /**
      Get Speed Unit
    */
    static
    QString speedUnits()
    {
      return self()->mSpeedUnits;
    }

    /**
      Is Speed Unit Immutable
    */
    static
    bool isSpeedUnitsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "speedUnits" ) );
    }

    /**
      Get Speed Unit default value
    */
    static
    QString defaultSpeedUnitsValue()
    {
        return defaultSpeedUnitsValue_helper();
    }

    /**
      Set Pressure Unit
    */
    static
    void setPressureUnits( const QString & v )
    {
      if (v != self()->mPressureUnits && !self()->isPressureUnitsImmutable()) {
        self()->mPressureUnits = v;
        Q_EMIT self()->pressureUnitsChanged();
      }
    }

    Q_PROPERTY(QString pressureUnits READ pressureUnits WRITE setPressureUnits NOTIFY pressureUnitsChanged)
    Q_PROPERTY(bool isPressureUnitsImmutable READ isPressureUnitsImmutable CONSTANT)
    Q_PROPERTY(QString defaultPressureUnitsValue READ defaultPressureUnitsValue CONSTANT)
    /**
      Get Pressure Unit
    */
    static
    QString pressureUnits()
    {
      return self()->mPressureUnits;
    }

    /**
      Is Pressure Unit Immutable
    */
    static
    bool isPressureUnitsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "pressureUnits" ) );
    }

    /**
      Get Pressure Unit default value
    */
    static
    QString defaultPressureUnitsValue()
    {
        return defaultPressureUnitsValue_helper();
    }

    /**
      Set Precipitation Unit
    */
    static
    void setPrecipitationUnits( const QString & v )
    {
      if (v != self()->mPrecipitationUnits && !self()->isPrecipitationUnitsImmutable()) {
        self()->mPrecipitationUnits = v;
        Q_EMIT self()->precipitationUnitsChanged();
      }
    }

    Q_PROPERTY(QString precipitationUnits READ precipitationUnits WRITE setPrecipitationUnits NOTIFY precipitationUnitsChanged)
    Q_PROPERTY(bool isPrecipitationUnitsImmutable READ isPrecipitationUnitsImmutable CONSTANT)
    Q_PROPERTY(QString defaultPrecipitationUnitsValue READ defaultPrecipitationUnitsValue CONSTANT)
    /**
      Get Precipitation Unit
    */
    static
    QString precipitationUnits()
    {
      return self()->mPrecipitationUnits;
    }

    /**
      Is Precipitation Unit Immutable
    */
    static
    bool isPrecipitationUnitsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "precipitationUnits" ) );
    }

    /**
      Get Precipitation Unit default value
    */
    static
    QString defaultPrecipitationUnitsValue()
    {
        return defaultPrecipitationUnitsValue_helper();
    }


    enum {
      signalFirstStartupChanged = 1,
      signalForecastStyleChanged = 2,
      signalTemperatureUnitsChanged = 3,
      signalSpeedUnitsChanged = 4,
      signalPressureUnitsChanged = 5,
      signalPrecipitationUnitsChanged = 6
    };

  Q_SIGNALS:
    void firstStartupChanged();

    void forecastStyleChanged();

    void temperatureUnitsChanged();

    void speedUnitsChanged();

    void pressureUnitsChanged();

    void precipitationUnitsChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    KWeatherSettings(QObject *parent = nullptr);
    friend class KWeatherSettingsHelper;


    // General
    bool mFirstStartup;
    static bool defaultFirstStartupValue_helper();
    QString mForecastStyle;
    static QString defaultForecastStyleValue_helper();
    QString mTemperatureUnits;
    static QString defaultTemperatureUnitsValue_helper();
    QString mSpeedUnits;
    static QString defaultSpeedUnitsValue_helper();
    QString mPressureUnits;
    static QString defaultPressureUnitsValue_helper();
    QString mPrecipitationUnits;
    static QString defaultPrecipitationUnitsValue_helper();
};

#endif

