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

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

#include <QStandardPaths>

class Prefs : public KConfigSkeleton
{
  public:
    enum EnumCurrentTab { Content, Search, Glossary };

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

    /**
      Set ShowMissingDocs
    */
    static
    void setShowMissingDocs( bool v )
    {
      if (!self()->isShowMissingDocsImmutable())
        self()->mShowMissingDocs = v;
    }

    /**
      Get ShowMissingDocs
    */
    static
    bool showMissingDocs()
    {
      return self()->mShowMissingDocs;
    }

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

    /**
      Set AppsRoot
    */
    static
    void setAppsRoot( const QString & v )
    {
      if (!self()->isAppsRootImmutable())
        self()->mAppsRoot = v;
    }

    /**
      Get AppsRoot
    */
    static
    QString appsRoot()
    {
      return self()->mAppsRoot;
    }

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

    /**
      Set UseKonqSettings
    */
    static
    void setUseKonqSettings( bool v )
    {
      if (!self()->isUseKonqSettingsImmutable())
        self()->mUseKonqSettings = v;
    }

    /**
      Get UseKonqSettings
    */
    static
    bool useKonqSettings()
    {
      return self()->mUseKonqSettings;
    }

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

    /**
      Set Font zoom factor
    */
    static
    void setFontzoomfactor( int v )
    {
      if (!self()->isFontzoomfactorImmutable())
        self()->mFontzoomfactor = v;
    }

    /**
      Get Font zoom factor
    */
    static
    int fontzoomfactor()
    {
      return self()->mFontzoomfactor;
    }

    /**
      Is Font zoom factor Immutable
    */
    static
    bool isFontzoomfactorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Fontzoomfactor" ) );
    }

    /**
      Set MetaInfoDirs
    */
    static
    void setMetaInfoDirs( const QStringList & v )
    {
      if (!self()->isMetaInfoDirsImmutable())
        self()->mMetaInfoDirs = v;
    }

    /**
      Get MetaInfoDirs
    */
    static
    QStringList metaInfoDirs()
    {
      return self()->mMetaInfoDirs;
    }

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

    /**
      Set Path to index directory.
    */
    static
    void setIndexDirectory( const QString & v )
    {
      if (!self()->isIndexDirectoryImmutable())
        self()->mIndexDirectory = v;
    }

    /**
      Get Path to index directory.
    */
    static
    QString indexDirectory()
    {
      return self()->mIndexDirectory;
    }

    /**
      Is Path to index directory. Immutable
    */
    static
    bool isIndexDirectoryImmutable()
    {
      return self()->isImmutable( QStringLiteral( "IndexDirectory" ) );
    }

    /**
      Set Method
    */
    static
    void setMethod( int v )
    {
      if (!self()->isMethodImmutable())
        self()->mMethod = v;
    }

    /**
      Get Method
    */
    static
    int method()
    {
      return self()->mMethod;
    }

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

    /**
      Set MaxCount
    */
    static
    void setMaxCount( int v )
    {
      if (!self()->isMaxCountImmutable())
        self()->mMaxCount = v;
    }

    /**
      Get MaxCount
    */
    static
    int maxCount()
    {
      return self()->mMaxCount;
    }

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

    /**
      Set Currently visible navigator tab
    */
    static
    void setCurrentTab( int v )
    {
      if (!self()->isCurrentTabImmutable())
        self()->mCurrentTab = v;
    }

    /**
      Get Currently visible navigator tab
    */
    static
    int currentTab()
    {
      return self()->mCurrentTab;
    }

    /**
      Is Currently visible navigator tab Immutable
    */
    static
    bool isCurrentTabImmutable()
    {
      return self()->isImmutable( QStringLiteral( "CurrentTab" ) );
    }

    /**
      Set CachedGlossary
    */
    static
    void setCachedGlossary( const QString & v )
    {
      if (!self()->isCachedGlossaryImmutable())
        self()->mCachedGlossary = v;
    }

    /**
      Get CachedGlossary
    */
    static
    QString cachedGlossary()
    {
      return self()->mCachedGlossary;
    }

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

    /**
      Set CachedGlossaryTimestamp
    */
    static
    void setCachedGlossaryTimestamp( int v )
    {
      if (!self()->isCachedGlossaryTimestampImmutable())
        self()->mCachedGlossaryTimestamp = v;
    }

    /**
      Get CachedGlossaryTimestamp
    */
    static
    int cachedGlossaryTimestamp()
    {
      return self()->mCachedGlossaryTimestamp;
    }

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

    /**
      Set ShowEmptyDirs
    */
    static
    void setShowEmptyDirs( bool v )
    {
      if (!self()->isShowEmptyDirsImmutable())
        self()->mShowEmptyDirs = v;
    }

    /**
      Get ShowEmptyDirs
    */
    static
    bool showEmptyDirs()
    {
      return self()->mShowEmptyDirs;
    }

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

    /**
      Set Search paths
    */
    static
    void setSearchpaths( const QStringList & v )
    {
      if (!self()->isSearchpathsImmutable())
        self()->mSearchpaths = v;
    }

    /**
      Get Search paths
    */
    static
    QStringList searchpaths()
    {
      return self()->mSearchpaths;
    }

    /**
      Is Search paths Immutable
    */
    static
    bool isSearchpathsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Searchpaths" ) );
    }

    /**
      Set Splitter
    */
    static
    void setSplitter( const QList<int> & v )
    {
      if (!self()->isSplitterImmutable())
        self()->mSplitter = v;
    }

    /**
      Get Splitter
    */
    static
    QList<int> splitter()
    {
      return self()->mSplitter;
    }

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

  protected:
    Prefs();
    friend class PrefsHelper;


    // General
    bool mShowMissingDocs;
    QString mAppsRoot;
    bool mUseKonqSettings;
    int mFontzoomfactor;
    QStringList mMetaInfoDirs;

    // Search
    QString mIndexDirectory;
    int mMethod;
    int mMaxCount;

    // Layout
    int mCurrentTab;

    // Glossary
    QString mCachedGlossary;
    int mCachedGlossaryTimestamp;

    // ScrollKeeper
    bool mShowEmptyDirs;

    // Info pages
    QStringList mSearchpaths;

    // MainWindowState
    QList<int> mSplitter;
};

#endif

