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

#include <qapplication.h>
#include <messagelist_export.h>
#include <messagelistutil.h>

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

#include <QFontDatabase>

namespace MessageList {

class MessageListSettingsPrivate;

class MESSAGELIST_EXPORT MessageListSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set Display tooltips for messages and group headers
    */
    static
    void setMessageToolTipEnabled( bool v );

    /**
      Get Display tooltips for messages and group headers
    */
    static
    bool messageToolTipEnabled();

    /**
      Is Display tooltips for messages and group headers Immutable
    */
    static
    bool isMessageToolTipEnabledImmutable();

    /**
      Get Item object corresponding to MessageToolTipEnabled()
    */
    ItemBool *messageToolTipEnabledItem();

    /**
      Set ShowQuickSearch
    */
    static
    void setShowQuickSearch( bool v );

    /**
      Get ShowQuickSearch
    */
    static
    bool showQuickSearch();

    /**
      Is ShowQuickSearch Immutable
    */
    static
    bool isShowQuickSearchImmutable();

    /**
      Get Item object corresponding to ShowQuickSearch()
    */
    ItemBool *showQuickSearchItem();

    /**
      Set TagSelected
    */
    static
    void setTagSelected( const QString & v );

    /**
      Get TagSelected
    */
    static
    QString tagSelected();

    /**
      Is TagSelected Immutable
    */
    static
    bool isTagSelectedImmutable();

    /**
      Get Item object corresponding to TagSelected()
    */
    ItemString *tagSelectedItem();

    /**
      Set QuickSearchWarningDoNotShowAgain
    */
    static
    void setQuickSearchWarningDoNotShowAgain( bool v );

    /**
      Get QuickSearchWarningDoNotShowAgain
    */
    static
    bool quickSearchWarningDoNotShowAgain();

    /**
      Is QuickSearchWarningDoNotShowAgain Immutable
    */
    static
    bool isQuickSearchWarningDoNotShowAgainImmutable();

    /**
      Get Item object corresponding to QuickSearchWarningDoNotShowAgain()
    */
    ItemBool *quickSearchWarningDoNotShowAgainItem();

    /**
      Set UnreadMessageColor
    */
    static
    void setUnreadMessageColor( const QColor & v );

    /**
      Get UnreadMessageColor
    */
    static
    QColor unreadMessageColor();

    /**
      Is UnreadMessageColor Immutable
    */
    static
    bool isUnreadMessageColorImmutable();

    /**
      Get Item object corresponding to UnreadMessageColor()
    */
    ItemColor *unreadMessageColorItem();

    /**
      Set ImportantMessageColor
    */
    static
    void setImportantMessageColor( const QColor & v );

    /**
      Get ImportantMessageColor
    */
    static
    QColor importantMessageColor();

    /**
      Is ImportantMessageColor Immutable
    */
    static
    bool isImportantMessageColorImmutable();

    /**
      Get Item object corresponding to ImportantMessageColor()
    */
    ItemColor *importantMessageColorItem();

    /**
      Set TodoMessageColor
    */
    static
    void setTodoMessageColor( const QColor & v );

    /**
      Get TodoMessageColor
    */
    static
    QColor todoMessageColor();

    /**
      Is TodoMessageColor Immutable
    */
    static
    bool isTodoMessageColorImmutable();

    /**
      Get Item object corresponding to TodoMessageColor()
    */
    ItemColor *todoMessageColorItem();

    /**
      Set MessageListFont
    */
    static
    void setMessageListFont( const QFont & v );

    /**
      Get MessageListFont
    */
    static
    QFont messageListFont();

    /**
      Is MessageListFont Immutable
    */
    static
    bool isMessageListFontImmutable();

    /**
      Get Item object corresponding to MessageListFont()
    */
    ItemFont *messageListFontItem();

    /**
      Set UnreadMessageFont
    */
    static
    void setUnreadMessageFont( const QFont & v );

    /**
      Get UnreadMessageFont
    */
    static
    QFont unreadMessageFont();

    /**
      Is UnreadMessageFont Immutable
    */
    static
    bool isUnreadMessageFontImmutable();

    /**
      Get Item object corresponding to UnreadMessageFont()
    */
    ItemFont *unreadMessageFontItem();

    /**
      Set ImportantMessageFont
    */
    static
    void setImportantMessageFont( const QFont & v );

    /**
      Get ImportantMessageFont
    */
    static
    QFont importantMessageFont();

    /**
      Is ImportantMessageFont Immutable
    */
    static
    bool isImportantMessageFontImmutable();

    /**
      Get Item object corresponding to ImportantMessageFont()
    */
    ItemFont *importantMessageFontItem();

    /**
      Set TodoMessageFont
    */
    static
    void setTodoMessageFont( const QFont & v );

    /**
      Get TodoMessageFont
    */
    static
    QFont todoMessageFont();

    /**
      Is TodoMessageFont Immutable
    */
    static
    bool isTodoMessageFontImmutable();

    /**
      Get Item object corresponding to TodoMessageFont()
    */
    ItemFont *todoMessageFontItem();

  protected:
    MessageListSettings();
    friend class MessageListSettingsHelper;

  private:
    MessageListSettingsPrivate *d;
};

}

#endif

