// This file is generated by kconfig_compiler_kf5 from kopetestatussettings.kcfg.
// All changes you do to this file will be lost.
#ifndef KOPETE_STATUSSETTINGS_H
#define KOPETE_STATUSSETTINGS_H

#include <libkopete_export.h>
#include <klocale.h>

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

namespace Kopete {

class LIBKOPETE_EXPORT StatusSettings : public KConfigSkeleton
{
  public:
    class EnumProtocolStatusMenuType
    {
      public:
      enum type { StatusesNotFiltered, StatusesWithSameCategory, UseParentStatusCategory, COUNT };
    };

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

    /**
      Set Protocol's status menu type.
    */
    static
    void setProtocolStatusMenuType( int v )
    {
      if (!self()->isProtocolStatusMenuTypeImmutable())
        self()->mProtocolStatusMenuType = v;
    }

    /**
      Get Protocol's status menu type.
    */
    static
    int protocolStatusMenuType()
    {
      return self()->mProtocolStatusMenuType;
    }

    /**
      Is Protocol's status menu type. Immutable
    */
    static
    bool isProtocolStatusMenuTypeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "protocolStatusMenuType" ) );
    }

    /**
      Get Item object corresponding to protocolStatusMenuType()
    */
    ItemEnum *protocolStatusMenuTypeItem()
    {
      return mProtocolStatusMenuTypeItem;
    }

  protected:
    StatusSettings();
    friend class StatusSettingsHelper;


    // Status
    int mProtocolStatusMenuType;

  private:
    ItemEnum *mProtocolStatusMenuTypeItem;
};

}

#endif

