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

#include "umbrellosettings.h"

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

class UmbrelloSettingsHelper
{
  public:
    UmbrelloSettingsHelper() : q(nullptr) {}
    ~UmbrelloSettingsHelper() { delete q; }
    UmbrelloSettings *q;
};
Q_GLOBAL_STATIC(UmbrelloSettingsHelper, s_globalUmbrelloSettings)
UmbrelloSettings *UmbrelloSettings::self()
{
  if (!s_globalUmbrelloSettings()->q) {
    new UmbrelloSettings;
    s_globalUmbrelloSettings()->q->read();
  }

  return s_globalUmbrelloSettings()->q;
}

UmbrelloSettings::UmbrelloSettings(  )
  : KConfigSkeleton( QStringLiteral( "umbrellorc" ) )
{
  Q_ASSERT(!s_globalUmbrelloSettings()->q);
  s_globalUmbrelloSettings()->q = this;
  setCurrentGroup( QStringLiteral( "General Options" ) );

  KConfigSkeleton::ItemSize  *itemGeometry;
  itemGeometry = new KConfigSkeleton::ItemSize( currentGroup(), QStringLiteral( "Geometry" ), mGeometry );
  addItem( itemGeometry, QStringLiteral( "Geometry" ) );
  KConfigSkeleton::ItemString  *itemImageMimeType;
  itemImageMimeType = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "imageMimeType" ), mImageMimeType, QStringLiteral( "image/png" ) );
  addItem( itemImageMimeType, QStringLiteral( "imageMimeType" ) );
  KConfigSkeleton::ItemBool  *itemUndo;
  itemUndo = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "undo" ), mUndo, true );
  addItem( itemUndo, QStringLiteral( "undo" ) );
  KConfigSkeleton::ItemBool  *itemTabdiagrams;
  itemTabdiagrams = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "tabdiagrams" ), mTabdiagrams, true );
  addItem( itemTabdiagrams, QStringLiteral( "tabdiagrams" ) );
  KConfigSkeleton::ItemBool  *itemNewcodegen;
  itemNewcodegen = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "newcodegen" ), mNewcodegen, false );
  addItem( itemNewcodegen, QStringLiteral( "newcodegen" ) );
  KConfigSkeleton::ItemBool  *itemAngularlines;
  itemAngularlines = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "angularlines" ), mAngularlines, true );
  addItem( itemAngularlines, QStringLiteral( "angularlines" ) );
  KConfigSkeleton::ItemBool  *itemFooterPrinting;
  itemFooterPrinting = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "footerPrinting" ), mFooterPrinting, true );
  addItem( itemFooterPrinting, QStringLiteral( "footerPrinting" ) );
  KConfigSkeleton::ItemBool  *itemAutosave;
  itemAutosave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autosave" ), mAutosave, true );
  addItem( itemAutosave, QStringLiteral( "autosave" ) );
  KConfigSkeleton::ItemInt  *itemTime;
  itemTime = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "time" ), mTime, 0 );
  itemTime->setMinValue(0);
  itemTime->setMaxValue(25);
  addItem( itemTime, QStringLiteral( "time" ) );
  KConfigSkeleton::ItemInt  *itemAutosavetime;
  itemAutosavetime = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "autosavetime" ), mAutosavetime, 0 );
  itemAutosavetime->setMinValue(0);
  itemAutosavetime->setMaxValue(25);
  addItem( itemAutosavetime, QStringLiteral( "autosavetime" ) );
  KConfigSkeleton::ItemString  *itemAutosavesuffix;
  itemAutosavesuffix = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "autosavesuffix" ), mAutosavesuffix, QStringLiteral( ".xmi" ) );
  addItem( itemAutosavesuffix, QStringLiteral( "autosavesuffix" ) );
  KConfigSkeleton::ItemBool  *itemLoadlast;
  itemLoadlast = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "loadlast" ), mLoadlast, false );
  addItem( itemLoadlast, QStringLiteral( "loadlast" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesdiagram;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Undefined");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Class");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("UseCase");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Sequence");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Collaboration");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("State");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Activity");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Component");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Deployment");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("EntityRelationship");
    valuesdiagram.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("N_DIAGRAMTYPES");
    valuesdiagram.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDiagram;
  itemDiagram = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "diagram" ), mDiagram, valuesdiagram, Uml::DiagramType::Class );
  addItem( itemDiagram, QStringLiteral( "diagram" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesdefaultLanguage;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ActionScript");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Ada");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Cpp");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("CSharp");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("D");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("IDL");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Java");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("JavaScript");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MySQL");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Pascal");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Perl");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PHP");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PHP5");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PostgreSQL");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Python");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Ruby");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("SQL");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Tcl");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Vala");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("XMLSchema");
    valuesdefaultLanguage.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Reserved");
    valuesdefaultLanguage.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDefaultLanguage;
  itemDefaultLanguage = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "defaultLanguage" ), mDefaultLanguage, valuesdefaultLanguage, Uml::ProgrammingLanguage::Cpp );
  addItem( itemDefaultLanguage, QStringLiteral( "defaultLanguage" ) );
  KConfigSkeleton::ItemString  *itemLastFile;
  itemLastFile = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "lastFile" ), mLastFile );
  addItem( itemLastFile, QStringLiteral( "lastFile" ) );
  KConfigSkeleton::ItemBool  *itemUml2;
  itemUml2 = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "uml2" ), mUml2, true );
  addItem( itemUml2, QStringLiteral( "uml2" ) );

  setCurrentGroup( QStringLiteral( "UI Options" ) );

  KConfigSkeleton::ItemBool  *itemUseFillColor;
  itemUseFillColor = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useFillColor" ), mUseFillColor, true );
  addItem( itemUseFillColor, QStringLiteral( "useFillColor" ) );
  KConfigSkeleton::ItemColor  *itemFillColor;
  itemFillColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "fillColor" ), mFillColor, QColor( "yellow" ) );
  addItem( itemFillColor, QStringLiteral( "fillColor" ) );
  KConfigSkeleton::ItemColor  *itemLineColor;
  itemLineColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "lineColor" ), mLineColor, QColor( "red" ) );
  addItem( itemLineColor, QStringLiteral( "lineColor" ) );
  KConfigSkeleton::ItemUInt  *itemLineWidth;
  itemLineWidth = new KConfigSkeleton::ItemUInt( currentGroup(), QStringLiteral( "lineWidth" ), mLineWidth, 0 );
  addItem( itemLineWidth, QStringLiteral( "lineWidth" ) );
  KConfigSkeleton::ItemColor  *itemTextColor;
  itemTextColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "textColor" ), mTextColor, QColor( "black" ) );
  addItem( itemTextColor, QStringLiteral( "textColor" ) );
  KConfigSkeleton::ItemBool  *itemShowDocWindow;
  itemShowDocWindow = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showDocWindow" ), mShowDocWindow, true );
  addItem( itemShowDocWindow, QStringLiteral( "showDocWindow" ) );
  KConfigSkeleton::ItemFont  *itemUiFont;
  itemUiFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "font" ), mUiFont, Uml::systemFont() );
  addItem( itemUiFont, QStringLiteral( "uiFont" ) );
  KConfigSkeleton::ItemColor  *itemBackgroundColor;
  itemBackgroundColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "backgroundColor" ), mBackgroundColor, QColor( "white" ) );
  addItem( itemBackgroundColor, QStringLiteral( "backgroundColor" ) );
  KConfigSkeleton::ItemColor  *itemGridDotColor;
  itemGridDotColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gridDotColor" ), mGridDotColor, QColor( "lightGray" ) );
  addItem( itemGridDotColor, QStringLiteral( "gridDotColor" ) );

  setCurrentGroup( QStringLiteral( "Class Options" ) );

  KConfigSkeleton::ItemBool  *itemShowVisibility;
  itemShowVisibility = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showVisibility" ), mShowVisibility, true );
  addItem( itemShowVisibility, QStringLiteral( "showVisibility" ) );
  KConfigSkeleton::ItemBool  *itemShowAtts;
  itemShowAtts = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showAtts" ), mShowAtts, true );
  addItem( itemShowAtts, QStringLiteral( "showAtts" ) );
  KConfigSkeleton::ItemBool  *itemShowOps;
  itemShowOps = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showOps" ), mShowOps, true );
  addItem( itemShowOps, QStringLiteral( "showOps" ) );
  KConfigSkeleton::ItemBool  *itemShowPackage;
  itemShowPackage = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showPackage" ), mShowPackage, true );
  addItem( itemShowPackage, QStringLiteral( "showPackage" ) );
  KConfigSkeleton::ItemBool  *itemShowStereoType;
  itemShowStereoType = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showStereoType" ), mShowStereoType, true );
  addItem( itemShowStereoType, QStringLiteral( "showStereoType" ) );
  KConfigSkeleton::ItemBool  *itemShowAttribAssocs;
  itemShowAttribAssocs = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showAttribAssocs" ), mShowAttribAssocs, true );
  addItem( itemShowAttribAssocs, QStringLiteral( "showAttribAssocs" ) );
  KConfigSkeleton::ItemBool  *itemShowPublicOnly;
  itemShowPublicOnly = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showPublicOnly" ), mShowPublicOnly, false );
  addItem( itemShowPublicOnly, QStringLiteral( "showPublicOnly" ) );
  KConfigSkeleton::ItemBool  *itemShowAttSig;
  itemShowAttSig = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showAttSig" ), mShowAttSig, true );
  addItem( itemShowAttSig, QStringLiteral( "showAttSig" ) );
  KConfigSkeleton::ItemBool  *itemShowOpSig;
  itemShowOpSig = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showOpSig" ), mShowOpSig, true );
  addItem( itemShowOpSig, QStringLiteral( "showOpSig" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesdefaultAttributeScope;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Public");
    valuesdefaultAttributeScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Private");
    valuesdefaultAttributeScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Protected");
    valuesdefaultAttributeScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Implementation");
    valuesdefaultAttributeScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FromParent");
    valuesdefaultAttributeScope.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDefaultAttributeScope;
  itemDefaultAttributeScope = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "defaultAttributeScope" ), mDefaultAttributeScope, valuesdefaultAttributeScope, Uml::Visibility::Public );
  addItem( itemDefaultAttributeScope, QStringLiteral( "defaultAttributeScope" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesdefaultOperationScope;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Public");
    valuesdefaultOperationScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Private");
    valuesdefaultOperationScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Protected");
    valuesdefaultOperationScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Implementation");
    valuesdefaultOperationScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FromParent");
    valuesdefaultOperationScope.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDefaultOperationScope;
  itemDefaultOperationScope = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "defaultOperationScope" ), mDefaultOperationScope, valuesdefaultOperationScope, Uml::Visibility::Public );
  addItem( itemDefaultOperationScope, QStringLiteral( "defaultOperationScope" ) );

  setCurrentGroup( QStringLiteral( "Code Viewer Options" ) );

  KConfigSkeleton::ItemInt  *itemHeight;
  itemHeight = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "height" ), mHeight, 40 );
  itemHeight->setMaxValue(100);
  addItem( itemHeight, QStringLiteral( "height" ) );
  KConfigSkeleton::ItemInt  *itemWidth;
  itemWidth = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "width" ), mWidth, 80 );
  itemWidth->setMaxValue(100);
  addItem( itemWidth, QStringLiteral( "width" ) );
  KConfigSkeleton::ItemBool  *itemShowHiddenBlocks;
  itemShowHiddenBlocks = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showHiddenBlocks" ), mShowHiddenBlocks, true );
  addItem( itemShowHiddenBlocks, QStringLiteral( "showHiddenBlocks" ) );
  KConfigSkeleton::ItemBool  *itemBlocksAreHighlighted;
  itemBlocksAreHighlighted = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "blocksAreHighlighted" ), mBlocksAreHighlighted, true );
  addItem( itemBlocksAreHighlighted, QStringLiteral( "blocksAreHighlighted" ) );
  KConfigSkeleton::ItemFont  *itemCodeViewerFont;
  itemCodeViewerFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "font" ), mCodeViewerFont, Uml::systemFont() );
  addItem( itemCodeViewerFont, QStringLiteral( "codeViewerFont" ) );
  KConfigSkeleton::ItemColor  *itemPaperColor;
  itemPaperColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "paperColor" ), mPaperColor, QColor( "white" ) );
  addItem( itemPaperColor, QStringLiteral( "paperColor" ) );
  KConfigSkeleton::ItemColor  *itemFontColor;
  itemFontColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "fontColor" ), mFontColor, QColor( "black" ) );
  addItem( itemFontColor, QStringLiteral( "fontColor" ) );
  KConfigSkeleton::ItemColor  *itemSelectedColor;
  itemSelectedColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "selectedColor" ), mSelectedColor, QColor( "yellow" ) );
  addItem( itemSelectedColor, QStringLiteral( "selectedColor" ) );
  KConfigSkeleton::ItemColor  *itemEditBlockColor;
  itemEditBlockColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "editBlockColor" ), mEditBlockColor, QColor( "pink" ) );
  addItem( itemEditBlockColor, QStringLiteral( "editBlockColor" ) );
  KConfigSkeleton::ItemColor  *itemNonEditBlockColor;
  itemNonEditBlockColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "nonEditBlockColor" ), mNonEditBlockColor, QColor( "pink" ) );
  addItem( itemNonEditBlockColor, QStringLiteral( "nonEditBlockColor" ) );
  KConfigSkeleton::ItemColor  *itemUmlObjectColor;
  itemUmlObjectColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "umlObjectColor" ), mUmlObjectColor, QColor( "grey" ) );
  addItem( itemUmlObjectColor, QStringLiteral( "umlObjectColor" ) );
  KConfigSkeleton::ItemColor  *itemHiddenColor;
  itemHiddenColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "hiddenColor" ), mHiddenColor, QColor( "grey" ) );
  addItem( itemHiddenColor, QStringLiteral( "hiddenColor" ) );

  setCurrentGroup( QStringLiteral( "Code Importer" ) );

  KConfigSkeleton::ItemBool  *itemCreateArtifacts;
  itemCreateArtifacts = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "createArtifacts" ), mCreateArtifacts, true );
  addItem( itemCreateArtifacts, QStringLiteral( "createArtifacts" ) );
  KConfigSkeleton::ItemBool  *itemResolveDependencies;
  itemResolveDependencies = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "resolveDependencies" ), mResolveDependencies, true );
  addItem( itemResolveDependencies, QStringLiteral( "resolveDependencies" ) );
  KConfigSkeleton::ItemBool  *itemSupportCPP11;
  itemSupportCPP11 = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "supportCPP11" ), mSupportCPP11, true );
  addItem( itemSupportCPP11, QStringLiteral( "supportCPP11" ) );

  setCurrentGroup( QStringLiteral( "Code Generation" ) );

  KConfigSkeleton::ItemBool  *itemAutoGenEmptyConstructors;
  itemAutoGenEmptyConstructors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenEmptyConstructors" ), mAutoGenEmptyConstructors, true );
  addItem( itemAutoGenEmptyConstructors, QStringLiteral( "autoGenEmptyConstructors" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuescommentStyle;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("SingleLine");
    valuescommentStyle.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MultiLine");
    valuescommentStyle.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemCommentStyle;
  itemCommentStyle = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "commentStyle" ), mCommentStyle, valuescommentStyle, CodeGenerationPolicy::SingleLine );
  addItem( itemCommentStyle, QStringLiteral( "commentStyle" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesdefaultAssocFieldScope;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Public");
    valuesdefaultAssocFieldScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Private");
    valuesdefaultAssocFieldScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Protected");
    valuesdefaultAssocFieldScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Implementation");
    valuesdefaultAssocFieldScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FromParent");
    valuesdefaultAssocFieldScope.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDefaultAssocFieldScope;
  itemDefaultAssocFieldScope = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "defaultAssocFieldScope" ), mDefaultAssocFieldScope, valuesdefaultAssocFieldScope, Uml::Visibility::FromParent );
  addItem( itemDefaultAssocFieldScope, QStringLiteral( "defaultAssocFieldScope" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesdefaultAttributeAccessorScope;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Public");
    valuesdefaultAttributeAccessorScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Private");
    valuesdefaultAttributeAccessorScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Protected");
    valuesdefaultAttributeAccessorScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Implementation");
    valuesdefaultAttributeAccessorScope.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FromParent");
    valuesdefaultAttributeAccessorScope.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemDefaultAttributeAccessorScope;
  itemDefaultAttributeAccessorScope = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "defaultAttributeAccessorScope" ), mDefaultAttributeAccessorScope, valuesdefaultAttributeAccessorScope, Uml::Visibility::FromParent );
  addItem( itemDefaultAttributeAccessorScope, QStringLiteral( "defaultAttributeAccessorScope" ) );
  KConfigSkeleton::ItemBool  *itemForceDoc;
  itemForceDoc = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "forceDoc" ), mForceDoc, true );
  addItem( itemForceDoc, QStringLiteral( "forceDoc" ) );
  KConfigSkeleton::ItemBool  *itemForceSections;
  itemForceSections = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "forceSections" ), mForceSections, true );
  addItem( itemForceSections, QStringLiteral( "forceSections" ) );
  KConfigSkeleton::ItemPath  *itemHeadingsDirectory;
  itemHeadingsDirectory = new KConfigSkeleton::ItemPath( currentGroup(), QStringLiteral( "headingsDirectory" ), mHeadingsDirectory, QStringLiteral( "$HOME/kde/share/apps/umbrello/headings" ) );
  addItem( itemHeadingsDirectory, QStringLiteral( "headingsDirectory" ) );
  KConfigSkeleton::ItemBool  *itemIncludeHeadings;
  itemIncludeHeadings = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "includeHeadings" ), mIncludeHeadings, true );
  addItem( itemIncludeHeadings, QStringLiteral( "includeHeadings" ) );
  KConfigSkeleton::ItemInt  *itemIndentationAmount;
  itemIndentationAmount = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "indentationAmount" ), mIndentationAmount, 2 );
  itemIndentationAmount->setMaxValue(10);
  addItem( itemIndentationAmount, QStringLiteral( "indentationAmount" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesindentationType;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NONE");
    valuesindentationType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("TAB");
    valuesindentationType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("SPACE");
    valuesindentationType.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemIndentationType;
  itemIndentationType = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "indentationType" ), mIndentationType, valuesindentationType, CodeGenerationPolicy::SPACE );
  addItem( itemIndentationType, QStringLiteral( "indentationType" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valueslineEndingType;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("UNIX");
    valueslineEndingType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DOS");
    valueslineEndingType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MAC");
    valueslineEndingType.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemLineEndingType;
  itemLineEndingType = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "lineEndingType" ), mLineEndingType, valueslineEndingType, CodeGenerationPolicy::UNIX );
  addItem( itemLineEndingType, QStringLiteral( "lineEndingType" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesmodnamePolicy;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("No");
    valuesmodnamePolicy.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Underscore");
    valuesmodnamePolicy.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Capitalise");
    valuesmodnamePolicy.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemModnamePolicy;
  itemModnamePolicy = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "modnamePolicy" ), mModnamePolicy, valuesmodnamePolicy, CodeGenerationPolicy::Capitalise );
  addItem( itemModnamePolicy, QStringLiteral( "modnamePolicy" ) );
  KConfigSkeleton::ItemPath  *itemOutputDirectory;
  itemOutputDirectory = new KConfigSkeleton::ItemPath( currentGroup(), QStringLiteral( "outputDirectory" ), mOutputDirectory, QStringLiteral( "$HOME/uml-generated-code" ) );
  addItem( itemOutputDirectory, QStringLiteral( "outputDirectory" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesoverwritePolicy;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Ok");
    valuesoverwritePolicy.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Ask");
    valuesoverwritePolicy.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Never");
    valuesoverwritePolicy.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Cancel");
    valuesoverwritePolicy.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemOverwritePolicy;
  itemOverwritePolicy = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "overwritePolicy" ), mOverwritePolicy, valuesoverwritePolicy, CodeGenerationPolicy::Ask );
  addItem( itemOverwritePolicy, QStringLiteral( "overwritePolicy" ) );

  setCurrentGroup( QStringLiteral( "CPP Code Generation" ) );

  KConfigSkeleton::ItemBool  *itemAutoGenAccessors;
  itemAutoGenAccessors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenAccessors" ), mAutoGenAccessors, true );
  addItem( itemAutoGenAccessors, QStringLiteral( "autoGenAccessors" ) );
  KConfigSkeleton::ItemBool  *itemInlineAccessors;
  itemInlineAccessors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "inlineAccessors" ), mInlineAccessors, true );
  addItem( itemInlineAccessors, QStringLiteral( "inlineAccessors" ) );
  KConfigSkeleton::ItemBool  *itemInlineOps;
  itemInlineOps = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "inlineOps" ), mInlineOps, true );
  addItem( itemInlineOps, QStringLiteral( "inlineOps" ) );
  KConfigSkeleton::ItemBool  *itemPackageIsNamespace;
  itemPackageIsNamespace = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "packageIsNamespace" ), mPackageIsNamespace, true );
  addItem( itemPackageIsNamespace, QStringLiteral( "packageIsNamespace" ) );
  KConfigSkeleton::ItemBool  *itemPublicAccessors;
  itemPublicAccessors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "publicAccessors" ), mPublicAccessors, true );
  addItem( itemPublicAccessors, QStringLiteral( "publicAccessors" ) );
  KConfigSkeleton::ItemString  *itemStringClassName;
  itemStringClassName = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "stringClassName" ), mStringClassName, QStringLiteral( "std::string" ) );
  addItem( itemStringClassName, QStringLiteral( "stringClassName" ) );
  KConfigSkeleton::ItemString  *itemStringClassNameInclude;
  itemStringClassNameInclude = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "stringClassNameInclude" ), mStringClassNameInclude, QStringLiteral( "<string>" ) );
  addItem( itemStringClassNameInclude, QStringLiteral( "stringClassNameInclude" ) );
  KConfigSkeleton::ItemBool  *itemStringIncludeIsGlobal;
  itemStringIncludeIsGlobal = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "stringIncludeIsGlobal" ), mStringIncludeIsGlobal, true );
  addItem( itemStringIncludeIsGlobal, QStringLiteral( "stringIncludeIsGlobal" ) );
  KConfigSkeleton::ItemString  *itemVectorClassName;
  itemVectorClassName = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "vectorClassName" ), mVectorClassName, QStringLiteral( "std::vector" ) );
  addItem( itemVectorClassName, QStringLiteral( "vectorClassName" ) );
  KConfigSkeleton::ItemString  *itemVectorClassNameInclude;
  itemVectorClassNameInclude = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "vectorClassNameInclude" ), mVectorClassNameInclude, QStringLiteral( "<vector>" ) );
  addItem( itemVectorClassNameInclude, QStringLiteral( "vectorClassNameInclude" ) );
  KConfigSkeleton::ItemBool  *itemVectorIncludeIsGlobal;
  itemVectorIncludeIsGlobal = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "vectorIncludeIsGlobal" ), mVectorIncludeIsGlobal, true );
  addItem( itemVectorIncludeIsGlobal, QStringLiteral( "vectorIncludeIsGlobal" ) );
  KConfigSkeleton::ItemBool  *itemVirtualDestructors;
  itemVirtualDestructors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "virtualDestructors" ), mVirtualDestructors, true );
  addItem( itemVirtualDestructors, QStringLiteral( "virtualDestructors" ) );
  KConfigSkeleton::ItemString  *itemDocToolTag;
  itemDocToolTag = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "docToolTag" ), mDocToolTag, QStringLiteral( "@" ) );
  addItem( itemDocToolTag, QStringLiteral( "docToolTag" ) );

  setCurrentGroup( QStringLiteral( "D Code Generation" ) );

  KConfigSkeleton::ItemBool  *itemAutoGenerateAttributeAccessorsD;
  itemAutoGenerateAttributeAccessorsD = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenerateAttributeAccessors" ), mAutoGenerateAttributeAccessorsD, true );
  addItem( itemAutoGenerateAttributeAccessorsD, QStringLiteral( "autoGenerateAttributeAccessorsD" ) );
  KConfigSkeleton::ItemBool  *itemAutoGenerateAssocAccessorsD;
  itemAutoGenerateAssocAccessorsD = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenerateAssocAccessors" ), mAutoGenerateAssocAccessorsD, true );
  addItem( itemAutoGenerateAssocAccessorsD, QStringLiteral( "autoGenerateAssocAccessorsD" ) );
  KConfigSkeleton::ItemBool  *itemBuildANTDocumentD;
  itemBuildANTDocumentD = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "buildANTDocument" ), mBuildANTDocumentD, false );
  addItem( itemBuildANTDocumentD, QStringLiteral( "buildANTDocumentD" ) );

  setCurrentGroup( QStringLiteral( "Java Code Generation" ) );

  KConfigSkeleton::ItemBool  *itemAutoGenerateAttributeAccessorsJava;
  itemAutoGenerateAttributeAccessorsJava = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenerateAttributeAccessors" ), mAutoGenerateAttributeAccessorsJava, true );
  addItem( itemAutoGenerateAttributeAccessorsJava, QStringLiteral( "autoGenerateAttributeAccessorsJava" ) );
  KConfigSkeleton::ItemBool  *itemAutoGenerateAssocAccessorsJava;
  itemAutoGenerateAssocAccessorsJava = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenerateAssocAccessors" ), mAutoGenerateAssocAccessorsJava, true );
  addItem( itemAutoGenerateAssocAccessorsJava, QStringLiteral( "autoGenerateAssocAccessorsJava" ) );
  KConfigSkeleton::ItemBool  *itemBuildANTDocumentJava;
  itemBuildANTDocumentJava = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "buildANTDocument" ), mBuildANTDocumentJava, false );
  addItem( itemBuildANTDocumentJava, QStringLiteral( "buildANTDocumentJava" ) );

  setCurrentGroup( QStringLiteral( "Ruby Code Generation" ) );

  KConfigSkeleton::ItemBool  *itemAutoGenerateAttributeAccessorsRuby;
  itemAutoGenerateAttributeAccessorsRuby = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenerateAttributeAccessors" ), mAutoGenerateAttributeAccessorsRuby, true );
  addItem( itemAutoGenerateAttributeAccessorsRuby, QStringLiteral( "autoGenerateAttributeAccessorsRuby" ) );
  KConfigSkeleton::ItemBool  *itemAutoGenerateAssocAccessorsRuby;
  itemAutoGenerateAssocAccessorsRuby = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoGenerateAssocAccessors" ), mAutoGenerateAssocAccessorsRuby, true );
  addItem( itemAutoGenerateAssocAccessorsRuby, QStringLiteral( "autoGenerateAssocAccessorsRuby" ) );

  setCurrentGroup( QStringLiteral( "Auto Layout" ) );

  KConfigSkeleton::ItemBool  *itemAutoDotPath;
  itemAutoDotPath = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoDotPath" ), mAutoDotPath, true );
  addItem( itemAutoDotPath, QStringLiteral( "autoDotPath" ) );
  KConfigSkeleton::ItemString  *itemDotPath;
  itemDotPath = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "dotPath" ), mDotPath );
  addItem( itemDotPath, QStringLiteral( "dotPath" ) );
  KConfigSkeleton::ItemBool  *itemShowExportLayout;
  itemShowExportLayout = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showExportLayout" ), mShowExportLayout, false );
  addItem( itemShowExportLayout, QStringLiteral( "showExportLayout" ) );
}

UmbrelloSettings::~UmbrelloSettings()
{
  s_globalUmbrelloSettings()->q = nullptr;
}

