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

#include <choqok_export.h>
#include <klocalizedstring.h>

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

namespace Choqok {

class CHOQOK_EXPORT BehaviorSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set notifyEnabled
    */
    static
    void setNotifyEnabled( bool v )
    {
      if (!self()->isNotifyEnabledImmutable())
        self()->mNotifyEnabled = v;
    }

    /**
      Get notifyEnabled
    */
    static
    bool notifyEnabled()
    {
      return self()->mNotifyEnabled;
    }

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

    /**
      Get Item object corresponding to notifyEnabled()
    */
    ItemBool *notifyEnabledItem()
    {
      return mNotifyEnabledItem;
    }

    /**
      Set showAllNotifiesInOne
    */
    static
    void setShowAllNotifiesInOne( bool v )
    {
      if (!self()->isShowAllNotifiesInOneImmutable())
        self()->mShowAllNotifiesInOne = v;
    }

    /**
      Get showAllNotifiesInOne
    */
    static
    bool showAllNotifiesInOne()
    {
      return self()->mShowAllNotifiesInOne;
    }

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

    /**
      Get Item object corresponding to showAllNotifiesInOne()
    */
    ItemBool *showAllNotifiesInOneItem()
    {
      return mShowAllNotifiesInOneItem;
    }

    /**
      Set enableSysTray
    */
    static
    void setEnableSysTray( bool v )
    {
      if (!self()->isEnableSysTrayImmutable())
        self()->mEnableSysTray = v;
    }

    /**
      Get enableSysTray
    */
    static
    bool enableSysTray()
    {
      return self()->mEnableSysTray;
    }

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

    /**
      Get Item object corresponding to enableSysTray()
    */
    ItemBool *enableSysTrayItem()
    {
      return mEnableSysTrayItem;
    }

    /**
      Set enableSpellChecker
    */
    static
    void setEnableSpellChecker( bool v )
    {
      if (!self()->isEnableSpellCheckerImmutable())
        self()->mEnableSpellChecker = v;
    }

    /**
      Get enableSpellChecker
    */
    static
    bool enableSpellChecker()
    {
      return self()->mEnableSpellChecker;
    }

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

    /**
      Get Item object corresponding to enableSpellChecker()
    */
    ItemBool *enableSpellCheckerItem()
    {
      return mEnableSpellCheckerItem;
    }

    /**
      Set markAllAsReadOnHideToSystray
    */
    static
    void setMarkAllAsReadOnHideToSystray( bool v )
    {
      if (!self()->isMarkAllAsReadOnHideToSystrayImmutable())
        self()->mMarkAllAsReadOnHideToSystray = v;
    }

    /**
      Get markAllAsReadOnHideToSystray
    */
    static
    bool markAllAsReadOnHideToSystray()
    {
      return self()->mMarkAllAsReadOnHideToSystray;
    }

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

    /**
      Get Item object corresponding to markAllAsReadOnHideToSystray()
    */
    ItemBool *markAllAsReadOnHideToSystrayItem()
    {
      return mMarkAllAsReadOnHideToSystrayItem;
    }

    /**
      Set markAllAsReadOnExit
    */
    static
    void setMarkAllAsReadOnExit( bool v )
    {
      if (!self()->isMarkAllAsReadOnExitImmutable())
        self()->mMarkAllAsReadOnExit = v;
    }

    /**
      Get markAllAsReadOnExit
    */
    static
    bool markAllAsReadOnExit()
    {
      return self()->mMarkAllAsReadOnExit;
    }

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

    /**
      Get Item object corresponding to markAllAsReadOnExit()
    */
    ItemBool *markAllAsReadOnExitItem()
    {
      return mMarkAllAsReadOnExitItem;
    }

    /**
      Set updateInterval
    */
    static
    void setUpdateInterval( int v )
    {
      if (!self()->isUpdateIntervalImmutable())
        self()->mUpdateInterval = v;
    }

    /**
      Get updateInterval
    */
    static
    int updateInterval()
    {
      return self()->mUpdateInterval;
    }

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

    /**
      Get Item object corresponding to updateInterval()
    */
    ItemInt *updateIntervalItem()
    {
      return mUpdateIntervalItem;
    }

    /**
      Set notifyInterval
    */
    static
    void setNotifyInterval( int v )
    {
      if (!self()->isNotifyIntervalImmutable())
        self()->mNotifyInterval = v;
    }

    /**
      Get notifyInterval
    */
    static
    int notifyInterval()
    {
      return self()->mNotifyInterval;
    }

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

    /**
      Get Item object corresponding to notifyInterval()
    */
    ItemInt *notifyIntervalItem()
    {
      return mNotifyIntervalItem;
    }

    /**
      Set showMainWinOnStart
    */
    static
    void setShowMainWinOnStart( bool v )
    {
      if (!self()->isShowMainWinOnStartImmutable())
        self()->mShowMainWinOnStart = v;
    }

    /**
      Get showMainWinOnStart
    */
    static
    bool showMainWinOnStart()
    {
      return self()->mShowMainWinOnStart;
    }

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

    /**
      Get Item object corresponding to showMainWinOnStart()
    */
    ItemBool *showMainWinOnStartItem()
    {
      return mShowMainWinOnStartItem;
    }

    /**
      Set showSplashScreen
    */
    static
    void setShowSplashScreen( bool v )
    {
      if (!self()->isShowSplashScreenImmutable())
        self()->mShowSplashScreen = v;
    }

    /**
      Get showSplashScreen
    */
    static
    bool showSplashScreen()
    {
      return self()->mShowSplashScreen;
    }

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

    /**
      Get Item object corresponding to showSplashScreen()
    */
    ItemBool *showSplashScreenItem()
    {
      return mShowSplashScreenItem;
    }

    /**
      Set position
    */
    static
    void setPosition( const QPoint & v )
    {
      if (!self()->isPositionImmutable())
        self()->mPosition = v;
    }

    /**
      Get position
    */
    static
    QPoint position()
    {
      return self()->mPosition;
    }

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

    /**
      Get Item object corresponding to position()
    */
    ItemPoint *positionItem()
    {
      return mPositionItem;
    }

    /**
      Set UseKWallet
    */
    static
    void setUseKWallet( bool v )
    {
      if (!self()->isUseKWalletImmutable())
        self()->mUseKWallet = v;
    }

    /**
      Get UseKWallet
    */
    static
    bool useKWallet()
    {
      return self()->mUseKWallet;
    }

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

    /**
      Get Item object corresponding to UseKWallet()
    */
    ItemBool *useKWalletItem()
    {
      return mUseKWalletItem;
    }

    /**
      Set useCustomBrowser
    */
    static
    void setUseCustomBrowser( bool v )
    {
      if (!self()->isUseCustomBrowserImmutable())
        self()->mUseCustomBrowser = v;
    }

    /**
      Get useCustomBrowser
    */
    static
    bool useCustomBrowser()
    {
      return self()->mUseCustomBrowser;
    }

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

    /**
      Get Item object corresponding to useCustomBrowser()
    */
    ItemBool *useCustomBrowserItem()
    {
      return mUseCustomBrowserItem;
    }

    /**
      Set customBrowser
    */
    static
    void setCustomBrowser( const QString & v )
    {
      if (!self()->isCustomBrowserImmutable())
        self()->mCustomBrowser = v;
    }

    /**
      Get customBrowser
    */
    static
    QString customBrowser()
    {
      return self()->mCustomBrowser;
    }

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

    /**
      Get Item object corresponding to customBrowser()
    */
    ItemString *customBrowserItem()
    {
      return mCustomBrowserItem;
    }

    /**
      Set shortenOnPaste
    */
    static
    void setShortenOnPaste( bool v )
    {
      if (!self()->isShortenOnPasteImmutable())
        self()->mShortenOnPaste = v;
    }

    /**
      Get shortenOnPaste
    */
    static
    bool shortenOnPaste()
    {
      return self()->mShortenOnPaste;
    }

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

    /**
      Get Item object corresponding to shortenOnPaste()
    */
    ItemBool *shortenOnPasteItem()
    {
      return mShortenOnPasteItem;
    }

    /**
      Set removeHttp
    */
    static
    void setRemoveHttp( bool v )
    {
      if (!self()->isRemoveHttpImmutable())
        self()->mRemoveHttp = v;
    }

    /**
      Get removeHttp
    */
    static
    bool removeHttp()
    {
      return self()->mRemoveHttp;
    }

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

    /**
      Get Item object corresponding to removeHttp()
    */
    ItemBool *removeHttpItem()
    {
      return mRemoveHttpItem;
    }

    /**
      Set shortenerPlugin
    */
    static
    void setShortenerPlugin( const QString & v )
    {
      if (!self()->isShortenerPluginImmutable())
        self()->mShortenerPlugin = v;
    }

    /**
      Get shortenerPlugin
    */
    static
    QString shortenerPlugin()
    {
      return self()->mShortenerPlugin;
    }

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

    /**
      Get Item object corresponding to shortenerPlugin()
    */
    ItemString *shortenerPluginItem()
    {
      return mShortenerPluginItem;
    }

    /**
      Set countOfPosts
    */
    static
    void setCountOfPosts( int v )
    {
      if (!self()->isCountOfPostsImmutable())
        self()->mCountOfPosts = v;
    }

    /**
      Get countOfPosts
    */
    static
    int countOfPosts()
    {
      return self()->mCountOfPosts;
    }

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

    /**
      Get Item object corresponding to countOfPosts()
    */
    ItemInt *countOfPostsItem()
    {
      return mCountOfPostsItem;
    }

    /**
      Set resendWithQuickPost
    */
    static
    void setResendWithQuickPost( bool v )
    {
      if (!self()->isResendWithQuickPostImmutable())
        self()->mResendWithQuickPost = v;
    }

    /**
      Get resendWithQuickPost
    */
    static
    bool resendWithQuickPost()
    {
      return self()->mResendWithQuickPost;
    }

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

    /**
      Get Item object corresponding to resendWithQuickPost()
    */
    ItemBool *resendWithQuickPostItem()
    {
      return mResendWithQuickPostItem;
    }

    /**
      Set useCustomRT
    */
    static
    void setUseCustomRT( bool v )
    {
      if (!self()->isUseCustomRTImmutable())
        self()->mUseCustomRT = v;
    }

    /**
      Get useCustomRT
    */
    static
    bool useCustomRT()
    {
      return self()->mUseCustomRT;
    }

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

    /**
      Get Item object corresponding to useCustomRT()
    */
    ItemBool *useCustomRTItem()
    {
      return mUseCustomRTItem;
    }

    /**
      Set customRT
    */
    static
    void setCustomRT( const QString & v )
    {
      if (!self()->isCustomRTImmutable())
        self()->mCustomRT = v;
    }

    /**
      Get customRT
    */
    static
    QString customRT()
    {
      return self()->mCustomRT;
    }

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

    /**
      Get Item object corresponding to customRT()
    */
    ItemString *customRTItem()
    {
      return mCustomRTItem;
    }

    /**
      Set lastUsedUploaderPlugin
    */
    static
    void setLastUsedUploaderPlugin( const QString & v )
    {
      if (!self()->isLastUsedUploaderPluginImmutable())
        self()->mLastUsedUploaderPlugin = v;
    }

    /**
      Get lastUsedUploaderPlugin
    */
    static
    QString lastUsedUploaderPlugin()
    {
      return self()->mLastUsedUploaderPlugin;
    }

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

    /**
      Get Item object corresponding to lastUsedUploaderPlugin()
    */
    ItemString *lastUsedUploaderPluginItem()
    {
      return mLastUsedUploaderPluginItem;
    }

    /**
      Set spellerLanguage
    */
    static
    void setSpellerLanguage( const QString & v )
    {
      if (!self()->isSpellerLanguageImmutable())
        self()->mSpellerLanguage = v;
    }

    /**
      Get spellerLanguage
    */
    static
    QString spellerLanguage()
    {
      return self()->mSpellerLanguage;
    }

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

    /**
      Get Item object corresponding to spellerLanguage()
    */
    ItemString *spellerLanguageItem()
    {
      return mSpellerLanguageItem;
    }

    /**
      Set knotify
    */
    static
    void setKnotify( bool v )
    {
      if (!self()->isKnotifyImmutable())
        self()->mKnotify = v;
    }

    /**
      Get knotify
    */
    static
    bool knotify()
    {
      return self()->mKnotify;
    }

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

    /**
      Get Item object corresponding to knotify()
    */
    ItemBool *knotifyItem()
    {
      return mKnotifyItem;
    }

    /**
      Set libindicate
    */
    static
    void setLibindicate( bool v )
    {
      if (!self()->isLibindicateImmutable())
        self()->mLibindicate = v;
    }

    /**
      Get libindicate
    */
    static
    bool libindicate()
    {
      return self()->mLibindicate;
    }

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

    /**
      Get Item object corresponding to libindicate()
    */
    ItemBool *libindicateItem()
    {
      return mLibindicateItem;
    }

    /**
      Set All
    */
    static
    void setAll( bool v )
    {
      if (!self()->isAllImmutable())
        self()->mAll = v;
    }

    /**
      Get All
    */
    static
    bool all()
    {
      return self()->mAll;
    }

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

    /**
      Get Item object corresponding to All()
    */
    ItemBool *allItem()
    {
      return mAllItem;
    }

    /**
      Set QuickPostDialogSize
    */
    static
    void setQuickPostDialogSize( const QSize & v )
    {
      if (!self()->isQuickPostDialogSizeImmutable())
        self()->mQuickPostDialogSize = v;
    }

    /**
      Get QuickPostDialogSize
    */
    static
    QSize quickPostDialogSize()
    {
      return self()->mQuickPostDialogSize;
    }

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

    /**
      Get Item object corresponding to QuickPostDialogSize()
    */
    ItemSize *quickPostDialogSizeItem()
    {
      return mQuickPostDialogSizeItem;
    }

  protected:
    BehaviorSettings();
    friend class BehaviorSettingsHelper;


    // Behavior
    bool mNotifyEnabled;
    bool mShowAllNotifiesInOne;
    bool mEnableSysTray;
    bool mEnableSpellChecker;
    bool mMarkAllAsReadOnHideToSystray;
    bool mMarkAllAsReadOnExit;
    int mUpdateInterval;
    int mNotifyInterval;
    bool mShowMainWinOnStart;
    bool mShowSplashScreen;
    QPoint mPosition;
    bool mUseKWallet;
    bool mUseCustomBrowser;
    QString mCustomBrowser;
    bool mShortenOnPaste;
    bool mRemoveHttp;
    QString mShortenerPlugin;
    int mCountOfPosts;
    bool mResendWithQuickPost;
    bool mUseCustomRT;
    QString mCustomRT;
    QString mLastUsedUploaderPlugin;
    QString mSpellerLanguage;
    bool mKnotify;
    bool mLibindicate;

    // QuickPost
    bool mAll;
    QSize mQuickPostDialogSize;

  private:
    ItemBool *mNotifyEnabledItem;
    ItemBool *mShowAllNotifiesInOneItem;
    ItemBool *mEnableSysTrayItem;
    ItemBool *mEnableSpellCheckerItem;
    ItemBool *mMarkAllAsReadOnHideToSystrayItem;
    ItemBool *mMarkAllAsReadOnExitItem;
    ItemInt *mUpdateIntervalItem;
    ItemInt *mNotifyIntervalItem;
    ItemBool *mShowMainWinOnStartItem;
    ItemBool *mShowSplashScreenItem;
    ItemPoint *mPositionItem;
    ItemBool *mUseKWalletItem;
    ItemBool *mUseCustomBrowserItem;
    ItemString *mCustomBrowserItem;
    ItemBool *mShortenOnPasteItem;
    ItemBool *mRemoveHttpItem;
    ItemString *mShortenerPluginItem;
    ItemInt *mCountOfPostsItem;
    ItemBool *mResendWithQuickPostItem;
    ItemBool *mUseCustomRTItem;
    ItemString *mCustomRTItem;
    ItemString *mLastUsedUploaderPluginItem;
    ItemString *mSpellerLanguageItem;
    ItemBool *mKnotifyItem;
    ItemBool *mLibindicateItem;
    ItemBool *mAllItem;
    ItemSize *mQuickPostDialogSizeItem;
};

}

#endif

