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

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

#include <QStandardPaths>

class QQmlEngine;
class QJSEngine;

class VideoSettings : public KConfigSkeleton
{
  Q_OBJECT
  QML_ELEMENT
  QML_SINGLETON
  public:

    static VideoSettings *self();
    static VideoSettings *create(QQmlEngine *, QJSEngine *);
    ~VideoSettings() override;

    /**
      Set DefaultCover
    */
    static
    void setDefaultCover( const QString & v )
    {
      if (v != self()->mDefaultCover && !self()->isDefaultCoverImmutable()) {
        self()->mDefaultCover = v;
        Q_EMIT self()->DefaultCoverChanged();
      }
    }

    Q_PROPERTY(QString defaultCover READ defaultCover WRITE setDefaultCover NOTIFY DefaultCoverChanged)
    Q_PROPERTY(bool isDefaultCoverImmutable READ isDefaultCoverImmutable CONSTANT)
    /**
      Get DefaultCover
    */
    static
    QString defaultCover()
    {
      return self()->mDefaultCover;
    }

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

    /**
      Set ScreenshotFormat
    */
    static
    void setScreenshotFormat( const QString & v )
    {
      if (v != self()->mScreenshotFormat && !self()->isScreenshotFormatImmutable()) {
        self()->mScreenshotFormat = v;
        Q_EMIT self()->ScreenshotFormatChanged();
      }
    }

    Q_PROPERTY(QString screenshotFormat READ screenshotFormat WRITE setScreenshotFormat NOTIFY ScreenshotFormatChanged)
    Q_PROPERTY(bool isScreenshotFormatImmutable READ isScreenshotFormatImmutable CONSTANT)
    Q_PROPERTY(QString defaultScreenshotFormatValue READ defaultScreenshotFormatValue CONSTANT)
    /**
      Get ScreenshotFormat
    */
    static
    QString screenshotFormat()
    {
      return self()->mScreenshotFormat;
    }

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

    /**
      Get ScreenshotFormat default value
    */
    static
    QString defaultScreenshotFormatValue()
    {
        return defaultScreenshotFormatValue_helper();
    }

    /**
      Set ScreenshotTemplate
    */
    static
    void setScreenshotTemplate( const QString & v )
    {
      if (v != self()->mScreenshotTemplate && !self()->isScreenshotTemplateImmutable()) {
        self()->mScreenshotTemplate = v;
        Q_EMIT self()->ScreenshotTemplateChanged();
      }
    }

    Q_PROPERTY(QString screenshotTemplate READ screenshotTemplate WRITE setScreenshotTemplate NOTIFY ScreenshotTemplateChanged)
    Q_PROPERTY(bool isScreenshotTemplateImmutable READ isScreenshotTemplateImmutable CONSTANT)
    Q_PROPERTY(QString defaultScreenshotTemplateValue READ defaultScreenshotTemplateValue CONSTANT)
    /**
      Get ScreenshotTemplate
    */
    static
    QString screenshotTemplate()
    {
      return self()->mScreenshotTemplate;
    }

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

    /**
      Get ScreenshotTemplate default value
    */
    static
    QString defaultScreenshotTemplateValue()
    {
        return defaultScreenshotTemplateValue_helper();
    }


    enum {
      signalDefaultCoverChanged = 1,
      signalScreenshotFormatChanged = 2,
      signalScreenshotTemplateChanged = 3
    };

  Q_SIGNALS:
    void DefaultCoverChanged();

    void ScreenshotFormatChanged();

    void ScreenshotTemplateChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    VideoSettings(QObject *parent = nullptr);
    friend class VideoSettingsHelper;


    // Video
    QString mDefaultCover;
    static QString defaultDefaultCoverValue_helper();
    QString mScreenshotFormat;
    static QString defaultScreenshotFormatValue_helper();
    QString mScreenshotTemplate;
    static QString defaultScreenshotTemplateValue_helper();
};

#endif

