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

#include "akregatorconfig.h"

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

using namespace Akregator;

namespace Akregator {

class SettingsHelper
{
  public:
    SettingsHelper() noexcept : q(nullptr) {}
    ~SettingsHelper() noexcept { delete q; q = nullptr; }
    SettingsHelper(const SettingsHelper&) = delete;
    SettingsHelper& operator=(const SettingsHelper&) = delete;
    Settings *q;
};

}
Q_GLOBAL_STATIC(SettingsHelper, s_globalSettings)
Settings *Settings::self()
{
  if (!s_globalSettings()->q) {
    new Settings;
    s_globalSettings()->q->read();
  }

  return s_globalSettings()->q;
}

Settings::Settings( )
  : KConfigSkeleton( QStringLiteral( "akregatorrc" ) )
{
  Q_ASSERT(!s_globalSettings()->q);
  s_globalSettings()->q = this;
  setCurrentGroup( QStringLiteral( "View" ) );

  KConfigSkeleton::ItemBool  *itemHideReadFeeds;
  itemHideReadFeeds = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Hide Read Feeds" ), mHideReadFeeds, false );
  addItem( itemHideReadFeeds, QStringLiteral( "HideReadFeeds" ) );
  KConfigSkeleton::ItemBool  *itemShowMenuBar;
  itemShowMenuBar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowMenuBar" ), mShowMenuBar, true );
  addItem( itemShowMenuBar, QStringLiteral( "ShowMenuBar" ) );
  KConfigSkeleton::ItemBool  *itemLockFeedsInPlace;
  itemLockFeedsInPlace = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Lock Feeds In Place" ), mLockFeedsInPlace, false );
  addItem( itemLockFeedsInPlace, QStringLiteral( "LockFeedsInPlace" ) );
  KConfigSkeleton::ItemBool  *itemAutoExpandFolders;
  itemAutoExpandFolders = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Expand Folders" ), mAutoExpandFolders, false );
  addItem( itemAutoExpandFolders, QStringLiteral( "AutoExpandFolders" ) );
  KConfigSkeleton::ItemBool  *itemShowQuickFilter;
  itemShowQuickFilter = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Show Quick Filter" ), mShowQuickFilter, true );
  addItem( itemShowQuickFilter, QStringLiteral( "ShowQuickFilter" ) );
  KConfigSkeleton::ItemInt  *itemStatusFilter;
  itemStatusFilter = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Status Filter" ), mStatusFilter, 0 );
  addItem( itemStatusFilter, QStringLiteral( "StatusFilter" ) );
  KConfigSkeleton::ItemString  *itemTextFilter;
  itemTextFilter = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Text Filter" ), mTextFilter );
  addItem( itemTextFilter, QStringLiteral( "TextFilter" ) );
  KConfigSkeleton::ItemInt  *itemViewMode;
  itemViewMode = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "View Mode" ), mViewMode, 0 );
  addItem( itemViewMode, QStringLiteral( "ViewMode" ) );
  QList<int> defaultSplitter1Sizes;
  defaultSplitter1Sizes.append( 225 );
  defaultSplitter1Sizes.append( 650 );

  KConfigSkeleton::ItemIntList  *itemSplitter1Sizes;
  itemSplitter1Sizes = new KConfigSkeleton::ItemIntList( currentGroup(), QStringLiteral( "Splitter 1 Sizes" ), mSplitter1Sizes, defaultSplitter1Sizes );
  addItem( itemSplitter1Sizes, QStringLiteral( "Splitter1Sizes" ) );
  QList<int> defaultSplitter2Sizes;
  defaultSplitter2Sizes.append( 50 );
  defaultSplitter2Sizes.append( 350 );

  KConfigSkeleton::ItemIntList  *itemSplitter2Sizes;
  itemSplitter2Sizes = new KConfigSkeleton::ItemIntList( currentGroup(), QStringLiteral( "Splitter 2 Sizes" ), mSplitter2Sizes, defaultSplitter2Sizes );
  addItem( itemSplitter2Sizes, QStringLiteral( "Splitter2Sizes" ) );

  setCurrentGroup( QStringLiteral( "Security" ) );

  KConfigSkeleton::ItemBool  *itemCheckPhishingUrl;
  itemCheckPhishingUrl = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CheckPhishingUrl" ), mCheckPhishingUrl, false );
  addItem( itemCheckPhishingUrl, QStringLiteral( "CheckPhishingUrl" ) );
  KConfigSkeleton::ItemBool  *itemLoadExternalReferences;
  itemLoadExternalReferences = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "LoadExternalReferences" ), mLoadExternalReferences, true );
  addItem( itemLoadExternalReferences, QStringLiteral( "LoadExternalReferences" ) );

  setCurrentGroup( QStringLiteral( "Appearance" ) );

  KConfigSkeleton::ItemString  *itemStandardFont;
  itemStandardFont = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Standard Font" ), mStandardFont );
  addItem( itemStandardFont, QStringLiteral( "StandardFont" ) );
  KConfigSkeleton::ItemString  *itemFixedFont;
  itemFixedFont = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Fixed Font" ), mFixedFont );
  addItem( itemFixedFont, QStringLiteral( "FixedFont" ) );
  KConfigSkeleton::ItemString  *itemSerifFont;
  itemSerifFont = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Serif Font" ), mSerifFont );
  addItem( itemSerifFont, QStringLiteral( "SerifFont" ) );
  KConfigSkeleton::ItemString  *itemSansSerifFont;
  itemSansSerifFont = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Sans Serif Font" ), mSansSerifFont );
  addItem( itemSansSerifFont, QStringLiteral( "SansSerifFont" ) );
  KConfigSkeleton::ItemBool  *itemUseCustomColors;
  itemUseCustomColors = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "UseCustomColors" ), mUseCustomColors, false );
  addItem( itemUseCustomColors, QStringLiteral( "UseCustomColors" ) );
  KConfigSkeleton::ItemColor  *itemColorUnreadArticles;
  itemColorUnreadArticles = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "ColorUnreadArticles" ), mColorUnreadArticles, QColor( "#0000FF" ) );
  addItem( itemColorUnreadArticles, QStringLiteral( "ColorUnreadArticles" ) );
  KConfigSkeleton::ItemColor  *itemColorNewArticles;
  itemColorNewArticles = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "ColorNewArticles" ), mColorNewArticles, QColor( "#FF0000" ) );
  addItem( itemColorNewArticles, QStringLiteral( "ColorNewArticles" ) );

  setCurrentGroup( QStringLiteral( "HTML Settings" ) );

  KConfigSkeleton::ItemStringList  *itemFonts;
  itemFonts = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "Fonts" ), mFonts );
  addItem( itemFonts, QStringLiteral( "Fonts" ) );
  KConfigSkeleton::ItemInt  *itemMediumFontSize;
  itemMediumFontSize = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "MediumFontSize" ), mMediumFontSize, 12 );
  addItem( itemMediumFontSize, QStringLiteral( "MediumFontSize" ) );
  KConfigSkeleton::ItemInt  *itemMinimumFontSize;
  itemMinimumFontSize = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "MinimumFontSize" ), mMinimumFontSize, 8 );
  addItem( itemMinimumFontSize, QStringLiteral( "MinimumFontSize" ) );
  KConfigSkeleton::ItemBool  *itemAccessKeyEnabled;
  itemAccessKeyEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AccessKeyEnabled" ), mAccessKeyEnabled, true );
  addItem( itemAccessKeyEnabled, QStringLiteral( "AccessKeyEnabled" ) );

  setCurrentGroup( QStringLiteral( "Archive" ) );

  QList<KConfigSkeleton::ItemEnum::Choice> valuesArchiveMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("keepAllArticles");
    valuesArchiveMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("limitArticleNumber");
    valuesArchiveMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("limitArticleAge");
    valuesArchiveMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("disableArchiving");
    valuesArchiveMode.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemArchiveMode;
  itemArchiveMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ArchiveMode" ), mArchiveMode, valuesArchiveMode, EnumArchiveMode::keepAllArticles );
  addItem( itemArchiveMode, QStringLiteral( "ArchiveMode" ) );
  KConfigSkeleton::ItemInt  *itemMaxArticleAge;
  itemMaxArticleAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Max Article Age" ), mMaxArticleAge, 60 );
  addItem( itemMaxArticleAge, QStringLiteral( "MaxArticleAge" ) );
  KConfigSkeleton::ItemInt  *itemMaxArticleNumber;
  itemMaxArticleNumber = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Max Article Number" ), mMaxArticleNumber, 1000 );
  addItem( itemMaxArticleNumber, QStringLiteral( "MaxArticleNumber" ) );
  KConfigSkeleton::ItemBool  *itemDoNotExpireImportantArticles;
  itemDoNotExpireImportantArticles = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Do Not Expire Important Articles" ), mDoNotExpireImportantArticles, true );
  addItem( itemDoNotExpireImportantArticles, QStringLiteral( "DoNotExpireImportantArticles" ) );

  setCurrentGroup( QStringLiteral( "Network" ) );

  KConfigSkeleton::ItemInt  *itemConcurrentFetches;
  itemConcurrentFetches = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Concurrent Fetches" ), mConcurrentFetches, 6 );
  addItem( itemConcurrentFetches, QStringLiteral( "ConcurrentFetches" ) );
  KConfigSkeleton::ItemBool  *itemUseHTMLCache;
  itemUseHTMLCache = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Use HTML Cache" ), mUseHTMLCache, true );
  addItem( itemUseHTMLCache, QStringLiteral( "UseHTMLCache" ) );
  KConfigSkeleton::ItemString  *itemCustomUserAgent;
  itemCustomUserAgent = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Custom UserAgent" ), mCustomUserAgent );
  addItem( itemCustomUserAgent, QStringLiteral( "CustomUserAgent" ) );

  setCurrentGroup( QStringLiteral( "General" ) );

  KConfigSkeleton::ItemBool  *itemFetchOnStartup;
  itemFetchOnStartup = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Fetch On Startup" ), mFetchOnStartup, false );
  addItem( itemFetchOnStartup, QStringLiteral( "FetchOnStartup" ) );
  KConfigSkeleton::ItemBool  *itemMarkAllFeedsReadOnStartup;
  itemMarkAllFeedsReadOnStartup = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Mark All Feeds Read On Startup" ), mMarkAllFeedsReadOnStartup, false );
  addItem( itemMarkAllFeedsReadOnStartup, QStringLiteral( "MarkAllFeedsReadOnStartup" ) );
  KConfigSkeleton::ItemBool  *itemUseIntervalFetch;
  itemUseIntervalFetch = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Use Interval Fetch" ), mUseIntervalFetch, true );
  addItem( itemUseIntervalFetch, QStringLiteral( "UseIntervalFetch" ) );
  KConfigSkeleton::ItemInt  *itemAutoFetchInterval;
  itemAutoFetchInterval = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Auto Fetch Interval" ), mAutoFetchInterval, 30 );
  addItem( itemAutoFetchInterval, QStringLiteral( "AutoFetchInterval" ) );
  KConfigSkeleton::ItemBool  *itemUseNotifications;
  itemUseNotifications = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Use Notifications" ), mUseNotifications, false );
  addItem( itemUseNotifications, QStringLiteral( "UseNotifications" ) );
  KConfigSkeleton::ItemBool  *itemShowTrayIcon;
  itemShowTrayIcon = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Show Tray Icon" ), mShowTrayIcon, true );
  addItem( itemShowTrayIcon, QStringLiteral( "ShowTrayIcon" ) );
  KConfigSkeleton::ItemBool  *itemShowUnreadInTaskbar;
  itemShowUnreadInTaskbar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Show Unread In Taskbar" ), mShowUnreadInTaskbar, true );
  addItem( itemShowUnreadInTaskbar, QStringLiteral( "ShowUnreadInTaskbar" ) );
  KConfigSkeleton::ItemBool  *itemDisableIntroduction;
  itemDisableIntroduction = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Disable Introduction" ), mDisableIntroduction, false );
  addItem( itemDisableIntroduction, QStringLiteral( "DisableIntroduction" ) );
  KConfigSkeleton::ItemBool  *itemDisableSaveAsNotification;
  itemDisableSaveAsNotification = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Disable Save As Notification" ), mDisableSaveAsNotification, false );
  addItem( itemDisableSaveAsNotification, QStringLiteral( "DisableSaveAsNotification" ) );
  KConfigSkeleton::ItemString  *itemPreviousNewFeaturesMD5;
  itemPreviousNewFeaturesMD5 = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "PreviousNewFeaturesMD5" ), mPreviousNewFeaturesMD5 );
  addItem( itemPreviousNewFeaturesMD5, QStringLiteral( "PreviousNewFeaturesMD5" ) );
  KConfigSkeleton::ItemBool  *itemPlasmaActivitySupport;
  itemPlasmaActivitySupport = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "PlasmaActivitySupport" ), mPlasmaActivitySupport, false );
  addItem( itemPlasmaActivitySupport, QStringLiteral( "PlasmaActivitySupport" ) );

  setCurrentGroup( QStringLiteral( "Browser" ) );

  KConfigSkeleton::ItemBool  *itemEnableJavascript;
  itemEnableJavascript = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "EnableJavascript" ), mEnableJavascript, true );
  addItem( itemEnableJavascript, QStringLiteral( "EnableJavascript" ) );
  KConfigSkeleton::ItemBool  *itemAlwaysShowTabBar;
  itemAlwaysShowTabBar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Always Show Tab Bar" ), mAlwaysShowTabBar, false );
  addItem( itemAlwaysShowTabBar, QStringLiteral( "AlwaysShowTabBar" ) );
  KConfigSkeleton::ItemBool  *itemCloseButtonOnTabs;
  itemCloseButtonOnTabs = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Close Button On Tabs" ), mCloseButtonOnTabs, false );
  addItem( itemCloseButtonOnTabs, QStringLiteral( "CloseButtonOnTabs" ) );
  KConfigSkeleton::ItemBool  *itemNewWindowInTab;
  itemNewWindowInTab = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "New Window In Tab" ), mNewWindowInTab, false );
  addItem( itemNewWindowInTab, QStringLiteral( "NewWindowInTab" ) );
  KConfigSkeleton::ItemBool  *itemExternalBrowserUseKdeDefault;
  itemExternalBrowserUseKdeDefault = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "External Browser Use Kde Default" ), mExternalBrowserUseKdeDefault, true );
  addItem( itemExternalBrowserUseKdeDefault, QStringLiteral( "ExternalBrowserUseKdeDefault" ) );
  KConfigSkeleton::ItemBool  *itemExternalBrowserUseCustomCommand;
  itemExternalBrowserUseCustomCommand = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "External Browser Use Custom Command" ), mExternalBrowserUseCustomCommand, false );
  addItem( itemExternalBrowserUseCustomCommand, QStringLiteral( "ExternalBrowserUseCustomCommand" ) );
  KConfigSkeleton::ItemString  *itemExternalBrowserCustomCommand;
  itemExternalBrowserCustomCommand = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "External Browser Custom Command" ), mExternalBrowserCustomCommand, QStringLiteral( "firefox %u" ) );
  addItem( itemExternalBrowserCustomCommand, QStringLiteral( "ExternalBrowserCustomCommand" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesLMBBehaviour;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("OpenInInternalBrowser");
    valuesLMBBehaviour.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("OpenInBackground");
    valuesLMBBehaviour.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("OpenInExternalBrowser");
    valuesLMBBehaviour.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemLMBBehaviour;
  itemLMBBehaviour = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "LMB Behaviour" ), mLMBBehaviour, valuesLMBBehaviour, EnumLMBBehaviour::OpenInInternalBrowser );
  addItem( itemLMBBehaviour, QStringLiteral( "LMBBehaviour" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesMMBBehaviour;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("OpenInInternalBrowser");
    valuesMMBBehaviour.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("OpenInBackground");
    valuesMMBBehaviour.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("OpenInExternalBrowser");
    valuesMMBBehaviour.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemMMBBehaviour;
  itemMMBBehaviour = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "MMB Behaviour" ), mMMBBehaviour, valuesMMBBehaviour, EnumMMBBehaviour::OpenInExternalBrowser );
  addItem( itemMMBBehaviour, QStringLiteral( "MMBBehaviour" ) );

  setCurrentGroup( QStringLiteral( "Columns" ) );

  QList<int> defaultFeedlistHeaderStates;

  KConfigSkeleton::ItemIntList  *itemFeedlistHeaderStates;
  itemFeedlistHeaderStates = new KConfigSkeleton::ItemIntList( currentGroup(), QStringLiteral( "Feedlist Header States" ), mFeedlistHeaderStates, defaultFeedlistHeaderStates );
  addItem( itemFeedlistHeaderStates, QStringLiteral( "FeedlistHeaderStates" ) );
  QList<int> defaultArticlelistHeaderStates;

  KConfigSkeleton::ItemIntList  *itemArticlelistHeaderStates;
  itemArticlelistHeaderStates = new KConfigSkeleton::ItemIntList( currentGroup(), QStringLiteral( "Articlelist Header States" ), mArticlelistHeaderStates, defaultArticlelistHeaderStates );
  addItem( itemArticlelistHeaderStates, QStringLiteral( "ArticlelistHeaderStates" ) );
  KConfigSkeleton::ItemInt  *itemArticlelistSortColumn;
  itemArticlelistSortColumn = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Articlelist Sort Column" ), mArticlelistSortColumn, 0 );
  addItem( itemArticlelistSortColumn, QStringLiteral( "ArticlelistSortColumn" ) );
  KConfigSkeleton::ItemInt  *itemArticlelistSortOrder;
  itemArticlelistSortOrder = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Articlelist Sort Order" ), mArticlelistSortOrder, 0 );
  addItem( itemArticlelistSortOrder, QStringLiteral( "ArticlelistSortOrder" ) );

  setCurrentGroup( QStringLiteral( "Advanced" ) );

  KConfigSkeleton::ItemString  *itemArchiveBackend;
  itemArchiveBackend = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Archive Backend" ), mArchiveBackend, QStringLiteral( "metakit" ) );
  addItem( itemArchiveBackend, QStringLiteral( "ArchiveBackend" ) );
  KConfigSkeleton::ItemBool  *itemUseMarkReadDelay;
  itemUseMarkReadDelay = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Delay Mark Read" ), mUseMarkReadDelay, true );
  addItem( itemUseMarkReadDelay, QStringLiteral( "UseMarkReadDelay" ) );
  KConfigSkeleton::ItemInt  *itemMarkReadDelay;
  itemMarkReadDelay = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Mark Read Delay" ), mMarkReadDelay, 0 );
  addItem( itemMarkReadDelay, QStringLiteral( "MarkReadDelay" ) );
  KConfigSkeleton::ItemBool  *itemResetQuickFilterOnNodeChange;
  itemResetQuickFilterOnNodeChange = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Reset Quick Filter On Node Change" ), mResetQuickFilterOnNodeChange, false );
  addItem( itemResetQuickFilterOnNodeChange, QStringLiteral( "ResetQuickFilterOnNodeChange" ) );
}

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

