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

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

#include <QtGlobal>
#include <KLocalizedString>
#include <QLocale>

class RegionAndLangSettingsBase : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set LANG
    */
    void setLang( const QString & v )
    {
      if (v != mLang && !isLangImmutable()) {
        mLang = v;
        Q_EMIT langChanged();
      }
    }

    Q_PROPERTY(QString lang READ lang WRITE setLang NOTIFY langChanged)
    Q_PROPERTY(bool isLangImmutable READ isLangImmutable CONSTANT)
    /**
      Get LANG
    */
    QString lang() const
    {
      return mLang;
    }

    /**
      Is LANG Immutable
    */
    bool isLangImmutable() const
    {
      return isImmutable( QStringLiteral( "lang" ) );
    }

    /**
      Set LC_NUMERIC
    */
    void setNumeric( const QString & v )
    {
      if (v != mNumeric && !isNumericImmutable()) {
        mNumeric = v;
        Q_EMIT numericChanged();
      }
    }

    Q_PROPERTY(QString numeric READ numeric WRITE setNumeric NOTIFY numericChanged)
    Q_PROPERTY(bool isNumericImmutable READ isNumericImmutable CONSTANT)
    Q_PROPERTY(QString defaultNumericValue READ defaultNumericValue CONSTANT)
    /**
      Get LC_NUMERIC
    */
    QString numeric() const
    {
      return mNumeric;
    }

    /**
      Is LC_NUMERIC Immutable
    */
    bool isNumericImmutable() const
    {
      return isImmutable( QStringLiteral( "numeric" ) );
    }

    /**
      Get LC_NUMERIC default value
    */
    QString defaultNumericValue() const
    {
        return defaultNumericValue_helper();
    }

    /**
      Set LC_TIME
    */
    void setTime( const QString & v )
    {
      if (v != mTime && !isTimeImmutable()) {
        mTime = v;
        Q_EMIT timeChanged();
      }
    }

    Q_PROPERTY(QString time READ time WRITE setTime NOTIFY timeChanged)
    Q_PROPERTY(bool isTimeImmutable READ isTimeImmutable CONSTANT)
    Q_PROPERTY(QString defaultTimeValue READ defaultTimeValue CONSTANT)
    /**
      Get LC_TIME
    */
    QString time() const
    {
      return mTime;
    }

    /**
      Is LC_TIME Immutable
    */
    bool isTimeImmutable() const
    {
      return isImmutable( QStringLiteral( "time" ) );
    }

    /**
      Get LC_TIME default value
    */
    QString defaultTimeValue() const
    {
        return defaultTimeValue_helper();
    }

    /**
      Set LC_MONETARY
    */
    void setMonetary( const QString & v )
    {
      if (v != mMonetary && !isMonetaryImmutable()) {
        mMonetary = v;
        Q_EMIT monetaryChanged();
      }
    }

    Q_PROPERTY(QString monetary READ monetary WRITE setMonetary NOTIFY monetaryChanged)
    Q_PROPERTY(bool isMonetaryImmutable READ isMonetaryImmutable CONSTANT)
    Q_PROPERTY(QString defaultMonetaryValue READ defaultMonetaryValue CONSTANT)
    /**
      Get LC_MONETARY
    */
    QString monetary() const
    {
      return mMonetary;
    }

    /**
      Is LC_MONETARY Immutable
    */
    bool isMonetaryImmutable() const
    {
      return isImmutable( QStringLiteral( "monetary" ) );
    }

    /**
      Get LC_MONETARY default value
    */
    QString defaultMonetaryValue() const
    {
        return defaultMonetaryValue_helper();
    }

    /**
      Set LC_MEASUREMENT
    */
    void setMeasurement( const QString & v )
    {
      if (v != mMeasurement && !isMeasurementImmutable()) {
        mMeasurement = v;
        Q_EMIT measurementChanged();
      }
    }

    Q_PROPERTY(QString measurement READ measurement WRITE setMeasurement NOTIFY measurementChanged)
    Q_PROPERTY(bool isMeasurementImmutable READ isMeasurementImmutable CONSTANT)
    Q_PROPERTY(QString defaultMeasurementValue READ defaultMeasurementValue CONSTANT)
    /**
      Get LC_MEASUREMENT
    */
    QString measurement() const
    {
      return mMeasurement;
    }

    /**
      Is LC_MEASUREMENT Immutable
    */
    bool isMeasurementImmutable() const
    {
      return isImmutable( QStringLiteral( "measurement" ) );
    }

    /**
      Get LC_MEASUREMENT default value
    */
    QString defaultMeasurementValue() const
    {
        return defaultMeasurementValue_helper();
    }

    /**
      Set LC_PAPER
    */
    void setPaperSize( const QString & v )
    {
      if (v != mPaperSize && !isPaperSizeImmutable()) {
        mPaperSize = v;
        Q_EMIT paperSizeChanged();
      }
    }

    Q_PROPERTY(QString paperSize READ paperSize WRITE setPaperSize NOTIFY paperSizeChanged)
    Q_PROPERTY(bool isPaperSizeImmutable READ isPaperSizeImmutable CONSTANT)
    Q_PROPERTY(QString defaultPaperSizeValue READ defaultPaperSizeValue CONSTANT)
    /**
      Get LC_PAPER
    */
    QString paperSize() const
    {
      return mPaperSize;
    }

    /**
      Is LC_PAPER Immutable
    */
    bool isPaperSizeImmutable() const
    {
      return isImmutable( QStringLiteral( "paperSize" ) );
    }

    /**
      Get LC_PAPER default value
    */
    QString defaultPaperSizeValue() const
    {
        return defaultPaperSizeValue_helper();
    }

    /**
      Set LC_ADDRESS
    */
    void setAddress( const QString & v )
    {
      if (v != mAddress && !isAddressImmutable()) {
        mAddress = v;
        Q_EMIT addressChanged();
      }
    }

    Q_PROPERTY(QString address READ address WRITE setAddress NOTIFY addressChanged)
    Q_PROPERTY(bool isAddressImmutable READ isAddressImmutable CONSTANT)
    Q_PROPERTY(QString defaultAddressValue READ defaultAddressValue CONSTANT)
    /**
      Get LC_ADDRESS
    */
    QString address() const
    {
      return mAddress;
    }

    /**
      Is LC_ADDRESS Immutable
    */
    bool isAddressImmutable() const
    {
      return isImmutable( QStringLiteral( "address" ) );
    }

    /**
      Get LC_ADDRESS default value
    */
    QString defaultAddressValue() const
    {
        return defaultAddressValue_helper();
    }

    /**
      Set LC_NAME
    */
    void setNameStyle( const QString & v )
    {
      if (v != mNameStyle && !isNameStyleImmutable()) {
        mNameStyle = v;
        Q_EMIT nameStyleChanged();
      }
    }

    Q_PROPERTY(QString nameStyle READ nameStyle WRITE setNameStyle NOTIFY nameStyleChanged)
    Q_PROPERTY(bool isNameStyleImmutable READ isNameStyleImmutable CONSTANT)
    Q_PROPERTY(QString defaultNameStyleValue READ defaultNameStyleValue CONSTANT)
    /**
      Get LC_NAME
    */
    QString nameStyle() const
    {
      return mNameStyle;
    }

    /**
      Is LC_NAME Immutable
    */
    bool isNameStyleImmutable() const
    {
      return isImmutable( QStringLiteral( "nameStyle" ) );
    }

    /**
      Get LC_NAME default value
    */
    QString defaultNameStyleValue() const
    {
        return defaultNameStyleValue_helper();
    }

    /**
      Set LC_TELEPHONE
    */
    void setPhoneNumbers( const QString & v )
    {
      if (v != mPhoneNumbers && !isPhoneNumbersImmutable()) {
        mPhoneNumbers = v;
        Q_EMIT phoneNumbersChanged();
      }
    }

    Q_PROPERTY(QString phoneNumbers READ phoneNumbers WRITE setPhoneNumbers NOTIFY phoneNumbersChanged)
    Q_PROPERTY(bool isPhoneNumbersImmutable READ isPhoneNumbersImmutable CONSTANT)
    Q_PROPERTY(QString defaultPhoneNumbersValue READ defaultPhoneNumbersValue CONSTANT)
    /**
      Get LC_TELEPHONE
    */
    QString phoneNumbers() const
    {
      return mPhoneNumbers;
    }

    /**
      Is LC_TELEPHONE Immutable
    */
    bool isPhoneNumbersImmutable() const
    {
      return isImmutable( QStringLiteral( "phoneNumbers" ) );
    }

    /**
      Get LC_TELEPHONE default value
    */
    QString defaultPhoneNumbersValue() const
    {
        return defaultPhoneNumbersValue_helper();
    }

    /**
      Set LC_CTYPE
    */
    void setCtype( const QString & v )
    {
      if (v != mCtype && !isCtypeImmutable()) {
        mCtype = v;
        Q_EMIT ctypeChanged();
      }
    }

    Q_PROPERTY(QString ctype READ ctype WRITE setCtype NOTIFY ctypeChanged)
    Q_PROPERTY(bool isCtypeImmutable READ isCtypeImmutable CONSTANT)
    Q_PROPERTY(QString defaultCtypeValue READ defaultCtypeValue CONSTANT)
    /**
      Get LC_CTYPE
    */
    QString ctype() const
    {
      return mCtype;
    }

    /**
      Is LC_CTYPE Immutable
    */
    bool isCtypeImmutable() const
    {
      return isImmutable( QStringLiteral( "ctype" ) );
    }

    /**
      Get LC_CTYPE default value
    */
    QString defaultCtypeValue() const
    {
        return defaultCtypeValue_helper();
    }

    /**
      Set LANGUAGE
    */
    void setLanguage( const QString & v )
    {
      if (v != mLanguage && !isLanguageImmutable()) {
        mLanguage = v;
        Q_EMIT languageChanged();
      }
    }

    Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
    Q_PROPERTY(bool isLanguageImmutable READ isLanguageImmutable CONSTANT)
    Q_PROPERTY(QString defaultLanguageValue READ defaultLanguageValue CONSTANT)
    /**
      Get LANGUAGE
    */
    QString language() const
    {
      return mLanguage;
    }

    /**
      Is LANGUAGE Immutable
    */
    bool isLanguageImmutable() const
    {
      return isImmutable( QStringLiteral( "language" ) );
    }

    /**
      Get LANGUAGE default value
    */
    QString defaultLanguageValue() const
    {
        return defaultLanguageValue_helper();
    }


    enum {
      signalLangChanged = 1,
      signalNumericChanged = 2,
      signalTimeChanged = 3,
      signalMonetaryChanged = 4,
      signalMeasurementChanged = 5,
      signalPaperSizeChanged = 6,
      signalAddressChanged = 7,
      signalNameStyleChanged = 8,
      signalPhoneNumbersChanged = 9,
      signalCtypeChanged = 10,
      signalLanguageChanged = 11
    };

  Q_SIGNALS:
    void langChanged();

    void numericChanged();

    void timeChanged();

    void monetaryChanged();

    void measurementChanged();

    void paperSizeChanged();

    void addressChanged();

    void nameStyleChanged();

    void phoneNumbersChanged();

    void ctypeChanged();

    void languageChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Formats
    QString mLang;
    QString defaultLangValue_helper() const;
    QString mNumeric;
    QString defaultNumericValue_helper() const;
    QString mTime;
    QString defaultTimeValue_helper() const;
    QString mMonetary;
    QString defaultMonetaryValue_helper() const;
    QString mMeasurement;
    QString defaultMeasurementValue_helper() const;
    QString mPaperSize;
    QString defaultPaperSizeValue_helper() const;
    QString mAddress;
    QString defaultAddressValue_helper() const;
    QString mNameStyle;
    QString defaultNameStyleValue_helper() const;
    QString mPhoneNumbers;
    QString defaultPhoneNumbersValue_helper() const;
    QString mCtype;
    QString defaultCtypeValue_helper() const;

    // Translations
    QString mLanguage;
    QString defaultLanguageValue_helper() const;
};

#endif

