// This file is generated by kconfig_compiler_kf5 from kopeteappearancesettings.kcfg.
// All changes you do to this file will be lost.

#include "kopeteappearancesettings.h"

#include <qglobal.h>
#include <QFile>

using namespace Kopete;

namespace Kopete {

class AppearanceSettingsHelper
{
  public:
    AppearanceSettingsHelper() : q(nullptr) {}
    ~AppearanceSettingsHelper() { delete q; q = nullptr; }
    AppearanceSettingsHelper(const AppearanceSettingsHelper&) = delete;
    AppearanceSettingsHelper& operator=(const AppearanceSettingsHelper&) = delete;
    AppearanceSettings *q;
};

}
Q_GLOBAL_STATIC(AppearanceSettingsHelper, s_globalAppearanceSettings)
AppearanceSettings *AppearanceSettings::self()
{
  if (!s_globalAppearanceSettings()->q) {
    new AppearanceSettings;
    s_globalAppearanceSettings()->q->read();
  }

  return s_globalAppearanceSettings()->q;
}

AppearanceSettings::AppearanceSettings( )
  : KConfigSkeleton( QStringLiteral( "kopeterc" ) )
  , mSettingsChanged(0)
{
  Q_ASSERT(!s_globalAppearanceSettings()->q);
  s_globalAppearanceSettings()->q = this;
  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&AppearanceSettings::itemChanged);

  setCurrentGroup( QStringLiteral( "Appearance" ) );

  KConfigCompilerSignallingItem  *itemUseEmoticons;
  KConfigSkeleton::ItemBool  *innerItemUseEmoticons;
  innerItemUseEmoticons = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useEmoticons" ), mUseEmoticons, true );
  itemUseEmoticons = new KConfigCompilerSignallingItem(innerItemUseEmoticons, this, notifyFunction, signalContactListAppearanceChanged | signalMessageOverridesChanged);
  addItem( itemUseEmoticons, QStringLiteral( "useEmoticons" ) );
  KConfigCompilerSignallingItem  *itemHighlightForegroundColor;
  KConfigSkeleton::ItemColor  *innerItemHighlightForegroundColor;
  innerItemHighlightForegroundColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "highlightForegroundColor" ), mHighlightForegroundColor, KColorScheme(QPalette::Active, KColorScheme::Selection).foreground().color() );
  itemHighlightForegroundColor = new KConfigCompilerSignallingItem(innerItemHighlightForegroundColor, this, notifyFunction, signalAppearanceChanged);
  addItem( itemHighlightForegroundColor, QStringLiteral( "highlightForegroundColor" ) );
  KConfigCompilerSignallingItem  *itemHighlightBackgroundColor;
  KConfigSkeleton::ItemColor  *innerItemHighlightBackgroundColor;
  innerItemHighlightBackgroundColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "highlightBackgroundColor" ), mHighlightBackgroundColor, KColorScheme(QPalette::Active, KColorScheme::Selection).background().color() );
  itemHighlightBackgroundColor = new KConfigCompilerSignallingItem(innerItemHighlightBackgroundColor, this, notifyFunction, signalAppearanceChanged);
  addItem( itemHighlightBackgroundColor, QStringLiteral( "highlightBackgroundColor" ) );
  KConfigCompilerSignallingItem  *itemChatFmtOverride;
  KConfigSkeleton::ItemBool  *innerItemChatFmtOverride;
  innerItemChatFmtOverride = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "chatFmtOverride" ), mChatFmtOverride, false );
  itemChatFmtOverride = new KConfigCompilerSignallingItem(innerItemChatFmtOverride, this, notifyFunction, signalMessageOverridesChanged);
  addItem( itemChatFmtOverride, QStringLiteral( "chatFmtOverride" ) );
  KConfigCompilerSignallingItem  *itemChatTextColor;
  KConfigSkeleton::ItemColor  *innerItemChatTextColor;
  innerItemChatTextColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "chatTextColor" ), mChatTextColor, KColorScheme(QPalette::Active, KColorScheme::View).foreground().color() );
  itemChatTextColor = new KConfigCompilerSignallingItem(innerItemChatTextColor, this, notifyFunction, signalAppearanceChanged);
  addItem( itemChatTextColor, QStringLiteral( "chatTextColor" ) );
  KConfigCompilerSignallingItem  *itemChatBackgroundColor;
  KConfigSkeleton::ItemColor  *innerItemChatBackgroundColor;
  innerItemChatBackgroundColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "chatBackgroundColor" ), mChatBackgroundColor, KColorScheme(QPalette::Active, KColorScheme::View).background().color() );
  itemChatBackgroundColor = new KConfigCompilerSignallingItem(innerItemChatBackgroundColor, this, notifyFunction, signalAppearanceChanged);
  addItem( itemChatBackgroundColor, QStringLiteral( "chatBackgroundColor" ) );
  KConfigCompilerSignallingItem  *itemChatLinkColor;
  KConfigSkeleton::ItemColor  *innerItemChatLinkColor;
  innerItemChatLinkColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "chatLinkColor" ), mChatLinkColor, KColorScheme(QPalette::Active, KColorScheme::Window).foreground(KColorScheme::LinkText).color() );
  itemChatLinkColor = new KConfigCompilerSignallingItem(innerItemChatLinkColor, this, notifyFunction, signalAppearanceChanged);
  addItem( itemChatLinkColor, QStringLiteral( "chatLinkColor" ) );
  KConfigCompilerSignallingItem  *itemChatFontSelection;
  KConfigSkeleton::ItemInt  *innerItemChatFontSelection;
  innerItemChatFontSelection = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "chatFontSelection" ), mChatFontSelection, 0 );
  itemChatFontSelection = new KConfigCompilerSignallingItem(innerItemChatFontSelection, this, notifyFunction, signalAppearanceChanged);
  addItem( itemChatFontSelection, QStringLiteral( "chatFontSelection" ) );
  KConfigCompilerSignallingItem  *itemChatFont;
  KConfigSkeleton::ItemFont  *innerItemChatFont;
  innerItemChatFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "chatFont" ), mChatFont, KGlobalSettings::generalFont() );
  itemChatFont = new KConfigCompilerSignallingItem(innerItemChatFont, this, notifyFunction, signalAppearanceChanged);
  addItem( itemChatFont, QStringLiteral( "chatFont" ) );
  KConfigCompilerSignallingItem  *itemIdleContactColor;
  KConfigSkeleton::ItemColor  *innerItemIdleContactColor;
  innerItemIdleContactColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "idleContactColor" ), mIdleContactColor, Qt::darkGray );
  itemIdleContactColor = new KConfigCompilerSignallingItem(innerItemIdleContactColor, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemIdleContactColor, QStringLiteral( "idleContactColor" ) );
  KConfigCompilerSignallingItem  *itemGreyIdleMetaContacts;
  KConfigSkeleton::ItemBool  *innerItemGreyIdleMetaContacts;
  innerItemGreyIdleMetaContacts = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "greyIdleMetaContacts" ), mGreyIdleMetaContacts, true );
  itemGreyIdleMetaContacts = new KConfigCompilerSignallingItem(innerItemGreyIdleMetaContacts, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemGreyIdleMetaContacts, QStringLiteral( "greyIdleMetaContacts" ) );
  QStringList defaulttoolTipContents;
  defaulttoolTipContents.append( QString::fromUtf8( "FormattedName" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "userInfo" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "server" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "channels" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "idleTime" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "channelMembers" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "channelTopic" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "emailAddress" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "homePage" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "onlineSince" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "lastOnline" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "statusTitle" ) );
  defaulttoolTipContents.append( QString::fromUtf8( "statusMessage" ) );

  KConfigSkeleton::ItemStringList  *itemToolTipContents;
  itemToolTipContents = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "toolTipContents" ), mToolTipContents, defaulttoolTipContents );
  addItem( itemToolTipContents, QStringLiteral( "toolTipContents" ) );

  setCurrentGroup( QStringLiteral( "ContactList" ) );

  QList<KConfigSkeleton::ItemEnum::Choice> valuescontactListGroupSorting;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Manual");
    valuescontactListGroupSorting.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Name");
    valuescontactListGroupSorting.append( choice );
  }
  KConfigCompilerSignallingItem  *itemContactListGroupSorting;
  KConfigSkeleton::ItemEnum  *innerItemContactListGroupSorting;
  innerItemContactListGroupSorting = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "contactListGroupSorting" ), mContactListGroupSorting, valuescontactListGroupSorting, EnumContactListGroupSorting::Name );
  itemContactListGroupSorting = new KConfigCompilerSignallingItem(innerItemContactListGroupSorting, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListGroupSorting, QStringLiteral( "contactListGroupSorting" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuescontactListMetaContactSorting;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Manual");
    valuescontactListMetaContactSorting.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Name");
    valuescontactListMetaContactSorting.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Status");
    valuescontactListMetaContactSorting.append( choice );
  }
  KConfigCompilerSignallingItem  *itemContactListMetaContactSorting;
  KConfigSkeleton::ItemEnum  *innerItemContactListMetaContactSorting;
  innerItemContactListMetaContactSorting = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "contactListMetaContactSorting" ), mContactListMetaContactSorting, valuescontactListMetaContactSorting, EnumContactListMetaContactSorting::Status );
  itemContactListMetaContactSorting = new KConfigCompilerSignallingItem(innerItemContactListMetaContactSorting, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListMetaContactSorting, QStringLiteral( "contactListMetaContactSorting" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuescontactListIconMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("IconPic");
    valuescontactListIconMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("IconPhoto");
    valuescontactListIconMode.append( choice );
  }
  KConfigCompilerSignallingItem  *itemContactListIconMode;
  KConfigSkeleton::ItemEnum  *innerItemContactListIconMode;
  innerItemContactListIconMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "contactListIconMode" ), mContactListIconMode, valuescontactListIconMode, EnumContactListIconMode::IconPic );
  itemContactListIconMode = new KConfigCompilerSignallingItem(innerItemContactListIconMode, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListIconMode, QStringLiteral( "contactListIconMode" ) );
  KConfigCompilerSignallingItem  *itemContactListIconBorders;
  KConfigSkeleton::ItemBool  *innerItemContactListIconBorders;
  innerItemContactListIconBorders = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListIconBorders" ), mContactListIconBorders, false );
  itemContactListIconBorders = new KConfigCompilerSignallingItem(innerItemContactListIconBorders, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListIconBorders, QStringLiteral( "contactListIconBorders" ) );
  KConfigCompilerSignallingItem  *itemContactListIconRounded;
  KConfigSkeleton::ItemBool  *innerItemContactListIconRounded;
  innerItemContactListIconRounded = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListIconRounded" ), mContactListIconRounded, true );
  itemContactListIconRounded = new KConfigCompilerSignallingItem(innerItemContactListIconRounded, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListIconRounded, QStringLiteral( "contactListIconRounded" ) );
  KConfigCompilerSignallingItem  *itemContactListTreeView;
  KConfigSkeleton::ItemBool  *innerItemContactListTreeView;
  innerItemContactListTreeView = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListTreeView" ), mContactListTreeView, true );
  itemContactListTreeView = new KConfigCompilerSignallingItem(innerItemContactListTreeView, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListTreeView, QStringLiteral( "contactListTreeView" ) );
  KConfigCompilerSignallingItem  *itemContactListIndentContact;
  KConfigSkeleton::ItemBool  *innerItemContactListIndentContact;
  innerItemContactListIndentContact = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListIndentContact" ), mContactListIndentContact, false );
  itemContactListIndentContact = new KConfigCompilerSignallingItem(innerItemContactListIndentContact, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListIndentContact, QStringLiteral( "contactListIndentContact" ) );
  KConfigCompilerSignallingItem  *itemContactListHideVerticalScrollBar;
  KConfigSkeleton::ItemBool  *innerItemContactListHideVerticalScrollBar;
  innerItemContactListHideVerticalScrollBar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListHideVerticalScrollBar" ), mContactListHideVerticalScrollBar, false );
  itemContactListHideVerticalScrollBar = new KConfigCompilerSignallingItem(innerItemContactListHideVerticalScrollBar, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListHideVerticalScrollBar, QStringLiteral( "contactListHideVerticalScrollBar" ) );
  KConfigCompilerSignallingItem  *itemGroupContactByGroup;
  KConfigSkeleton::ItemBool  *innerItemGroupContactByGroup;
  innerItemGroupContactByGroup = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "groupContactByGroup" ), mGroupContactByGroup, true );
  itemGroupContactByGroup = new KConfigCompilerSignallingItem(innerItemGroupContactByGroup, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemGroupContactByGroup, QStringLiteral( "groupContactByGroup" ) );
  KConfigCompilerSignallingItem  *itemContactListUseCustomFont;
  KConfigSkeleton::ItemBool  *innerItemContactListUseCustomFont;
  innerItemContactListUseCustomFont = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListUseCustomFont" ), mContactListUseCustomFont, false );
  itemContactListUseCustomFont = new KConfigCompilerSignallingItem(innerItemContactListUseCustomFont, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListUseCustomFont, QStringLiteral( "contactListUseCustomFont" ) );
  KConfigCompilerSignallingItem  *itemContactListAutoResize;
  KConfigSkeleton::ItemBool  *innerItemContactListAutoResize;
  innerItemContactListAutoResize = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListAutoResize" ), mContactListAutoResize, false );
  itemContactListAutoResize = new KConfigCompilerSignallingItem(innerItemContactListAutoResize, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListAutoResize, QStringLiteral( "contactListAutoResize" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuescontactListResizeAnchor;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Top");
    valuescontactListResizeAnchor.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Bottom");
    valuescontactListResizeAnchor.append( choice );
  }
  KConfigCompilerSignallingItem  *itemContactListResizeAnchor;
  KConfigSkeleton::ItemEnum  *innerItemContactListResizeAnchor;
  innerItemContactListResizeAnchor = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "contactListResizeAnchor" ), mContactListResizeAnchor, valuescontactListResizeAnchor, EnumContactListResizeAnchor::Bottom );
  itemContactListResizeAnchor = new KConfigCompilerSignallingItem(innerItemContactListResizeAnchor, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListResizeAnchor, QStringLiteral( "contactListResizeAnchor" ) );
  KConfigCompilerSignallingItem  *itemContactListNormalFont;
  KConfigSkeleton::ItemFont  *innerItemContactListNormalFont;
  innerItemContactListNormalFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "contactListNormalFont" ), mContactListNormalFont, KGlobalSettings::generalFont() );
  itemContactListNormalFont = new KConfigCompilerSignallingItem(innerItemContactListNormalFont, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListNormalFont, QStringLiteral( "contactListNormalFont" ) );
  KConfigCompilerSignallingItem  *itemContactListSmallFont;
  KConfigSkeleton::ItemFont  *innerItemContactListSmallFont;
  innerItemContactListSmallFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "contactListSmallFont" ), mContactListSmallFont, KGlobalSettings::generalFont() );
  itemContactListSmallFont = new KConfigCompilerSignallingItem(innerItemContactListSmallFont, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListSmallFont, QStringLiteral( "contactListSmallFont" ) );
  KConfigCompilerSignallingItem  *itemGroupNameColor;
  KConfigSkeleton::ItemColor  *innerItemGroupNameColor;
  innerItemGroupNameColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "groupNameColor" ), mGroupNameColor, Qt::darkRed );
  itemGroupNameColor = new KConfigCompilerSignallingItem(innerItemGroupNameColor, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemGroupNameColor, QStringLiteral( "groupNameColor" ) );
  KConfigCompilerSignallingItem  *itemContactListAnimateChange;
  KConfigSkeleton::ItemBool  *innerItemContactListAnimateChange;
  innerItemContactListAnimateChange = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListAnimateChange" ), mContactListAnimateChange, true );
  itemContactListAnimateChange = new KConfigCompilerSignallingItem(innerItemContactListAnimateChange, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListAnimateChange, QStringLiteral( "contactListAnimateChange" ) );
  KConfigCompilerSignallingItem  *itemContactListFading;
  KConfigSkeleton::ItemBool  *innerItemContactListFading;
  innerItemContactListFading = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListFading" ), mContactListFading, true );
  itemContactListFading = new KConfigCompilerSignallingItem(innerItemContactListFading, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListFading, QStringLiteral( "contactListFading" ) );
  KConfigCompilerSignallingItem  *itemContactListFolding;
  KConfigSkeleton::ItemBool  *innerItemContactListFolding;
  innerItemContactListFolding = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListFolding" ), mContactListFolding, true );
  itemContactListFolding = new KConfigCompilerSignallingItem(innerItemContactListFolding, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListFolding, QStringLiteral( "contactListFolding" ) );
  KConfigCompilerSignallingItem  *itemContactListAutoHide;
  KConfigSkeleton::ItemBool  *innerItemContactListAutoHide;
  innerItemContactListAutoHide = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListAutoHide" ), mContactListAutoHide, false );
  itemContactListAutoHide = new KConfigCompilerSignallingItem(innerItemContactListAutoHide, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListAutoHide, QStringLiteral( "contactListAutoHide" ) );
  KConfigCompilerSignallingItem  *itemContactListAutoHideVScroll;
  KConfigSkeleton::ItemBool  *innerItemContactListAutoHideVScroll;
  innerItemContactListAutoHideVScroll = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "contactListAutoHideVScroll" ), mContactListAutoHideVScroll, true );
  itemContactListAutoHideVScroll = new KConfigCompilerSignallingItem(innerItemContactListAutoHideVScroll, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListAutoHideVScroll, QStringLiteral( "contactListAutoHideVScroll" ) );
  KConfigCompilerSignallingItem  *itemContactListAutoHideTimeout;
  KConfigSkeleton::ItemUInt  *innerItemContactListAutoHideTimeout;
  innerItemContactListAutoHideTimeout = new KConfigSkeleton::ItemUInt( currentGroup(), QStringLiteral( "contactListAutoHideTimeout" ), mContactListAutoHideTimeout, 30 );
  itemContactListAutoHideTimeout = new KConfigCompilerSignallingItem(innerItemContactListAutoHideTimeout, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemContactListAutoHideTimeout, QStringLiteral( "contactListAutoHideTimeout" ) );
  KConfigCompilerSignallingItem  *itemShowOfflineUsers;
  KConfigSkeleton::ItemBool  *innerItemShowOfflineUsers;
  innerItemShowOfflineUsers = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showOfflineUsers" ), mShowOfflineUsers, true );
  itemShowOfflineUsers = new KConfigCompilerSignallingItem(innerItemShowOfflineUsers, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemShowOfflineUsers, QStringLiteral( "showOfflineUsers" ) );
  KConfigCompilerSignallingItem  *itemShowEmptyGroups;
  KConfigSkeleton::ItemBool  *innerItemShowEmptyGroups;
  innerItemShowEmptyGroups = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showEmptyGroups" ), mShowEmptyGroups, false );
  itemShowEmptyGroups = new KConfigCompilerSignallingItem(innerItemShowEmptyGroups, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemShowEmptyGroups, QStringLiteral( "showEmptyGroups" ) );
  KConfigSkeleton::ItemBool  *itemShowIdentityIcons;
  itemShowIdentityIcons = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showIdentityIcons" ), mShowIdentityIcons, true );
  addItem( itemShowIdentityIcons, QStringLiteral( "showIdentityIcons" ) );
  KConfigCompilerSignallingItem  *itemShowOfflineGrouped;
  KConfigSkeleton::ItemBool  *innerItemShowOfflineGrouped;
  innerItemShowOfflineGrouped = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showOfflineGrouped" ), mShowOfflineGrouped, false );
  itemShowOfflineGrouped = new KConfigCompilerSignallingItem(innerItemShowOfflineGrouped, this, notifyFunction, signalContactListAppearanceChanged);
  addItem( itemShowOfflineGrouped, QStringLiteral( "showOfflineGrouped" ) );
}

AppearanceSettings::~AppearanceSettings()
{
  if (s_globalAppearanceSettings.exists() && !s_globalAppearanceSettings.isDestroyed()) {
    s_globalAppearanceSettings()->q = nullptr;
  }
}

bool AppearanceSettings::usrSave()
{
  const bool res = KConfigSkeleton::usrSave();
  if (!res) return false;

  if ( mSettingsChanged & signalAppearanceChanged )
    Q_EMIT appearanceChanged();
  if ( mSettingsChanged & signalMessageOverridesChanged )
    Q_EMIT messageOverridesChanged();
  if ( mSettingsChanged & signalContactListAppearanceChanged )
    Q_EMIT contactListAppearanceChanged();
  mSettingsChanged = 0;
  return true;
}

void AppearanceSettings::itemChanged(quint64 flags) {
  mSettingsChanged |= flags;

}

#include "kopeteappearancesettings.moc"

