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

#include <kontact_export.h>

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

namespace Kontact {

class KONTACT_EXPORT Prefs : public KConfigSkeleton
{
  public:

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

    /**
      Set ActivePlugin
    */
    static
    void setActivePlugin( const QString & v )
    {
      if (!self()->isActivePluginImmutable())
        self()->mActivePlugin = v;
    }

    /**
      Get ActivePlugin
    */
    static
    QString activePlugin()
    {
      return self()->mActivePlugin;
    }

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

    /**
      Get Item object corresponding to ActivePlugin()
    */
    ItemString *activePluginItem()
    {
      return mActivePluginItem;
    }

    /**
      Set Always start with plugin:
    */
    static
    void setForceStartupPlugin( bool v )
    {
      if (!self()->isForceStartupPluginImmutable())
        self()->mForceStartupPlugin = v;
    }

    /**
      Get Always start with plugin:
    */
    static
    bool forceStartupPlugin()
    {
      return self()->mForceStartupPlugin;
    }

    /**
      Is Always start with plugin: Immutable
    */
    static
    bool isForceStartupPluginImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ForceStartupPlugin" ) );
    }

    /**
      Get Item object corresponding to ForceStartupPlugin()
    */
    ItemBool *forceStartupPluginItem()
    {
      return mForceStartupPluginItem;
    }

    /**
      Set ForcedStartupPlugin
    */
    static
    void setForcedStartupPlugin( const QString & v )
    {
      if (!self()->isForcedStartupPluginImmutable())
        self()->mForcedStartupPlugin = v;
    }

    /**
      Get ForcedStartupPlugin
    */
    static
    QString forcedStartupPlugin()
    {
      return self()->mForcedStartupPlugin;
    }

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

    /**
      Get Item object corresponding to ForcedStartupPlugin()
    */
    ItemString *forcedStartupPluginItem()
    {
      return mForcedStartupPluginItem;
    }

    /**
      Set Show the Kontact component sidebar
    */
    static
    void setSideBarOpen( bool v )
    {
      if (!self()->isSideBarOpenImmutable())
        self()->mSideBarOpen = v;
    }

    /**
      Get Show the Kontact component sidebar
    */
    static
    bool sideBarOpen()
    {
      return self()->mSideBarOpen;
    }

    /**
      Is Show the Kontact component sidebar Immutable
    */
    static
    bool isSideBarOpenImmutable()
    {
      return self()->isImmutable( QStringLiteral( "SideBarOpen" ) );
    }

    /**
      Get Item object corresponding to SideBarOpen()
    */
    ItemBool *sideBarOpenItem()
    {
      return mSideBarOpenItem;
    }

    /**
      Set SidePaneSplitter
    */
    static
    void setSidePaneSplitter( const QList<int> & v )
    {
      if (!self()->isSidePaneSplitterImmutable())
        self()->mSidePaneSplitter = v;
    }

    /**
      Get SidePaneSplitter
    */
    static
    QList<int> sidePaneSplitter()
    {
      return self()->mSidePaneSplitter;
    }

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

    /**
      Get Item object corresponding to SidePaneSplitter()
    */
    ItemIntList *sidePaneSplitterItem()
    {
      return mSidePaneSplitterItem;
    }

    /**
      Set SidePaneIconSize
    */
    static
    void setSidePaneIconSize( int v )
    {
      if (!self()->isSidePaneIconSizeImmutable())
        self()->mSidePaneIconSize = v;
    }

    /**
      Get SidePaneIconSize
    */
    static
    int sidePaneIconSize()
    {
      return self()->mSidePaneIconSize;
    }

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

    /**
      Get Item object corresponding to SidePaneIconSize()
    */
    ItemInt *sidePaneIconSizeItem()
    {
      return mSidePaneIconSizeItem;
    }

    /**
      Set SidePaneShowIcons
    */
    static
    void setSidePaneShowIcons( bool v )
    {
      if (!self()->isSidePaneShowIconsImmutable())
        self()->mSidePaneShowIcons = v;
    }

    /**
      Get SidePaneShowIcons
    */
    static
    bool sidePaneShowIcons()
    {
      return self()->mSidePaneShowIcons;
    }

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

    /**
      Get Item object corresponding to SidePaneShowIcons()
    */
    ItemBool *sidePaneShowIconsItem()
    {
      return mSidePaneShowIconsItem;
    }

    /**
      Set SidePaneShowText
    */
    static
    void setSidePaneShowText( bool v )
    {
      if (!self()->isSidePaneShowTextImmutable())
        self()->mSidePaneShowText = v;
    }

    /**
      Get SidePaneShowText
    */
    static
    bool sidePaneShowText()
    {
      return self()->mSidePaneShowText;
    }

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

    /**
      Get Item object corresponding to SidePaneShowText()
    */
    ItemBool *sidePaneShowTextItem()
    {
      return mSidePaneShowTextItem;
    }

    /**
      Set LastVersionSeen
    */
    static
    void setLastVersionSeen( const QString & v )
    {
      if (!self()->isLastVersionSeenImmutable())
        self()->mLastVersionSeen = v;
    }

    /**
      Get LastVersionSeen
    */
    static
    QString lastVersionSeen()
    {
      return self()->mLastVersionSeen;
    }

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

    /**
      Get Item object corresponding to LastVersionSeen()
    */
    ItemString *lastVersionSeenItem()
    {
      return mLastVersionSeenItem;
    }

    /**
      Set ShowMenuBar
    */
    static
    void setShowMenuBar( bool v )
    {
      if (!self()->isShowMenuBarImmutable())
        self()->mShowMenuBar = v;
    }

    /**
      Get ShowMenuBar
    */
    static
    bool showMenuBar()
    {
      return self()->mShowMenuBar;
    }

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

    /**
      Get Item object corresponding to ShowMenuBar()
    */
    ItemBool *showMenuBarItem()
    {
      return mShowMenuBarItem;
    }

  protected:
    Prefs();
    friend class PrefsHelper;

  public:

    // View
    QString mActivePlugin;
    bool mForceStartupPlugin;
    QString mForcedStartupPlugin;
    bool mSideBarOpen;
    QList<int> mSidePaneSplitter;
    int mSidePaneIconSize;
    bool mSidePaneShowIcons;
    bool mSidePaneShowText;
    QString mLastVersionSeen;
    bool mShowMenuBar;

  private:
    ItemString *mActivePluginItem;
    ItemBool *mForceStartupPluginItem;
    ItemString *mForcedStartupPluginItem;
    ItemBool *mSideBarOpenItem;
    ItemIntList *mSidePaneSplitterItem;
    ItemInt *mSidePaneIconSizeItem;
    ItemBool *mSidePaneShowIconsItem;
    ItemBool *mSidePaneShowTextItem;
    ItemString *mLastVersionSeenItem;
    ItemBool *mShowMenuBarItem;
};

}

#endif

