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

#include "kwindecorationsettings.h"

KWinDecorationSettings::KWinDecorationSettings( QObject *parent )
  : KConfigSkeleton( QStringLiteral( "kwinrc" ) )
{
  setParent(parent);
  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&KWinDecorationSettings::itemChanged);

  setCurrentGroup( QStringLiteral( "org.kde.kdecoration2" ) );

  KConfigCompilerSignallingItem  *itemPluginName;
  KConfigSkeleton::ItemString  *innerItemPluginName;
  innerItemPluginName = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "library" ), mPluginName, QStringLiteral( "org.kde.breeze" ) );
  itemPluginName = new KConfigCompilerSignallingItem(innerItemPluginName, this, notifyFunction, signalPluginNameChanged);
  addItem( itemPluginName, QStringLiteral( "pluginName" ) );
  KConfigCompilerSignallingItem  *itemTheme;
  KConfigSkeleton::ItemString  *innerItemTheme;
  innerItemTheme = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "theme" ), mTheme, QStringLiteral( "Breeze" ) );
  itemTheme = new KConfigCompilerSignallingItem(innerItemTheme, this, notifyFunction, signalThemeChanged);
  itemTheme->setWriteFlags(KConfigBase::Notify);
  addItem( itemTheme, QStringLiteral( "theme" ) );
  KConfigCompilerSignallingItem  *itemBorderSize;
  KConfigSkeleton::ItemString  *innerItemBorderSize;
  innerItemBorderSize = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "BorderSize" ), mBorderSize, QStringLiteral( "Normal" ) );
  itemBorderSize = new KConfigCompilerSignallingItem(innerItemBorderSize, this, notifyFunction, signalBorderSizeChanged);
  addItem( itemBorderSize, QStringLiteral( "borderSize" ) );
  KConfigCompilerSignallingItem  *itemBorderSizeAuto;
  KConfigSkeleton::ItemBool  *innerItemBorderSizeAuto;
  innerItemBorderSizeAuto = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "BorderSizeAuto" ), mBorderSizeAuto, true );
  itemBorderSizeAuto = new KConfigCompilerSignallingItem(innerItemBorderSizeAuto, this, notifyFunction, signalBorderSizeAutoChanged);
  addItem( itemBorderSizeAuto, QStringLiteral( "borderSizeAuto" ) );
  KConfigCompilerSignallingItem  *itemCloseOnDoubleClickOnMenu;
  KConfigSkeleton::ItemBool  *innerItemCloseOnDoubleClickOnMenu;
  innerItemCloseOnDoubleClickOnMenu = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CloseOnDoubleClickOnMenu" ), mCloseOnDoubleClickOnMenu, false );
  itemCloseOnDoubleClickOnMenu = new KConfigCompilerSignallingItem(innerItemCloseOnDoubleClickOnMenu, this, notifyFunction, signalCloseOnDoubleClickOnMenuChanged);
  addItem( itemCloseOnDoubleClickOnMenu, QStringLiteral( "closeOnDoubleClickOnMenu" ) );
  KConfigCompilerSignallingItem  *itemShowToolTips;
  KConfigSkeleton::ItemBool  *innerItemShowToolTips;
  innerItemShowToolTips = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowToolTips" ), mShowToolTips, true );
  itemShowToolTips = new KConfigCompilerSignallingItem(innerItemShowToolTips, this, notifyFunction, signalShowToolTipsChanged);
  addItem( itemShowToolTips, QStringLiteral( "showToolTips" ) );
  KConfigCompilerSignallingItem  *itemButtonsOnLeft;
  KConfigSkeleton::ItemString  *innerItemButtonsOnLeft;
  innerItemButtonsOnLeft = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ButtonsOnLeft" ), mButtonsOnLeft, QStringLiteral( "MSE" ) );
  itemButtonsOnLeft = new KConfigCompilerSignallingItem(innerItemButtonsOnLeft, this, notifyFunction, signalButtonsOnLeftChanged);
  itemButtonsOnLeft->setWriteFlags(KConfigBase::Notify);
  addItem( itemButtonsOnLeft, QStringLiteral( "buttonsOnLeft" ) );
  KConfigCompilerSignallingItem  *itemButtonsOnRight;
  KConfigSkeleton::ItemString  *innerItemButtonsOnRight;
  innerItemButtonsOnRight = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ButtonsOnRight" ), mButtonsOnRight, QStringLiteral( "HIAX" ) );
  itemButtonsOnRight = new KConfigCompilerSignallingItem(innerItemButtonsOnRight, this, notifyFunction, signalButtonsOnRightChanged);
  itemButtonsOnRight->setWriteFlags(KConfigBase::Notify);
  addItem( itemButtonsOnRight, QStringLiteral( "buttonsOnRight" ) );
  KConfigCompilerSignallingItem  *itemAlwaysShowExcludeFromCapture;
  KConfigSkeleton::ItemBool  *innerItemAlwaysShowExcludeFromCapture;
  innerItemAlwaysShowExcludeFromCapture = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AlwaysShowExcludeFromCapture" ), mAlwaysShowExcludeFromCapture, false );
  itemAlwaysShowExcludeFromCapture = new KConfigCompilerSignallingItem(innerItemAlwaysShowExcludeFromCapture, this, notifyFunction, signalAlwaysShowExcludeFromCaptureChanged);
  addItem( itemAlwaysShowExcludeFromCapture, QStringLiteral( "alwaysShowExcludeFromCapture" ) );
}

QString KWinDecorationSettings::defaultPluginNameValue_helper() const
{

  return QStringLiteral( "org.kde.breeze" );
}

QString KWinDecorationSettings::defaultThemeValue_helper() const
{

  return QStringLiteral( "Breeze" );
}

QString KWinDecorationSettings::defaultBorderSizeValue_helper() const
{

  return QStringLiteral( "Normal" );
}

bool KWinDecorationSettings::defaultBorderSizeAutoValue_helper() const
{

  return true;
}

bool KWinDecorationSettings::defaultCloseOnDoubleClickOnMenuValue_helper() const
{

  return false;
}

bool KWinDecorationSettings::defaultShowToolTipsValue_helper() const
{

  return true;
}

QString KWinDecorationSettings::defaultButtonsOnLeftValue_helper() const
{

  return QStringLiteral( "MSE" );
}

QString KWinDecorationSettings::defaultButtonsOnRightValue_helper() const
{

  return QStringLiteral( "HIAX" );
}

bool KWinDecorationSettings::defaultAlwaysShowExcludeFromCaptureValue_helper() const
{

  return false;
}

KWinDecorationSettings::~KWinDecorationSettings()
{
}


void KWinDecorationSettings::itemChanged(quint64 signalFlag) {

  switch (signalFlag) {
  case signalPluginNameChanged:
    Q_EMIT pluginNameChanged();
    break;
  case signalThemeChanged:
    Q_EMIT themeChanged();
    break;
  case signalBorderSizeChanged:
    Q_EMIT borderSizeChanged();
    break;
  case signalBorderSizeAutoChanged:
    Q_EMIT borderSizeAutoChanged();
    break;
  case signalCloseOnDoubleClickOnMenuChanged:
    Q_EMIT closeOnDoubleClickOnMenuChanged();
    break;
  case signalShowToolTipsChanged:
    Q_EMIT showToolTipsChanged();
    break;
  case signalButtonsOnLeftChanged:
    Q_EMIT buttonsOnLeftChanged();
    break;
  case signalButtonsOnRightChanged:
    Q_EMIT buttonsOnRightChanged();
    break;
  case signalAlwaysShowExcludeFromCaptureChanged:
    Q_EMIT alwaysShowExcludeFromCaptureChanged();
    break;
  }
}
