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

#include <resources/ResourcesProxyModel.h>

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

class DiscoverSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

    DiscoverSettings( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
    ~DiscoverSettings() override;

    /**
      Set appsListPageSorting
    */
    void setAppsListPageSorting( int v )
    {
      if (v != mAppsListPageSorting && !isAppsListPageSortingImmutable()) {
        mAppsListPageSorting = v;
        Q_EMIT appsListPageSortingChanged();
      }
    }

    Q_PROPERTY(int appsListPageSorting READ appsListPageSorting WRITE setAppsListPageSorting NOTIFY appsListPageSortingChanged)
    Q_PROPERTY(bool isAppsListPageSortingImmutable READ isAppsListPageSortingImmutable CONSTANT)
    /**
      Get appsListPageSorting
    */
    int appsListPageSorting() const
    {
      return mAppsListPageSorting;
    }

    /**
      Is appsListPageSorting Immutable
    */
    bool isAppsListPageSortingImmutable() const
    {
      return isImmutable( QStringLiteral( "appsListPageSorting" ) );
    }

    /**
      Set installedPageSorting
    */
    void setInstalledPageSorting( int v )
    {
      if (v != mInstalledPageSorting && !isInstalledPageSortingImmutable()) {
        mInstalledPageSorting = v;
        Q_EMIT installedPageSortingChanged();
      }
    }

    Q_PROPERTY(int installedPageSorting READ installedPageSorting WRITE setInstalledPageSorting NOTIFY installedPageSortingChanged)
    Q_PROPERTY(bool isInstalledPageSortingImmutable READ isInstalledPageSortingImmutable CONSTANT)
    /**
      Get installedPageSorting
    */
    int installedPageSorting() const
    {
      return mInstalledPageSorting;
    }

    /**
      Is installedPageSorting Immutable
    */
    bool isInstalledPageSortingImmutable() const
    {
      return isImmutable( QStringLiteral( "installedPageSorting" ) );
    }

    /**
      Set installedPageCategorize
    */
    void setInstalledPageCategorize( bool v )
    {
      if (v != mInstalledPageCategorize && !isInstalledPageCategorizeImmutable()) {
        mInstalledPageCategorize = v;
        Q_EMIT installedPageCategorizeChanged();
      }
    }

    Q_PROPERTY(bool installedPageCategorize READ installedPageCategorize WRITE setInstalledPageCategorize NOTIFY installedPageCategorizeChanged)
    Q_PROPERTY(bool isInstalledPageCategorizeImmutable READ isInstalledPageCategorizeImmutable CONSTANT)
    /**
      Get installedPageCategorize
    */
    bool installedPageCategorize() const
    {
      return mInstalledPageCategorize;
    }

    /**
      Is installedPageCategorize Immutable
    */
    bool isInstalledPageCategorizeImmutable() const
    {
      return isImmutable( QStringLiteral( "installedPageCategorize" ) );
    }


    enum {
      signalAppsListPageSortingChanged = 1,
      signalInstalledPageSortingChanged = 2,
      signalInstalledPageCategorizeChanged = 3
    };

  Q_SIGNALS:
    void appsListPageSortingChanged();

    void installedPageSortingChanged();

    void installedPageCategorizeChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // DiscoverUI
    int mAppsListPageSorting;
    int mInstalledPageSorting;
    bool mInstalledPageCategorize;
};

#endif

