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

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

#include <QDir>
#include <fileexcludefilters.h>

class BalooSettings : public KCoreConfigSkeleton
{
  public:

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

    /**
      Set Indexing-Enabled
    */
    void setIndexingEnabled( bool v )
    {
      if (!isIndexingEnabledImmutable())
        mIndexingEnabled = v;
    }

    /**
      Get Indexing-Enabled
    */
    bool indexingEnabled() const
    {
      return mIndexingEnabled;
    }

    /**
      Is Indexing-Enabled Immutable
    */
    bool isIndexingEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "indexingEnabled" ) );
    }

    /**
      Get Indexing-Enabled default value
    */
    bool defaultIndexingEnabledValue() const
    {
        return defaultIndexingEnabledValue_helper();
    }

    /**
      Set index hidden folders
    */
    void setIndexHiddenFolders( bool v )
    {
      if (!isIndexHiddenFoldersImmutable())
        mIndexHiddenFolders = v;
    }

    /**
      Get index hidden folders
    */
    bool indexHiddenFolders() const
    {
      return mIndexHiddenFolders;
    }

    /**
      Is index hidden folders Immutable
    */
    bool isIndexHiddenFoldersImmutable() const
    {
      return isImmutable( QStringLiteral( "indexHiddenFolders" ) );
    }

    /**
      Get index hidden folders default value
    */
    bool defaultIndexHiddenFoldersValue() const
    {
        return defaultIndexHiddenFoldersValue_helper();
    }

    /**
      Set db version
    */
    void setDbVersion( int v )
    {
      if (!isDbVersionImmutable())
        mDbVersion = v;
    }

    /**
      Get db version
    */
    int dbVersion() const
    {
      return mDbVersion;
    }

    /**
      Is db version Immutable
    */
    bool isDbVersionImmutable() const
    {
      return isImmutable( QStringLiteral( "dbVersion" ) );
    }

    /**
      Get db version default value
    */
    int defaultDbVersionValue() const
    {
        return defaultDbVersionValue_helper();
    }

    /**
      Set only basic indexing
    */
    void setOnlyBasicIndexing( bool v )
    {
      if (!isOnlyBasicIndexingImmutable())
        mOnlyBasicIndexing = v;
    }

    /**
      Get only basic indexing
    */
    bool onlyBasicIndexing() const
    {
      return mOnlyBasicIndexing;
    }

    /**
      Is only basic indexing Immutable
    */
    bool isOnlyBasicIndexingImmutable() const
    {
      return isImmutable( QStringLiteral( "onlyBasicIndexing" ) );
    }

    /**
      Get only basic indexing default value
    */
    bool defaultOnlyBasicIndexingValue() const
    {
        return defaultOnlyBasicIndexingValue_helper();
    }

    /**
      Set disable initial update (deprecated)
    */
    void setDisableInitialUpdate( bool v )
    {
      if (!isDisableInitialUpdateImmutable())
        mDisableInitialUpdate = v;
    }

    /**
      Get disable initial update (deprecated)
    */
    bool disableInitialUpdate() const
    {
      return mDisableInitialUpdate;
    }

    /**
      Is disable initial update (deprecated) Immutable
    */
    bool isDisableInitialUpdateImmutable() const
    {
      return isImmutable( QStringLiteral( "disableInitialUpdate" ) );
    }

    /**
      Get disable initial update (deprecated) default value
    */
    bool defaultDisableInitialUpdateValue() const
    {
        return defaultDisableInitialUpdateValue_helper();
    }

    /**
      Set exclude folders
    */
    void setExcludedFolders( const QStringList & v )
    {
      if (!isExcludedFoldersImmutable())
        mExcludedFolders = v;
    }

    /**
      Get exclude folders
    */
    QStringList excludedFolders() const
    {
      return mExcludedFolders;
    }

    /**
      Is exclude folders Immutable
    */
    bool isExcludedFoldersImmutable() const
    {
      return isImmutable( QStringLiteral( "excludedFolders" ) );
    }

    /**
      Get exclude folders default value
    */
    QStringList defaultExcludedFoldersValue() const
    {
        return defaultExcludedFoldersValue_helper();
    }

    /**
      Set folders
    */
    void setFolders( const QStringList & v )
    {
      if (!isFoldersImmutable())
        mFolders = v;
    }

    /**
      Get folders
    */
    QStringList folders() const
    {
      return mFolders;
    }

    /**
      Is folders Immutable
    */
    bool isFoldersImmutable() const
    {
      return isImmutable( QStringLiteral( "folders" ) );
    }

    /**
      Get folders default value
    */
    QStringList defaultFoldersValue() const
    {
        return defaultFoldersValue_helper();
    }

    /**
      Set exclude mimetypes
    */
    void setExcludedMimetypes( const QStringList & v )
    {
      if (!isExcludedMimetypesImmutable())
        mExcludedMimetypes = v;
    }

    /**
      Get exclude mimetypes
    */
    QStringList excludedMimetypes() const
    {
      return mExcludedMimetypes;
    }

    /**
      Is exclude mimetypes Immutable
    */
    bool isExcludedMimetypesImmutable() const
    {
      return isImmutable( QStringLiteral( "excludedMimetypes" ) );
    }

    /**
      Get exclude mimetypes default value
    */
    QStringList defaultExcludedMimetypesValue() const
    {
        return defaultExcludedMimetypesValue_helper();
    }

    /**
      Set exclude filters
    */
    void setExcludedFilters( const QStringList & v )
    {
      if (!isExcludedFiltersImmutable())
        mExcludedFilters = v;
    }

    /**
      Get exclude filters
    */
    QStringList excludedFilters() const
    {
      return mExcludedFilters;
    }

    /**
      Is exclude filters Immutable
    */
    bool isExcludedFiltersImmutable() const
    {
      return isImmutable( QStringLiteral( "excludedFilters" ) );
    }

    /**
      Get exclude filters default value
    */
    QStringList defaultExcludedFiltersValue() const
    {
        return defaultExcludedFiltersValue_helper();
    }

    /**
      Set exclude filters version
    */
    void setExcludedFiltersVersion( int v )
    {
      if (!isExcludedFiltersVersionImmutable())
        mExcludedFiltersVersion = v;
    }

    /**
      Get exclude filters version
    */
    int excludedFiltersVersion() const
    {
      return mExcludedFiltersVersion;
    }

    /**
      Is exclude filters version Immutable
    */
    bool isExcludedFiltersVersionImmutable() const
    {
      return isImmutable( QStringLiteral( "excludedFiltersVersion" ) );
    }

    /**
      Get exclude filters version default value
    */
    int defaultExcludedFiltersVersionValue() const
    {
        return defaultExcludedFiltersVersionValue_helper();
    }

  protected:

    // Basic Settings
    bool mIndexingEnabled;
    bool defaultIndexingEnabledValue_helper() const;

    // General
    bool mIndexHiddenFolders;
    bool defaultIndexHiddenFoldersValue_helper() const;
    int mDbVersion;
    int defaultDbVersionValue_helper() const;
    bool mOnlyBasicIndexing;
    bool defaultOnlyBasicIndexingValue_helper() const;
    bool mDisableInitialUpdate;
    bool defaultDisableInitialUpdateValue_helper() const;
    QStringList mExcludedFolders;
    QStringList defaultExcludedFoldersValue_helper() const;
    QStringList mFolders;
    QStringList defaultFoldersValue_helper() const;
    QStringList mExcludedMimetypes;
    QStringList defaultExcludedMimetypesValue_helper() const;
    QStringList mExcludedFilters;
    QStringList defaultExcludedFiltersValue_helper() const;
    int mExcludedFiltersVersion;
    int defaultExcludedFiltersVersionValue_helper() const;
};

#endif

