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

#include "kmymoneysettings.h"

#include "kmymoneysettings_addons.cpp"
#include <qglobal.h>
#include <QFile>

class KMyMoneySettingsHelper
{
  public:
    KMyMoneySettingsHelper() : q(nullptr) {}
    ~KMyMoneySettingsHelper() { delete q; q = nullptr; }
    KMyMoneySettingsHelper(const KMyMoneySettingsHelper&) = delete;
    KMyMoneySettingsHelper& operator=(const KMyMoneySettingsHelper&) = delete;
    KMyMoneySettings *q;
};
Q_GLOBAL_STATIC(KMyMoneySettingsHelper, s_globalKMyMoneySettings)
KMyMoneySettings *KMyMoneySettings::self()
{
  if (!s_globalKMyMoneySettings()->q) {
    new KMyMoneySettings;
    s_globalKMyMoneySettings()->q->read();
  }

  return s_globalKMyMoneySettings()->q;
}

KMyMoneySettings::KMyMoneySettings( )
  : KConfigSkeleton( QStringLiteral( "kmymoney/kmymoneyrc" ) )
{
  Q_ASSERT(!s_globalKMyMoneySettings()->q);
  s_globalKMyMoneySettings()->q = this;
  setCurrentGroup( QStringLiteral( "General Options" ) );

  KConfigSkeleton::ItemInt  *itemAutoFillTransaction;
  itemAutoFillTransaction = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "AutoFillTransaction" ), mAutoFillTransaction, 1 );
  addItem( itemAutoFillTransaction, QStringLiteral( "AutoFillTransaction" ) );
  KConfigSkeleton::ItemInt  *itemAutoFillDifference;
  itemAutoFillDifference = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "AutoFillDifference" ), mAutoFillDifference, 10 );
  addItem( itemAutoFillDifference, QStringLiteral( "AutoFillDifference" ) );
  KConfigSkeleton::ItemBool  *itemAutoFillUseMemos;
  itemAutoFillUseMemos = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AutoFillUseMemos" ), mAutoFillUseMemos, true );
  addItem( itemAutoFillUseMemos, QStringLiteral( "AutoFillUseMemos" ) );
  KConfigSkeleton::ItemBool  *itemAutoIncCheckNumber;
  itemAutoIncCheckNumber = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AutoIncCheckNumber" ), mAutoIncCheckNumber, true );
  addItem( itemAutoIncCheckNumber, QStringLiteral( "AutoIncCheckNumber" ) );
  KConfigSkeleton::ItemBool  *itemAutoSaveFile;
  itemAutoSaveFile = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AutoSaveFile" ), mAutoSaveFile, false );
  addItem( itemAutoSaveFile, QStringLiteral( "AutoSaveFile" ) );
  KConfigSkeleton::ItemBool  *itemAutoReconciliation;
  itemAutoReconciliation = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AutoReconciliation" ), mAutoReconciliation, false );
  addItem( itemAutoReconciliation, QStringLiteral( "AutoReconciliation" ) );
  KConfigSkeleton::ItemInt  *itemAutoBackupCopies;
  itemAutoBackupCopies = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "AutoBackupCopies" ), mAutoBackupCopies, 10 );
  itemAutoBackupCopies->setMinValue(0);
  itemAutoBackupCopies->setMaxValue(100);
  addItem( itemAutoBackupCopies, QStringLiteral( "AutoBackupCopies" ) );
  KConfigSkeleton::ItemString  *itemBackupExtension;
  itemBackupExtension = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "BackupExtension" ), mBackupExtension, QStringLiteral( "~" ) );
  addItem( itemBackupExtension, QStringLiteral( "BackupExtension" ) );
  KConfigSkeleton::ItemInt  *itemAutoSavePeriod;
  itemAutoSavePeriod = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "AutoSavePeriod" ), mAutoSavePeriod, 10 );
  itemAutoSavePeriod->setMinValue(0);
  itemAutoSavePeriod->setMaxValue(60);
  addItem( itemAutoSavePeriod, QStringLiteral( "AutoSavePeriod" ) );
  KConfigSkeleton::ItemBool  *itemAutoSaveOnClose;
  itemAutoSaveOnClose = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AutoSaveOnClose" ), mAutoSaveOnClose, false );
  addItem( itemAutoSaveOnClose, QStringLiteral( "AutoSaveOnClose" ) );
  KConfigSkeleton::ItemBool  *itemCheckSchedule;
  itemCheckSchedule = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CheckSchedule" ), mCheckSchedule, false );
  addItem( itemCheckSchedule, QStringLiteral( "CheckSchedule" ) );
  KConfigSkeleton::ItemInt  *itemCheckSchedulePreview;
  itemCheckSchedulePreview = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "CheckSchedulePreview" ), mCheckSchedulePreview, 0 );
  itemCheckSchedulePreview->setMinValue(0);
  itemCheckSchedulePreview->setMaxValue(999);
  addItem( itemCheckSchedulePreview, QStringLiteral( "CheckSchedulePreview" ) );
  KConfigSkeleton::ItemString  *itemExternalCalculator;
  itemExternalCalculator = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ExternalCalculator" ), mExternalCalculator );
  addItem( itemExternalCalculator, QStringLiteral( "ExternalCalculator" ) );
  KConfigSkeleton::ItemString  *itemHolidayRegion;
  itemHolidayRegion = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "HolidayRegion" ), mHolidayRegion, QStringLiteral( "(None)" ) );
  addItem( itemHolidayRegion, QStringLiteral( "HolidayRegion" ) );
  KConfigSkeleton::ItemInt  *itemSchedulePreview;
  itemSchedulePreview = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "SchedulePreview" ), mSchedulePreview, 0 );
  itemSchedulePreview->setMinValue(0);
  itemSchedulePreview->setMaxValue(999);
  addItem( itemSchedulePreview, QStringLiteral( "SchedulePreview" ) );
  KConfigSkeleton::ItemBool  *itemFocusChangeIsEnter;
  itemFocusChangeIsEnter = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "FocusChangeIsEnter" ), mFocusChangeIsEnter, false );
  addItem( itemFocusChangeIsEnter, QStringLiteral( "FocusChangeIsEnter" ) );
  KConfigSkeleton::ItemBool  *itemEnterMovesBetweenFields;
  itemEnterMovesBetweenFields = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "EnterMovesBetweenFields" ), mEnterMovesBetweenFields, false );
  addItem( itemEnterMovesBetweenFields, QStringLiteral( "EnterMovesBetweenFields" ) );
  KConfigSkeleton::ItemBool  *itemLedgerLens;
  itemLedgerLens = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "LedgerLens" ), mLedgerLens, false );
  addItem( itemLedgerLens, QStringLiteral( "LedgerLens" ) );
  KConfigSkeleton::ItemBool  *itemPriceHistoryUpdate;
  itemPriceHistoryUpdate = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "PriceHistoryUpdate" ), mPriceHistoryUpdate, true );
  addItem( itemPriceHistoryUpdate, QStringLiteral( "PriceHistoryUpdate" ) );
  KConfigSkeleton::ItemBool  *itemTransactionForm;
  itemTransactionForm = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "TransactionForm" ), mTransactionForm, true );
  addItem( itemTransactionForm, QStringLiteral( "TransactionForm" ) );
  KConfigSkeleton::ItemInt  *itemStartLastViewSelected;
  itemStartLastViewSelected = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "StartLastViewSelected" ), mStartLastViewSelected, 0 );
  addItem( itemStartLastViewSelected, QStringLiteral( "StartLastViewSelected" ) );
  KConfigSkeleton::ItemInt  *itemLastViewSelected;
  itemLastViewSelected = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "LastViewSelected" ), mLastViewSelected, 0 );
  addItem( itemLastViewSelected, QStringLiteral( "LastViewSelected" ) );
  KConfigSkeleton::ItemBool  *itemWriteDataEncrypted;
  itemWriteDataEncrypted = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "WriteDataEncrypted" ), mWriteDataEncrypted, false );
  addItem( itemWriteDataEncrypted, QStringLiteral( "WriteDataEncrypted" ) );
  KConfigSkeleton::ItemBool  *itemEncryptRecover;
  itemEncryptRecover = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "EncryptRecover" ), mEncryptRecover, false );
  addItem( itemEncryptRecover, QStringLiteral( "EncryptRecover" ) );
  KConfigSkeleton::ItemString  *itemGpgRecipient;
  itemGpgRecipient = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "GpgRecipient" ), mGpgRecipient );
  addItem( itemGpgRecipient, QStringLiteral( "GpgRecipient" ) );
  KConfigSkeleton::ItemStringList  *itemGpgRecipientList;
  itemGpgRecipientList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "GpgRecipientList" ), mGpgRecipientList );
  addItem( itemGpgRecipientList, QStringLiteral( "GpgRecipientList" ) );
  KConfigSkeleton::ItemBool  *itemExpertMode;
  itemExpertMode = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ExpertMode" ), mExpertMode, false );
  addItem( itemExpertMode, QStringLiteral( "ExpertMode" ) );
  KConfigSkeleton::ItemBool  *itemSyncLedgerInvestment;
  itemSyncLedgerInvestment = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "syncLedgerInvestment" ), mSyncLedgerInvestment, true );
  addItem( itemSyncLedgerInvestment, QStringLiteral( "syncLedgerInvestment" ) );
  KConfigSkeleton::ItemInt  *itemViewType;
  itemViewType = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "viewType" ), mViewType, 0 );
  addItem( itemViewType, QStringLiteral( "viewType" ) );
  KConfigSkeleton::ItemBool  *itemFirstTimeRun;
  itemFirstTimeRun = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "firstTimeRun" ), mFirstTimeRun, true );
  addItem( itemFirstTimeRun, QStringLiteral( "firstTimeRun" ) );
  KConfigSkeleton::ItemBool  *itemStringMatchFromStart;
  itemStringMatchFromStart = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "stringMatchFromStart" ), mStringMatchFromStart, false );
  addItem( itemStringMatchFromStart, QStringLiteral( "stringMatchFromStart" ) );
  KConfigSkeleton::ItemString  *itemStdTransactionFormTabOrder;
  itemStdTransactionFormTabOrder = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "stdTransactionFormTabOrder" ), mStdTransactionFormTabOrder, QStringLiteral( "account,cashflow,payee,category,tag,memo,number,date,amount,state" ) );
  addItem( itemStdTransactionFormTabOrder, QStringLiteral( "stdTransactionFormTabOrder" ) );
  KConfigSkeleton::ItemString  *itemStdTransactionRegisterTabOrder;
  itemStdTransactionRegisterTabOrder = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "stdTransactionRegisterTabOrder" ), mStdTransactionRegisterTabOrder, QStringLiteral( "number,date,payee,category,tag,memo,payment,deposit,state" ) );
  addItem( itemStdTransactionRegisterTabOrder, QStringLiteral( "stdTransactionRegisterTabOrder" ) );

  setCurrentGroup( QStringLiteral( "Homepage Options" ) );

  KConfigSkeleton::ItemString  *itemItemList;
  itemItemList = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "ItemList" ), mItemList, QStringLiteral( "8,1,2,3,4,5,6,7,-9,10" ) );
  addItem( itemItemList, QStringLiteral( "ItemList" ) );
  KConfigSkeleton::ItemDouble  *itemZoomFactor;
  itemZoomFactor = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "ZoomFactor" ), mZoomFactor, 1.00 );
  addItem( itemZoomFactor, QStringLiteral( "ZoomFactor" ) );
  KConfigSkeleton::ItemBool  *itemRememberZoomFactor;
  itemRememberZoomFactor = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "RememberZoomFactor" ), mRememberZoomFactor, true );
  addItem( itemRememberZoomFactor, QStringLiteral( "RememberZoomFactor" ) );
  KConfigSkeleton::ItemBool  *itemShowLimitInfo;
  itemShowLimitInfo = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowLimitInfo" ), mShowLimitInfo, true );
  addItem( itemShowLimitInfo, QStringLiteral( "ShowLimitInfo" ) );
  KConfigSkeleton::ItemBool  *itemShowBalanceStatusOfOnlineAccounts;
  itemShowBalanceStatusOfOnlineAccounts = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowBalanceStatusOfOnlineAccounts" ), mShowBalanceStatusOfOnlineAccounts, false );
  addItem( itemShowBalanceStatusOfOnlineAccounts, QStringLiteral( "ShowBalanceStatusOfOnlineAccounts" ) );
  KConfigSkeleton::ItemBool  *itemShowCountOfUnmarkedTransactions;
  itemShowCountOfUnmarkedTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowCountOfUnmarkedTransactions" ), mShowCountOfUnmarkedTransactions, false );
  addItem( itemShowCountOfUnmarkedTransactions, QStringLiteral( "ShowCountOfUnmarkedTransactions" ) );
  KConfigSkeleton::ItemBool  *itemShowCountOfClearedTransactions;
  itemShowCountOfClearedTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowCountOfClearedTransactions" ), mShowCountOfClearedTransactions, false );
  addItem( itemShowCountOfClearedTransactions, QStringLiteral( "ShowCountOfClearedTransactions" ) );
  KConfigSkeleton::ItemBool  *itemShowCountOfNotReconciledTransactions;
  itemShowCountOfNotReconciledTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowCountOfNotReconciledTransactions" ), mShowCountOfNotReconciledTransactions, false );
  addItem( itemShowCountOfNotReconciledTransactions, QStringLiteral( "ShowCountOfNotReconciledTransactions" ) );
  KConfigSkeleton::ItemBool  *itemShowDateOfLastReconciliation;
  itemShowDateOfLastReconciliation = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowDateOfLastReconciliation" ), mShowDateOfLastReconciliation, false );
  addItem( itemShowDateOfLastReconciliation, QStringLiteral( "ShowDateOfLastReconciliation" ) );

  setCurrentGroup( QStringLiteral( "Color Options" ) );

  KConfigSkeleton::ItemBool  *itemUseCustomColors;
  itemUseCustomColors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useCustomColors" ), mUseCustomColors, false );
  addItem( itemUseCustomColors, QStringLiteral( "useCustomColors" ) );
  KConfigSkeleton::ItemColor  *itemTransactionImportedColor;
  itemTransactionImportedColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "transactionImportedColor" ), mTransactionImportedColor, QColor( 255,255,127 ) );
  addItem( itemTransactionImportedColor, QStringLiteral( "transactionImportedColor" ) );
  KConfigSkeleton::ItemColor  *itemTransactionImportedText;
  itemTransactionImportedText = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "transactionImportedText" ), mTransactionImportedText, QColor( 0,0,0 ) );
  addItem( itemTransactionImportedText, QStringLiteral( "transactionImportedText" ) );
  KConfigSkeleton::ItemColor  *itemTransactionMatchedColor;
  itemTransactionMatchedColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "transactionMatchedColor" ), mTransactionMatchedColor, QColor( 152,251,152 ) );
  addItem( itemTransactionMatchedColor, QStringLiteral( "transactionMatchedColor" ) );
  KConfigSkeleton::ItemColor  *itemTransactionMatchedText;
  itemTransactionMatchedText = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "transactionMatchedText" ), mTransactionMatchedText, QColor( 0,0,0 ) );
  addItem( itemTransactionMatchedText, QStringLiteral( "transactionMatchedText" ) );
  KConfigSkeleton::ItemColor  *itemTransactionErroneousColor;
  itemTransactionErroneousColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "transactionErroneousColor" ), mTransactionErroneousColor, QColor( 255,0,0 ) );
  addItem( itemTransactionErroneousColor, QStringLiteral( "transactionErroneousColor" ) );
  KConfigSkeleton::ItemColor  *itemMissingConversionRateColor;
  itemMissingConversionRateColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "missingConversionRateColor" ), mMissingConversionRateColor, QColor( 0,0,255 ) );
  addItem( itemMissingConversionRateColor, QStringLiteral( "missingConversionRateColor" ) );
  KConfigSkeleton::ItemColor  *itemGroupMarkerColor;
  itemGroupMarkerColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "groupMarkerColor" ), mGroupMarkerColor, QColor( 255,242,155 ) );
  addItem( itemGroupMarkerColor, QStringLiteral( "groupMarkerColor" ) );
  KConfigSkeleton::ItemColor  *itemGroupMarkerText;
  itemGroupMarkerText = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "groupMarkerText" ), mGroupMarkerText, QColor( 0,0,0 ) );
  addItem( itemGroupMarkerText, QStringLiteral( "groupMarkerText" ) );
  KConfigSkeleton::ItemColor  *itemFieldRequiredColor;
  itemFieldRequiredColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "fieldRequiredColor" ), mFieldRequiredColor, QColor( 255,255,221 ) );
  addItem( itemFieldRequiredColor, QStringLiteral( "fieldRequiredColor" ) );

  setCurrentGroup( QStringLiteral( "List Options" ) );

  KConfigSkeleton::ItemBool  *itemHideUnusedCategory;
  itemHideUnusedCategory = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HideUnusedCategory" ), mHideUnusedCategory, false );
  addItem( itemHideUnusedCategory, QStringLiteral( "HideUnusedCategory" ) );
  KConfigSkeleton::ItemBool  *itemShowAllAccounts;
  itemShowAllAccounts = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowAllAccounts" ), mShowAllAccounts, false );
  addItem( itemShowAllAccounts, QStringLiteral( "ShowAllAccounts" ) );
  KConfigSkeleton::ItemBool  *itemShowCategoriesInAccountsView;
  itemShowCategoriesInAccountsView = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowCategoriesInAccountsView" ), mShowCategoriesInAccountsView, false );
  addItem( itemShowCategoriesInAccountsView, QStringLiteral( "ShowCategoriesInAccountsView" ) );
  KConfigSkeleton::ItemBool  *itemHideZeroBalanceEquities;
  itemHideZeroBalanceEquities = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HideZeroBalanceEquities" ), mHideZeroBalanceEquities, false );
  addItem( itemHideZeroBalanceEquities, QStringLiteral( "HideZeroBalanceEquities" ) );
  KConfigSkeleton::ItemBool  *itemHideZeroBalanceAccounts;
  itemHideZeroBalanceAccounts = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HideZeroBalanceAccounts" ), mHideZeroBalanceAccounts, false );
  addItem( itemHideZeroBalanceAccounts, QStringLiteral( "HideZeroBalanceAccounts" ) );
  KConfigSkeleton::ItemBool  *itemHideZeroBalanceAccountsHome;
  itemHideZeroBalanceAccountsHome = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HideZeroBalanceAccountsHome" ), mHideZeroBalanceAccountsHome, false );
  addItem( itemHideZeroBalanceAccountsHome, QStringLiteral( "HideZeroBalanceAccountsHome" ) );
  KConfigSkeleton::ItemBool  *itemHideFinishedSchedules;
  itemHideFinishedSchedules = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HideFinishedSchedules" ), mHideFinishedSchedules, false );
  addItem( itemHideFinishedSchedules, QStringLiteral( "HideFinishedSchedules" ) );
  KConfigSkeleton::ItemBool  *itemHideReconciledTransactions;
  itemHideReconciledTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HideReconciledTransactions" ), mHideReconciledTransactions, false );
  addItem( itemHideReconciledTransactions, QStringLiteral( "HideReconciledTransactions" ) );
  KConfigSkeleton::ItemBool  *itemShowRegisterDetailed;
  itemShowRegisterDetailed = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowRegisterDetailed" ), mShowRegisterDetailed, false );
  addItem( itemShowRegisterDetailed, QStringLiteral( "ShowRegisterDetailed" ) );
  KConfigSkeleton::ItemBool  *itemShowAllSplits;
  itemShowAllSplits = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowAllSplits" ), mShowAllSplits, false );
  addItem( itemShowAllSplits, QStringLiteral( "ShowAllSplits" ) );
  KConfigSkeleton::ItemBool  *itemShowPlannedScheduleDates;
  itemShowPlannedScheduleDates = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowPlannedScheduleDates" ), mShowPlannedScheduleDates, false );
  addItem( itemShowPlannedScheduleDates, QStringLiteral( "ShowPlannedScheduleDates" ) );
  KConfigSkeleton::ItemBool  *itemShowGrid;
  itemShowGrid = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowGrid" ), mShowGrid, true );
  addItem( itemShowGrid, QStringLiteral( "ShowGrid" ) );
  KConfigSkeleton::ItemBool  *itemShowLedgerFilter;
  itemShowLedgerFilter = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowLedgerFilter" ), mShowLedgerFilter, true );
  addItem( itemShowLedgerFilter, QStringLiteral( "ShowLedgerFilter" ) );
  KConfigSkeleton::ItemBool  *itemShowFancyMarker;
  itemShowFancyMarker = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowFancyMarker" ), mShowFancyMarker, true );
  addItem( itemShowFancyMarker, QStringLiteral( "ShowFancyMarker" ) );
  KConfigSkeleton::ItemBool  *itemShowFiscalMarker;
  itemShowFiscalMarker = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowFiscalMarker" ), mShowFiscalMarker, true );
  addItem( itemShowFiscalMarker, QStringLiteral( "ShowFiscalMarker" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesShowReconciliationMarker;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Off");
    valuesShowReconciliationMarker.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Last");
    valuesShowReconciliationMarker.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("All");
    valuesShowReconciliationMarker.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemShowReconciliationMarker;
  itemShowReconciliationMarker = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ShowReconciliationMarker" ), mShowReconciliationMarker, valuesShowReconciliationMarker, All );
  addItem( itemShowReconciliationMarker, QStringLiteral( "ShowReconciliationMarker" ) );
  KConfigSkeleton::ItemInt  *itemFiscalYearBegin;
  itemFiscalYearBegin = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "FiscalYearBegin" ), mFiscalYearBegin, 0 );
  itemFiscalYearBegin->setMinValue(0);
  itemFiscalYearBegin->setMaxValue(11);
  addItem( itemFiscalYearBegin, QStringLiteral( "FiscalYearBegin" ) );
  KConfigSkeleton::ItemInt  *itemFiscalYearBeginDay;
  itemFiscalYearBeginDay = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "FiscalYearBeginDay" ), mFiscalYearBeginDay, 1 );
  itemFiscalYearBeginDay->setMinValue(1);
  itemFiscalYearBeginDay->setMaxValue(31);
  addItem( itemFiscalYearBeginDay, QStringLiteral( "FiscalYearBeginDay" ) );
  KConfigSkeleton::ItemDateTime  *itemStartDate;
  itemStartDate = new KConfigSkeleton::ItemDateTime( currentGroup(), QStringLiteral( "StartDate" ), mStartDate, QDateTime::fromString("1900-01-01T00:00:00", Qt::ISODate) );
  addItem( itemStartDate, QStringLiteral( "StartDate" ) );
  KConfigSkeleton::ItemString  *itemLogPath;
  itemLogPath = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "logPath" ), mLogPath );
  addItem( itemLogPath, QStringLiteral( "logPath" ) );
  KConfigSkeleton::ItemBool  *itemLogImportedStatements;
  itemLogImportedStatements = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "logImportedStatements" ), mLogImportedStatements );
  addItem( itemLogImportedStatements, QStringLiteral( "logImportedStatements" ) );
  KConfigSkeleton::ItemBool  *itemLogOfxTransactions;
  itemLogOfxTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "logOfxTransactions" ), mLogOfxTransactions );
  addItem( itemLogOfxTransactions, QStringLiteral( "logOfxTransactions" ) );
  KConfigSkeleton::ItemBool  *itemUseSystemFont;
  itemUseSystemFont = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useSystemFont" ), mUseSystemFont, false );
  addItem( itemUseSystemFont, QStringLiteral( "useSystemFont" ) );
  KConfigSkeleton::ItemFont  *itemListCellFont;
  itemListCellFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "listCellFont" ), mListCellFont );
  addItem( itemListCellFont, QStringLiteral( "listCellFont" ) );
  KConfigSkeleton::ItemFont  *itemListHeaderFont;
  itemListHeaderFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "listHeaderFont" ), mListHeaderFont );
  addItem( itemListHeaderFont, QStringLiteral( "listHeaderFont" ) );
  KConfigSkeleton::ItemString  *itemIconsTheme;
  itemIconsTheme = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "IconsTheme" ), mIconsTheme, QStringLiteral( "system" ) );
  addItem( itemIconsTheme, QStringLiteral( "IconsTheme" ) );
  KConfigSkeleton::ItemString  *itemSortNormalView;
  itemSortNormalView = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "sortNormalView" ), mSortNormalView, QStringLiteral( "1,-9,-4" ) );
  addItem( itemSortNormalView, QStringLiteral( "sortNormalView" ) );
  KConfigSkeleton::ItemString  *itemSortReconcileView;
  itemSortReconcileView = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "sortReconcileView" ), mSortReconcileView, QStringLiteral( "1,-4" ) );
  addItem( itemSortReconcileView, QStringLiteral( "sortReconcileView" ) );
  KConfigSkeleton::ItemString  *itemSortSearchView;
  itemSortSearchView = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "sortSearchView" ), mSortSearchView, QStringLiteral( "1,-9,-4" ) );
  addItem( itemSortSearchView, QStringLiteral( "sortSearchView" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesinitialDateFieldCursorPosition;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Day");
    valuesinitialDateFieldCursorPosition.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Month");
    valuesinitialDateFieldCursorPosition.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Year");
    valuesinitialDateFieldCursorPosition.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemInitialDateFieldCursorPosition;
  itemInitialDateFieldCursorPosition = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "initialDateFieldCursorPosition" ), mInitialDateFieldCursorPosition, valuesinitialDateFieldCursorPosition, Day );
  addItem( itemInitialDateFieldCursorPosition, QStringLiteral( "initialDateFieldCursorPosition" ) );
  KConfigSkeleton::ItemInt  *itemDefaultReconciliationState;
  itemDefaultReconciliationState = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "defaultReconciliationState" ), mDefaultReconciliationState, 0 );
  addItem( itemDefaultReconciliationState, QStringLiteral( "defaultReconciliationState" ) );

  setCurrentGroup( QStringLiteral( "Import options" ) );

  KConfigSkeleton::ItemInt  *itemMatchInterval;
  itemMatchInterval = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "matchInterval" ), mMatchInterval, 4 );
  addItem( itemMatchInterval, QStringLiteral( "matchInterval" ) );
  KConfigSkeleton::ItemBool  *itemAskForPayeeCategory;
  itemAskForPayeeCategory = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "askForPayeeCategory" ), mAskForPayeeCategory, false );
  addItem( itemAskForPayeeCategory, QStringLiteral( "askForPayeeCategory" ) );

  setCurrentGroup( QStringLiteral( "Internal Options" ) );

  KConfigSkeleton::ItemDateTime  *itemLastUsedPostDate;
  itemLastUsedPostDate = new KConfigSkeleton::ItemDateTime( currentGroup(), QStringLiteral( "lastUsedPostDate" ), mLastUsedPostDate, QDateTime() );
  addItem( itemLastUsedPostDate, QStringLiteral( "lastUsedPostDate" ) );

  setCurrentGroup( QStringLiteral( "QIF Options" ) );

  KConfigSkeleton::ItemString  *itemQifCash;
  itemQifCash = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "qifCash" ), mQifCash );
  addItem( itemQifCash, QStringLiteral( "qifCash" ) );
  KConfigSkeleton::ItemString  *itemQifBank;
  itemQifBank = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "qifBank" ), mQifBank );
  addItem( itemQifBank, QStringLiteral( "qifBank" ) );
  KConfigSkeleton::ItemString  *itemQifCreditCard;
  itemQifCreditCard = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "qifCreditCard" ), mQifCreditCard );
  addItem( itemQifCreditCard, QStringLiteral( "qifCreditCard" ) );
  KConfigSkeleton::ItemString  *itemQifAsset;
  itemQifAsset = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "qifAsset" ), mQifAsset );
  addItem( itemQifAsset, QStringLiteral( "qifAsset" ) );
  KConfigSkeleton::ItemString  *itemQifOpeningBalance;
  itemQifOpeningBalance = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "qifOpeningBalance" ), mQifOpeningBalance );
  addItem( itemQifOpeningBalance, QStringLiteral( "qifOpeningBalance" ) );
  KConfigSkeleton::ItemString  *itemQifInvoice;
  itemQifInvoice = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "qifInvoice" ), mQifInvoice );
  addItem( itemQifInvoice, QStringLiteral( "qifInvoice" ) );

  setCurrentGroup( QStringLiteral( "Account View Settings" ) );

  KConfigSkeleton::ItemBool  *itemShowAccountsExpanded;
  itemShowAccountsExpanded = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showAccountsExpanded" ), mShowAccountsExpanded, false );
  addItem( itemShowAccountsExpanded, QStringLiteral( "showAccountsExpanded" ) );

  setCurrentGroup( QStringLiteral( "Chart Settings" ) );

  KConfigSkeleton::ItemInt  *itemMaximumLegendItems;
  itemMaximumLegendItems = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "MaximumLegendItems" ), mMaximumLegendItems, 10 );
  itemMaximumLegendItems->setMinValue(0);
  itemMaximumLegendItems->setMaxValue(100);
  addItem( itemMaximumLegendItems, QStringLiteral( "MaximumLegendItems" ) );
  KConfigSkeleton::ItemInt  *itemLineWidth;
  itemLineWidth = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "LineWidth" ), mLineWidth, 2 );
  itemLineWidth->setMinValue(0);
  itemLineWidth->setMaxValue(256);
  addItem( itemLineWidth, QStringLiteral( "LineWidth" ) );
  KConfigSkeleton::ItemInt  *itemChartsPalette;
  itemChartsPalette = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "ChartsPalette" ), mChartsPalette, 2 );
  itemChartsPalette->setMinValue(0);
  itemChartsPalette->setMaxValue(2);
  addItem( itemChartsPalette, QStringLiteral( "ChartsPalette" ) );
  KConfigSkeleton::ItemString  *itemCssFileDefault;
  itemCssFileDefault = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "CssFileDefault" ), mCssFileDefault );
  addItem( itemCssFileDefault, QStringLiteral( "CssFileDefault" ) );

  setCurrentGroup( QStringLiteral( "Forecast Options" ) );

  KConfigSkeleton::ItemInt  *itemForecastMethod;
  itemForecastMethod = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "forecastMethod" ), mForecastMethod, 0 );
  addItem( itemForecastMethod, QStringLiteral( "forecastMethod" ) );
  KConfigSkeleton::ItemLongLong  *itemForecastDays;
  itemForecastDays = new KConfigSkeleton::ItemLongLong( currentGroup(), QStringLiteral( "forecastDays" ), mForecastDays, 90 );
  itemForecastDays->setMinValue(1);
  itemForecastDays->setMaxValue(999);
  addItem( itemForecastDays, QStringLiteral( "forecastDays" ) );
  KConfigSkeleton::ItemLongLong  *itemForecastAccountCycle;
  itemForecastAccountCycle = new KConfigSkeleton::ItemLongLong( currentGroup(), QStringLiteral( "forecastAccountCycle" ), mForecastAccountCycle, 30 );
  itemForecastAccountCycle->setMinValue(1);
  itemForecastAccountCycle->setMaxValue(999);
  addItem( itemForecastAccountCycle, QStringLiteral( "forecastAccountCycle" ) );
  KConfigSkeleton::ItemLongLong  *itemForecastCycles;
  itemForecastCycles = new KConfigSkeleton::ItemLongLong( currentGroup(), QStringLiteral( "forecastCycles" ), mForecastCycles, 3 );
  itemForecastCycles->setMinValue(1);
  itemForecastCycles->setMaxValue(999);
  addItem( itemForecastCycles, QStringLiteral( "forecastCycles" ) );
  KConfigSkeleton::ItemLongLong  *itemBeginForecastDay;
  itemBeginForecastDay = new KConfigSkeleton::ItemLongLong( currentGroup(), QStringLiteral( "beginForecastDay" ), mBeginForecastDay, 0 );
  itemBeginForecastDay->setMinValue(0);
  itemBeginForecastDay->setMaxValue(31);
  addItem( itemBeginForecastDay, QStringLiteral( "beginForecastDay" ) );
  KConfigSkeleton::ItemInt  *itemHistoryMethod;
  itemHistoryMethod = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "historyMethod" ), mHistoryMethod, 1 );
  addItem( itemHistoryMethod, QStringLiteral( "historyMethod" ) );
  KConfigSkeleton::ItemBool  *itemSkipOpeningDate;
  itemSkipOpeningDate = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "skipOpeningDate" ), mSkipOpeningDate, true );
  addItem( itemSkipOpeningDate, QStringLiteral( "skipOpeningDate" ) );
  KConfigSkeleton::ItemBool  *itemIncludeFutureTransactions;
  itemIncludeFutureTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "includeFutureTransactions" ), mIncludeFutureTransactions, true );
  addItem( itemIncludeFutureTransactions, QStringLiteral( "includeFutureTransactions" ) );
  KConfigSkeleton::ItemBool  *itemIncludeScheduledTransactions;
  itemIncludeScheduledTransactions = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "includeScheduledTransactions" ), mIncludeScheduledTransactions, true );
  addItem( itemIncludeScheduledTransactions, QStringLiteral( "includeScheduledTransactions" ) );
}

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

