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

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

#include <QStandardPaths>

class QQmlEngine;
class QJSEngine;

class GeneralSettings : public KConfigSkeleton
{
  Q_OBJECT
  QML_ELEMENT
  QML_SINGLETON
  public:

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

    /**
      Set OsdFontSize
    */
    static
    void setOsdFontSize( int v )
    {
      if (v != self()->mOsdFontSize && !self()->isOsdFontSizeImmutable()) {
        self()->mOsdFontSize = v;
        Q_EMIT self()->OsdFontSizeChanged();
      }
    }

    Q_PROPERTY(int osdFontSize READ osdFontSize WRITE setOsdFontSize NOTIFY OsdFontSizeChanged)
    Q_PROPERTY(bool isOsdFontSizeImmutable READ isOsdFontSizeImmutable CONSTANT)
    Q_PROPERTY(int defaultOsdFontSizeValue READ defaultOsdFontSizeValue CONSTANT)
    /**
      Get OsdFontSize
    */
    static
    int osdFontSize()
    {
      return self()->mOsdFontSize;
    }

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

    /**
      Get OsdFontSize default value
    */
    static
    int defaultOsdFontSizeValue()
    {
        return defaultOsdFontSizeValue_helper();
    }

    /**
      Set ShowMenuBar
    */
    static
    void setShowMenuBar( bool v )
    {
      if (v != self()->mShowMenuBar && !self()->isShowMenuBarImmutable()) {
        self()->mShowMenuBar = v;
        Q_EMIT self()->ShowMenuBarChanged();
      }
    }

    Q_PROPERTY(bool showMenuBar READ showMenuBar WRITE setShowMenuBar NOTIFY ShowMenuBarChanged)
    Q_PROPERTY(bool isShowMenuBarImmutable READ isShowMenuBarImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowMenuBarValue READ defaultShowMenuBarValue CONSTANT)
    /**
      Get ShowMenuBar
    */
    static
    bool showMenuBar()
    {
      return self()->mShowMenuBar;
    }

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

    /**
      Get ShowMenuBar default value
    */
    static
    bool defaultShowMenuBarValue()
    {
        return defaultShowMenuBarValue_helper();
    }

    /**
      Set ShowHeader
    */
    static
    void setShowHeader( bool v )
    {
      if (v != self()->mShowHeader && !self()->isShowHeaderImmutable()) {
        self()->mShowHeader = v;
        Q_EMIT self()->ShowHeaderChanged();
      }
    }

    Q_PROPERTY(bool showHeader READ showHeader WRITE setShowHeader NOTIFY ShowHeaderChanged)
    Q_PROPERTY(bool isShowHeaderImmutable READ isShowHeaderImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowHeaderValue READ defaultShowHeaderValue CONSTANT)
    /**
      Get ShowHeader
    */
    static
    bool showHeader()
    {
      return self()->mShowHeader;
    }

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

    /**
      Get ShowHeader default value
    */
    static
    bool defaultShowHeaderValue()
    {
        return defaultShowHeaderValue_helper();
    }

    /**
      Set ShowChapterMarkers
    */
    static
    void setShowChapterMarkers( bool v )
    {
      if (v != self()->mShowChapterMarkers && !self()->isShowChapterMarkersImmutable()) {
        self()->mShowChapterMarkers = v;
        Q_EMIT self()->ShowChapterMarkersChanged();
      }
    }

    Q_PROPERTY(bool showChapterMarkers READ showChapterMarkers WRITE setShowChapterMarkers NOTIFY ShowChapterMarkersChanged)
    Q_PROPERTY(bool isShowChapterMarkersImmutable READ isShowChapterMarkersImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowChapterMarkersValue READ defaultShowChapterMarkersValue CONSTANT)
    /**
      Get ShowChapterMarkers
    */
    static
    bool showChapterMarkers()
    {
      return self()->mShowChapterMarkers;
    }

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

    /**
      Get ShowChapterMarkers default value
    */
    static
    bool defaultShowChapterMarkersValue()
    {
        return defaultShowChapterMarkersValue_helper();
    }

    /**
      Set ColorScheme
    */
    static
    void setColorScheme( const QString & v )
    {
      if (v != self()->mColorScheme && !self()->isColorSchemeImmutable()) {
        self()->mColorScheme = v;
        Q_EMIT self()->ColorSchemeChanged();
      }
    }

    Q_PROPERTY(QString colorScheme READ colorScheme WRITE setColorScheme NOTIFY ColorSchemeChanged)
    Q_PROPERTY(bool isColorSchemeImmutable READ isColorSchemeImmutable CONSTANT)
    /**
      Get ColorScheme
    */
    static
    QString colorScheme()
    {
      return self()->mColorScheme;
    }

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

    /**
      Set GuiStyle
    */
    static
    void setGuiStyle( const QString & v )
    {
      if (v != self()->mGuiStyle && !self()->isGuiStyleImmutable()) {
        self()->mGuiStyle = v;
        Q_EMIT self()->GuiStyleChanged();
      }
    }

    Q_PROPERTY(QString guiStyle READ guiStyle WRITE setGuiStyle NOTIFY GuiStyleChanged)
    Q_PROPERTY(bool isGuiStyleImmutable READ isGuiStyleImmutable CONSTANT)
    Q_PROPERTY(QString defaultGuiStyleValue READ defaultGuiStyleValue CONSTANT)
    /**
      Get GuiStyle
    */
    static
    QString guiStyle()
    {
      return self()->mGuiStyle;
    }

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

    /**
      Get GuiStyle default value
    */
    static
    QString defaultGuiStyleValue()
    {
        return defaultGuiStyleValue_helper();
    }

    /**
      Set LastPlayedFile
    */
    static
    void setLastPlayedFile( const QString & v )
    {
      if (v != self()->mLastPlayedFile && !self()->isLastPlayedFileImmutable()) {
        self()->mLastPlayedFile = v;
        Q_EMIT self()->LastPlayedFileChanged();
      }
    }

    Q_PROPERTY(QString lastPlayedFile READ lastPlayedFile WRITE setLastPlayedFile NOTIFY LastPlayedFileChanged)
    Q_PROPERTY(bool isLastPlayedFileImmutable READ isLastPlayedFileImmutable CONSTANT)
    /**
      Get LastPlayedFile
    */
    static
    QString lastPlayedFile()
    {
      return self()->mLastPlayedFile;
    }

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

    /**
      Set LastPlaylist
    */
    static
    void setLastPlaylist( const QString & v )
    {
      if (v != self()->mLastPlaylist && !self()->isLastPlaylistImmutable()) {
        self()->mLastPlaylist = v;
        Q_EMIT self()->LastPlaylistChanged();
      }
    }

    Q_PROPERTY(QString lastPlaylist READ lastPlaylist WRITE setLastPlaylist NOTIFY LastPlaylistChanged)
    Q_PROPERTY(bool isLastPlaylistImmutable READ isLastPlaylistImmutable CONSTANT)
    /**
      Get LastPlaylist
    */
    static
    QString lastPlaylist()
    {
      return self()->mLastPlaylist;
    }

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

    /**
      Set FileDialogLastLocation
    */
    static
    void setFileDialogLastLocation( const QString & v )
    {
      if (v != self()->mFileDialogLastLocation && !self()->isFileDialogLastLocationImmutable()) {
        self()->mFileDialogLastLocation = v;
        Q_EMIT self()->FileDialogLastLocationChanged();
      }
    }

    Q_PROPERTY(QString fileDialogLastLocation READ fileDialogLastLocation WRITE setFileDialogLastLocation NOTIFY FileDialogLastLocationChanged)
    Q_PROPERTY(bool isFileDialogLastLocationImmutable READ isFileDialogLastLocationImmutable CONSTANT)
    Q_PROPERTY(QString defaultFileDialogLastLocationValue READ defaultFileDialogLastLocationValue CONSTANT)
    /**
      Get FileDialogLastLocation
    */
    static
    QString fileDialogLastLocation()
    {
      return self()->mFileDialogLastLocation;
    }

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

    /**
      Get FileDialogLastLocation default value
    */
    static
    QString defaultFileDialogLastLocationValue()
    {
        return defaultFileDialogLastLocationValue_helper();
    }

    /**
      Set LastUrl
    */
    static
    void setLastUrl( const QString & v )
    {
      if (v != self()->mLastUrl && !self()->isLastUrlImmutable()) {
        self()->mLastUrl = v;
        Q_EMIT self()->LastUrlChanged();
      }
    }

    Q_PROPERTY(QString lastUrl READ lastUrl WRITE setLastUrl NOTIFY LastUrlChanged)
    Q_PROPERTY(bool isLastUrlImmutable READ isLastUrlImmutable CONSTANT)
    /**
      Get LastUrl
    */
    static
    QString lastUrl()
    {
      return self()->mLastUrl;
    }

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

    /**
      Set MaxRecentFiles
    */
    static
    void setMaxRecentFiles( int v )
    {
      if (v != self()->mMaxRecentFiles && !self()->isMaxRecentFilesImmutable()) {
        self()->mMaxRecentFiles = v;
        Q_EMIT self()->MaxRecentFilesChanged();
      }
    }

    Q_PROPERTY(int maxRecentFiles READ maxRecentFiles WRITE setMaxRecentFiles NOTIFY MaxRecentFilesChanged)
    Q_PROPERTY(bool isMaxRecentFilesImmutable READ isMaxRecentFilesImmutable CONSTANT)
    Q_PROPERTY(int defaultMaxRecentFilesValue READ defaultMaxRecentFilesValue CONSTANT)
    /**
      Get MaxRecentFiles
    */
    static
    int maxRecentFiles()
    {
      return self()->mMaxRecentFiles;
    }

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

    /**
      Get MaxRecentFiles default value
    */
    static
    int defaultMaxRecentFilesValue()
    {
        return defaultMaxRecentFilesValue_helper();
    }

    /**
      Set RememberWindowGeometry
    */
    static
    void setRememberWindowGeometry( bool v )
    {
      if (v != self()->mRememberWindowGeometry && !self()->isRememberWindowGeometryImmutable()) {
        self()->mRememberWindowGeometry = v;
        Q_EMIT self()->RememberWindowGeometryChanged();
      }
    }

    Q_PROPERTY(bool rememberWindowGeometry READ rememberWindowGeometry WRITE setRememberWindowGeometry NOTIFY RememberWindowGeometryChanged)
    Q_PROPERTY(bool isRememberWindowGeometryImmutable READ isRememberWindowGeometryImmutable CONSTANT)
    Q_PROPERTY(bool defaultRememberWindowGeometryValue READ defaultRememberWindowGeometryValue CONSTANT)
    /**
      Get RememberWindowGeometry
    */
    static
    bool rememberWindowGeometry()
    {
      return self()->mRememberWindowGeometry;
    }

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

    /**
      Get RememberWindowGeometry default value
    */
    static
    bool defaultRememberWindowGeometryValue()
    {
        return defaultRememberWindowGeometryValue_helper();
    }

    /**
      Set ShowPreviewThumbnail
    */
    static
    void setShowPreviewThumbnail( bool v )
    {
      if (v != self()->mShowPreviewThumbnail && !self()->isShowPreviewThumbnailImmutable()) {
        self()->mShowPreviewThumbnail = v;
        Q_EMIT self()->ShowPreviewThumbnailChanged();
      }
    }

    Q_PROPERTY(bool showPreviewThumbnail READ showPreviewThumbnail WRITE setShowPreviewThumbnail NOTIFY ShowPreviewThumbnailChanged)
    Q_PROPERTY(bool isShowPreviewThumbnailImmutable READ isShowPreviewThumbnailImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowPreviewThumbnailValue READ defaultShowPreviewThumbnailValue CONSTANT)
    /**
      Get ShowPreviewThumbnail
    */
    static
    bool showPreviewThumbnail()
    {
      return self()->mShowPreviewThumbnail;
    }

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

    /**
      Get ShowPreviewThumbnail default value
    */
    static
    bool defaultShowPreviewThumbnailValue()
    {
        return defaultShowPreviewThumbnailValue_helper();
    }

    /**
      Set AccuratePreviewThumbnail
    */
    static
    void setAccuratePreviewThumbnail( bool v )
    {
      if (v != self()->mAccuratePreviewThumbnail && !self()->isAccuratePreviewThumbnailImmutable()) {
        self()->mAccuratePreviewThumbnail = v;
        Q_EMIT self()->AccuratePreviewThumbnailChanged();
      }
    }

    Q_PROPERTY(bool accuratePreviewThumbnail READ accuratePreviewThumbnail WRITE setAccuratePreviewThumbnail NOTIFY AccuratePreviewThumbnailChanged)
    Q_PROPERTY(bool isAccuratePreviewThumbnailImmutable READ isAccuratePreviewThumbnailImmutable CONSTANT)
    Q_PROPERTY(bool defaultAccuratePreviewThumbnailValue READ defaultAccuratePreviewThumbnailValue CONSTANT)
    /**
      Get AccuratePreviewThumbnail
    */
    static
    bool accuratePreviewThumbnail()
    {
      return self()->mAccuratePreviewThumbnail;
    }

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

    /**
      Get AccuratePreviewThumbnail default value
    */
    static
    bool defaultAccuratePreviewThumbnailValue()
    {
        return defaultAccuratePreviewThumbnailValue_helper();
    }

    /**
      Set PreviewThumbnailWidth
    */
    static
    void setPreviewThumbnailWidth( int v )
    {
      if (v != self()->mPreviewThumbnailWidth && !self()->isPreviewThumbnailWidthImmutable()) {
        self()->mPreviewThumbnailWidth = v;
        Q_EMIT self()->PreviewThumbnailWidthChanged();
      }
    }

    Q_PROPERTY(int previewThumbnailWidth READ previewThumbnailWidth WRITE setPreviewThumbnailWidth NOTIFY PreviewThumbnailWidthChanged)
    Q_PROPERTY(bool isPreviewThumbnailWidthImmutable READ isPreviewThumbnailWidthImmutable CONSTANT)
    Q_PROPERTY(int defaultPreviewThumbnailWidthValue READ defaultPreviewThumbnailWidthValue CONSTANT)
    /**
      Get PreviewThumbnailWidth
    */
    static
    int previewThumbnailWidth()
    {
      return self()->mPreviewThumbnailWidth;
    }

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

    /**
      Get PreviewThumbnailWidth default value
    */
    static
    int defaultPreviewThumbnailWidthValue()
    {
        return defaultPreviewThumbnailWidthValue_helper();
    }

    /**
      Set ResizeWindowToVideo
    */
    static
    void setResizeWindowToVideo( bool v )
    {
      if (v != self()->mResizeWindowToVideo && !self()->isResizeWindowToVideoImmutable()) {
        self()->mResizeWindowToVideo = v;
        Q_EMIT self()->ResizeWindowToVideoChanged();
      }
    }

    Q_PROPERTY(bool resizeWindowToVideo READ resizeWindowToVideo WRITE setResizeWindowToVideo NOTIFY ResizeWindowToVideoChanged)
    Q_PROPERTY(bool isResizeWindowToVideoImmutable READ isResizeWindowToVideoImmutable CONSTANT)
    Q_PROPERTY(bool defaultResizeWindowToVideoValue READ defaultResizeWindowToVideoValue CONSTANT)
    /**
      Get ResizeWindowToVideo
    */
    static
    bool resizeWindowToVideo()
    {
      return self()->mResizeWindowToVideo;
    }

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

    /**
      Get ResizeWindowToVideo default value
    */
    static
    bool defaultResizeWindowToVideoValue()
    {
        return defaultResizeWindowToVideoValue_helper();
    }

    /**
      Set FullscreenOnStartUp
    */
    static
    void setFullscreenOnStartUp( bool v )
    {
      if (v != self()->mFullscreenOnStartUp && !self()->isFullscreenOnStartUpImmutable()) {
        self()->mFullscreenOnStartUp = v;
        Q_EMIT self()->FullscreenOnStartUpChanged();
      }
    }

    Q_PROPERTY(bool fullscreenOnStartUp READ fullscreenOnStartUp WRITE setFullscreenOnStartUp NOTIFY FullscreenOnStartUpChanged)
    Q_PROPERTY(bool isFullscreenOnStartUpImmutable READ isFullscreenOnStartUpImmutable CONSTANT)
    Q_PROPERTY(bool defaultFullscreenOnStartUpValue READ defaultFullscreenOnStartUpValue CONSTANT)
    /**
      Get FullscreenOnStartUp
    */
    static
    bool fullscreenOnStartUp()
    {
      return self()->mFullscreenOnStartUp;
    }

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

    /**
      Get FullscreenOnStartUp default value
    */
    static
    bool defaultFullscreenOnStartUpValue()
    {
        return defaultFullscreenOnStartUpValue_helper();
    }

    /**
      Set UseSingleInstance
    */
    static
    void setUseSingleInstance( bool v )
    {
      if (v != self()->mUseSingleInstance && !self()->isUseSingleInstanceImmutable()) {
        self()->mUseSingleInstance = v;
        Q_EMIT self()->UseSingleInstanceChanged();
      }
    }

    Q_PROPERTY(bool useSingleInstance READ useSingleInstance WRITE setUseSingleInstance NOTIFY UseSingleInstanceChanged)
    Q_PROPERTY(bool isUseSingleInstanceImmutable READ isUseSingleInstanceImmutable CONSTANT)
    Q_PROPERTY(bool defaultUseSingleInstanceValue READ defaultUseSingleInstanceValue CONSTANT)
    /**
      Get UseSingleInstance
    */
    static
    bool useSingleInstance()
    {
      return self()->mUseSingleInstance;
    }

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

    /**
      Get UseSingleInstance default value
    */
    static
    bool defaultUseSingleInstanceValue()
    {
        return defaultUseSingleInstanceValue_helper();
    }

    /**
      Set AppendVideoToSingleInstance
    */
    static
    void setAppendVideoToSingleInstance( bool v )
    {
      if (v != self()->mAppendVideoToSingleInstance && !self()->isAppendVideoToSingleInstanceImmutable()) {
        self()->mAppendVideoToSingleInstance = v;
        Q_EMIT self()->AppendVideoToSingleInstanceChanged();
      }
    }

    Q_PROPERTY(bool appendVideoToSingleInstance READ appendVideoToSingleInstance WRITE setAppendVideoToSingleInstance NOTIFY AppendVideoToSingleInstanceChanged)
    Q_PROPERTY(bool isAppendVideoToSingleInstanceImmutable READ isAppendVideoToSingleInstanceImmutable CONSTANT)
    Q_PROPERTY(bool defaultAppendVideoToSingleInstanceValue READ defaultAppendVideoToSingleInstanceValue CONSTANT)
    /**
      Get AppendVideoToSingleInstance
    */
    static
    bool appendVideoToSingleInstance()
    {
      return self()->mAppendVideoToSingleInstance;
    }

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

    /**
      Get AppendVideoToSingleInstance default value
    */
    static
    bool defaultAppendVideoToSingleInstanceValue()
    {
        return defaultAppendVideoToSingleInstanceValue_helper();
    }

    /**
      Set PlayNewFileInSingleInstance
    */
    static
    void setPlayNewFileInSingleInstance( bool v )
    {
      if (v != self()->mPlayNewFileInSingleInstance && !self()->isPlayNewFileInSingleInstanceImmutable()) {
        self()->mPlayNewFileInSingleInstance = v;
        Q_EMIT self()->PlayNewFileInSingleInstanceChanged();
      }
    }

    Q_PROPERTY(bool playNewFileInSingleInstance READ playNewFileInSingleInstance WRITE setPlayNewFileInSingleInstance NOTIFY PlayNewFileInSingleInstanceChanged)
    Q_PROPERTY(bool isPlayNewFileInSingleInstanceImmutable READ isPlayNewFileInSingleInstanceImmutable CONSTANT)
    Q_PROPERTY(bool defaultPlayNewFileInSingleInstanceValue READ defaultPlayNewFileInSingleInstanceValue CONSTANT)
    /**
      Get PlayNewFileInSingleInstance
    */
    static
    bool playNewFileInSingleInstance()
    {
      return self()->mPlayNewFileInSingleInstance;
    }

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

    /**
      Get PlayNewFileInSingleInstance default value
    */
    static
    bool defaultPlayNewFileInSingleInstanceValue()
    {
        return defaultPlayNewFileInSingleInstanceValue_helper();
    }

    /**
      Set FooterStyle
    */
    static
    void setFooterStyle( const QString & v )
    {
      if (v != self()->mFooterStyle && !self()->isFooterStyleImmutable()) {
        self()->mFooterStyle = v;
        Q_EMIT self()->FooterStyleChanged();
      }
    }

    Q_PROPERTY(QString footerStyle READ footerStyle WRITE setFooterStyle NOTIFY FooterStyleChanged)
    Q_PROPERTY(bool isFooterStyleImmutable READ isFooterStyleImmutable CONSTANT)
    Q_PROPERTY(QString defaultFooterStyleValue READ defaultFooterStyleValue CONSTANT)
    /**
      Get FooterStyle
    */
    static
    QString footerStyle()
    {
      return self()->mFooterStyle;
    }

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

    /**
      Get FooterStyle default value
    */
    static
    QString defaultFooterStyleValue()
    {
        return defaultFooterStyleValue_helper();
    }

    /**
      Set FloatingFooterTrigger
    */
    static
    void setFloatingFooterTrigger( const QString & v )
    {
      if (v != self()->mFloatingFooterTrigger && !self()->isFloatingFooterTriggerImmutable()) {
        self()->mFloatingFooterTrigger = v;
        Q_EMIT self()->FloatingFooterTriggerChanged();
      }
    }

    Q_PROPERTY(QString floatingFooterTrigger READ floatingFooterTrigger WRITE setFloatingFooterTrigger NOTIFY FloatingFooterTriggerChanged)
    Q_PROPERTY(bool isFloatingFooterTriggerImmutable READ isFloatingFooterTriggerImmutable CONSTANT)
    Q_PROPERTY(QString defaultFloatingFooterTriggerValue READ defaultFloatingFooterTriggerValue CONSTANT)
    /**
      Get FloatingFooterTrigger
    */
    static
    QString floatingFooterTrigger()
    {
      return self()->mFloatingFooterTrigger;
    }

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

    /**
      Get FloatingFooterTrigger default value
    */
    static
    QString defaultFloatingFooterTriggerValue()
    {
        return defaultFloatingFooterTriggerValue_helper();
    }

    /**
      Set ShowTaskbarProgress
    */
    static
    void setShowTaskbarProgress( bool v )
    {
      if (v != self()->mShowTaskbarProgress && !self()->isShowTaskbarProgressImmutable()) {
        self()->mShowTaskbarProgress = v;
        Q_EMIT self()->ShowTaskbarProgressChanged();
      }
    }

    Q_PROPERTY(bool showTaskbarProgress READ showTaskbarProgress WRITE setShowTaskbarProgress NOTIFY ShowTaskbarProgressChanged)
    Q_PROPERTY(bool isShowTaskbarProgressImmutable READ isShowTaskbarProgressImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowTaskbarProgressValue READ defaultShowTaskbarProgressValue CONSTANT)
    /**
      Get ShowTaskbarProgress
    */
    static
    bool showTaskbarProgress()
    {
      return self()->mShowTaskbarProgress;
    }

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

    /**
      Get ShowTaskbarProgress default value
    */
    static
    bool defaultShowTaskbarProgressValue()
    {
        return defaultShowTaskbarProgressValue_helper();
    }


    enum {
      signalOsdFontSizeChanged = 1,
      signalShowMenuBarChanged = 2,
      signalShowHeaderChanged = 3,
      signalShowChapterMarkersChanged = 4,
      signalColorSchemeChanged = 5,
      signalGuiStyleChanged = 6,
      signalLastPlayedFileChanged = 7,
      signalLastPlaylistChanged = 8,
      signalFileDialogLastLocationChanged = 9,
      signalLastUrlChanged = 10,
      signalMaxRecentFilesChanged = 11,
      signalRememberWindowGeometryChanged = 12,
      signalShowPreviewThumbnailChanged = 13,
      signalAccuratePreviewThumbnailChanged = 14,
      signalPreviewThumbnailWidthChanged = 15,
      signalResizeWindowToVideoChanged = 16,
      signalFullscreenOnStartUpChanged = 17,
      signalUseSingleInstanceChanged = 18,
      signalAppendVideoToSingleInstanceChanged = 19,
      signalPlayNewFileInSingleInstanceChanged = 20,
      signalFooterStyleChanged = 21,
      signalFloatingFooterTriggerChanged = 22,
      signalShowTaskbarProgressChanged = 23
    };

  Q_SIGNALS:
    void OsdFontSizeChanged();

    void ShowMenuBarChanged();

    void ShowHeaderChanged();

    void ShowChapterMarkersChanged();

    void ColorSchemeChanged();

    void GuiStyleChanged();

    void LastPlayedFileChanged();

    void LastPlaylistChanged();

    void FileDialogLastLocationChanged();

    void LastUrlChanged();

    void MaxRecentFilesChanged();

    void RememberWindowGeometryChanged();

    void ShowPreviewThumbnailChanged();

    void AccuratePreviewThumbnailChanged();

    void PreviewThumbnailWidthChanged();

    void ResizeWindowToVideoChanged();

    void FullscreenOnStartUpChanged();

    void UseSingleInstanceChanged();

    void AppendVideoToSingleInstanceChanged();

    void PlayNewFileInSingleInstanceChanged();

    void FooterStyleChanged();

    void FloatingFooterTriggerChanged();

    void ShowTaskbarProgressChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    GeneralSettings(QObject *parent = nullptr);
    friend class GeneralSettingsHelper;


    // General
    int mOsdFontSize;
    static int defaultOsdFontSizeValue_helper();
    bool mShowMenuBar;
    static bool defaultShowMenuBarValue_helper();
    bool mShowHeader;
    static bool defaultShowHeaderValue_helper();
    bool mShowChapterMarkers;
    static bool defaultShowChapterMarkersValue_helper();
    QString mColorScheme;
    static QString defaultColorSchemeValue_helper();
    QString mGuiStyle;
    static QString defaultGuiStyleValue_helper();
    QString mLastPlayedFile;
    static QString defaultLastPlayedFileValue_helper();
    QString mLastPlaylist;
    static QString defaultLastPlaylistValue_helper();
    QString mFileDialogLastLocation;
    static QString defaultFileDialogLastLocationValue_helper();
    QString mLastUrl;
    static QString defaultLastUrlValue_helper();
    int mMaxRecentFiles;
    static int defaultMaxRecentFilesValue_helper();
    bool mRememberWindowGeometry;
    static bool defaultRememberWindowGeometryValue_helper();
    bool mShowPreviewThumbnail;
    static bool defaultShowPreviewThumbnailValue_helper();
    bool mAccuratePreviewThumbnail;
    static bool defaultAccuratePreviewThumbnailValue_helper();
    int mPreviewThumbnailWidth;
    static int defaultPreviewThumbnailWidthValue_helper();
    bool mResizeWindowToVideo;
    static bool defaultResizeWindowToVideoValue_helper();
    bool mFullscreenOnStartUp;
    static bool defaultFullscreenOnStartUpValue_helper();
    bool mUseSingleInstance;
    static bool defaultUseSingleInstanceValue_helper();
    bool mAppendVideoToSingleInstance;
    static bool defaultAppendVideoToSingleInstanceValue_helper();
    bool mPlayNewFileInSingleInstance;
    static bool defaultPlayNewFileInSingleInstanceValue_helper();
    QString mFooterStyle;
    static QString defaultFooterStyleValue_helper();
    QString mFloatingFooterTrigger;
    static QString defaultFloatingFooterTriggerValue_helper();
    bool mShowTaskbarProgress;
    static bool defaultShowTaskbarProgressValue_helper();
};

#endif

