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

#include <mailcommon_export.h>

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

namespace MailCommon {

class MAILCOMMON_EXPORT MailCommonSettings : public KConfigSkeleton
{
  public:
    class EnumFavoriteCollectionViewMode
    {
      public:
      enum type { HiddenMode, IconMode, ListMode, COUNT };
    };

    static MailCommonSettings *self();
    ~MailCommonSettings();

    /**
      Set IconSize
    */
    static
    void setIconSize( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "IconSize" ) ))
        self()->mIconSize = v;
    }

    /**
      Get IconSize
    */
    static
    int iconSize()
    {
      return self()->mIconSize;
    }

    /**
      Get Item object corresponding to IconSize()
    */
    ItemInt *iconSizeItem()
    {
      return mIconSizeItem;
    }

    /**
      Set FavoriteCollectionViewHeight
    */
    static
    void setFavoriteCollectionViewHeight( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "FavoriteCollectionViewHeight" ) ))
        self()->mFavoriteCollectionViewHeight = v;
    }

    /**
      Get FavoriteCollectionViewHeight
    */
    static
    int favoriteCollectionViewHeight()
    {
      return self()->mFavoriteCollectionViewHeight;
    }

    /**
      Get Item object corresponding to FavoriteCollectionViewHeight()
    */
    ItemInt *favoriteCollectionViewHeightItem()
    {
      return mFavoriteCollectionViewHeightItem;
    }

    /**
      Set Display Mode of the Favorite Collections View
    */
    static
    void setFavoriteCollectionViewMode( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "FavoriteCollectionViewMode" ) ))
        self()->mFavoriteCollectionViewMode = v;
    }

    /**
      Get Display Mode of the Favorite Collections View
    */
    static
    int favoriteCollectionViewMode()
    {
      return self()->mFavoriteCollectionViewMode;
    }

    /**
      Get Item object corresponding to FavoriteCollectionViewMode()
    */
    ItemEnum *favoriteCollectionViewModeItem()
    {
      return mFavoriteCollectionViewModeItem;
    }

    /**
      Set order
    */
    static
    void setOrder( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "order" ) ))
        self()->mOrder = v;
    }

    /**
      Get order
    */
    static
    QStringList order()
    {
      return self()->mOrder;
    }

    /**
      Get Item object corresponding to order()
    */
    ItemStringList *orderItem()
    {
      return mOrderItem;
    }

    /**
      Set EnableAccountOrder
    */
    static
    void setEnableAccountOrder( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "EnableAccountOrder" ) ))
        self()->mEnableAccountOrder = v;
    }

    /**
      Get EnableAccountOrder
    */
    static
    bool enableAccountOrder()
    {
      return self()->mEnableAccountOrder;
    }

    /**
      Get Item object corresponding to EnableAccountOrder()
    */
    ItemBool *enableAccountOrderItem()
    {
      return mEnableAccountOrderItem;
    }

  protected:
    MailCommonSettings();
    friend class MailCommonSettingsHelper;


    // FavoriteCollectionWidget
    int mIconSize;

    // FavoriteCollectionView
    int mFavoriteCollectionViewHeight;
    int mFavoriteCollectionViewMode;

    // AccountOrder
    QStringList mOrder;
    bool mEnableAccountOrder;

  private:
    ItemInt *mIconSizeItem;
    ItemInt *mFavoriteCollectionViewHeightItem;
    ItemEnum *mFavoriteCollectionViewModeItem;
    ItemStringList *mOrderItem;
    ItemBool *mEnableAccountOrderItem;
};

}

#endif

