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

#include "gwenviewconfig.h"

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

using namespace Gwenview;

namespace Gwenview {

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

}
Q_GLOBAL_STATIC(GwenviewConfigHelper, s_globalGwenviewConfig)
GwenviewConfig *GwenviewConfig::self()
{
  if (!s_globalGwenviewConfig()->q) {
    new GwenviewConfig;
    s_globalGwenviewConfig()->q->read();
  }

  return s_globalGwenviewConfig()->q;
}

GwenviewConfig::GwenviewConfig( )
  : KConfigSkeleton( QStringLiteral( "gwenviewrc" ) )
{
  Q_ASSERT(!s_globalGwenviewConfig()->q);
  s_globalGwenviewConfig()->q = this;
  setCurrentGroup( QStringLiteral( "SideBar" ) );

  QStringList defaultPreferredMetaInfoKeyList;
  defaultPreferredMetaInfoKeyList.append( QString::fromUtf8( "General.Name" ) );
  defaultPreferredMetaInfoKeyList.append( QString::fromUtf8( "General.ImageSize" ) );
  defaultPreferredMetaInfoKeyList.append( QString::fromUtf8( "Exif.Photo.ExposureTime" ) );
  defaultPreferredMetaInfoKeyList.append( QString::fromUtf8( "Exif.Photo.Flash" ) );

  KConfigSkeleton::ItemStringList  *itemPreferredMetaInfoKeyList;
  itemPreferredMetaInfoKeyList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "PreferredMetaInfoKeyList" ), mPreferredMetaInfoKeyList, defaultPreferredMetaInfoKeyList );
  addItem( itemPreferredMetaInfoKeyList, QStringLiteral( "PreferredMetaInfoKeyList" ) );
  KConfigSkeleton::ItemBool  *itemSideBarVisible;
  itemSideBarVisible = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "IsVisible ViewMode" ), mSideBarVisible, false );
  addItem( itemSideBarVisible, QStringLiteral( "SideBarVisible" ) );
  KConfigSkeleton::ItemBool  *itemSideBarVisibleViewModeFullScreen;
  itemSideBarVisibleViewModeFullScreen = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "IsVisible ViewMode FullScreen" ), mSideBarVisibleViewModeFullScreen, false );
  addItem( itemSideBarVisibleViewModeFullScreen, QStringLiteral( "SideBarVisibleViewModeFullScreen" ) );
  QList<int> defaultSideBarSplitterSizes;

  KConfigSkeleton::ItemIntList  *itemSideBarSplitterSizes;
  itemSideBarSplitterSizes = new KConfigSkeleton::ItemIntList( currentGroup(), QStringLiteral( "SideBarSplitterSizes" ), mSideBarSplitterSizes, defaultSideBarSplitterSizes );
  addItem( itemSideBarSplitterSizes, QStringLiteral( "SideBarSplitterSizes" ) );

  setCurrentGroup( QStringLiteral( "General" ) );

  KConfigSkeleton::ItemBool  *itemBirdEyeViewEnabled;
  itemBirdEyeViewEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "BirdEyeViewEnabled" ), mBirdEyeViewEnabled, true );
  addItem( itemBirdEyeViewEnabled, QStringLiteral( "BirdEyeViewEnabled" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesBackgroundColorMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::Auto");
    valuesBackgroundColorMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::Light");
    valuesBackgroundColorMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::Neutral");
    valuesBackgroundColorMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::Dark");
    valuesBackgroundColorMode.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemBackgroundColorMode;
  itemBackgroundColorMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "BackgroundColorMode" ), mBackgroundColorMode, valuesBackgroundColorMode, Gwenview::DocumentView::Auto );
  addItem( itemBackgroundColorMode, QStringLiteral( "BackgroundColorMode" ) );
  KConfigSkeleton::ItemBool  *itemHistoryEnabled;
  itemHistoryEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "HistoryEnabled" ), mHistoryEnabled, true );
  addItem( itemHistoryEnabled, QStringLiteral( "HistoryEnabled" ) );
  KConfigSkeleton::ItemDouble  *itemPercentageOfMemoryUsageWarning;
  itemPercentageOfMemoryUsageWarning = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "PercentageOfMemoryUsageWarning" ), mPercentageOfMemoryUsageWarning, 0.5 );
  addItem( itemPercentageOfMemoryUsageWarning, QStringLiteral( "PercentageOfMemoryUsageWarning" ) );
  QStringList defaultBlackListedExtensions;
  defaultBlackListedExtensions.append( QString::fromUtf8( "new" ) );

  KConfigSkeleton::ItemStringList  *itemBlackListedExtensions;
  itemBlackListedExtensions = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "BlackListedExtensions" ), mBlackListedExtensions, defaultBlackListedExtensions );
  addItem( itemBlackListedExtensions, QStringLiteral( "BlackListedExtensions" ) );
  KConfigSkeleton::ItemBool  *itemThumbnailBarIsVisible;
  itemThumbnailBarIsVisible = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ThumbnailBarIsVisible" ), mThumbnailBarIsVisible, false );
  addItem( itemThumbnailBarIsVisible, QStringLiteral( "ThumbnailBarIsVisible" ) );
  KConfigSkeleton::ItemInt  *itemJPEGQuality;
  itemJPEGQuality = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "JPEGQuality" ), mJPEGQuality, 90 );
  addItem( itemJPEGQuality, QStringLiteral( "JPEGQuality" ) );
  KConfigSkeleton::ItemPath  *itemLastTargetDir;
  itemLastTargetDir = new KConfigSkeleton::ItemPath( currentGroup(), QStringLiteral( "LastTargetDir" ), mLastTargetDir );
  addItem( itemLastTargetDir, QStringLiteral( "LastTargetDir" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesThumbnailBarOrientation;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Dummy");
    valuesThumbnailBarOrientation.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Horizontal");
    valuesThumbnailBarOrientation.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Vertical");
    valuesThumbnailBarOrientation.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemThumbnailBarOrientation;
  itemThumbnailBarOrientation = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ThumbnailBarOrientation" ), mThumbnailBarOrientation, valuesThumbnailBarOrientation, Qt::Horizontal );
  addItem( itemThumbnailBarOrientation, QStringLiteral( "ThumbnailBarOrientation" ) );
  KConfigSkeleton::ItemInt  *itemThumbnailBarRowCount;
  itemThumbnailBarRowCount = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "ThumbnailBarRowCount" ), mThumbnailBarRowCount, 1 );
  addItem( itemThumbnailBarRowCount, QStringLiteral( "ThumbnailBarRowCount" ) );
  KConfigSkeleton::ItemBool  *itemUrlNavigatorIsEditable;
  itemUrlNavigatorIsEditable = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "UrlNavigatorIsEditable" ), mUrlNavigatorIsEditable, false );
  addItem( itemUrlNavigatorIsEditable, QStringLiteral( "UrlNavigatorIsEditable" ) );
  KConfigSkeleton::ItemBool  *itemUrlNavigatorShowFullPath;
  itemUrlNavigatorShowFullPath = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "UrlNavigatorShowFullPath" ), mUrlNavigatorShowFullPath, false );
  addItem( itemUrlNavigatorShowFullPath, QStringLiteral( "UrlNavigatorShowFullPath" ) );
  KConfigSkeleton::ItemString  *itemDefaultExportPluginText;
  itemDefaultExportPluginText = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "DefaultExportPluginText" ), mDefaultExportPluginText );
  addItem( itemDefaultExportPluginText, QStringLiteral( "DefaultExportPluginText" ) );
  KConfigSkeleton::ItemString  *itemSideBarPage;
  itemSideBarPage = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "SideBarPage" ), mSideBarPage, QStringLiteral( "information" ) );
  addItem( itemSideBarPage, QStringLiteral( "SideBarPage" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesFullScreenBackground;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FullScreenBackground::Image");
    valuesFullScreenBackground.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("FullScreenBackground::Black");
    valuesFullScreenBackground.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemFullScreenBackground;
  itemFullScreenBackground = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "FullScreenBackground" ), mFullScreenBackground, valuesFullScreenBackground, Gwenview::FullScreenBackground::Image );
  addItem( itemFullScreenBackground, QStringLiteral( "FullScreenBackground" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesThumbnailActions;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ThumbnailActions::AllButtons");
    valuesThumbnailActions.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ThumbnailActions::ShowSelectionButtonOnly");
    valuesThumbnailActions.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ThumbnailActions::None");
    valuesThumbnailActions.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemThumbnailActions;
  itemThumbnailActions = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ThumbnailActions" ), mThumbnailActions, valuesThumbnailActions, Gwenview::ThumbnailActions::AllButtons );
  addItem( itemThumbnailActions, QStringLiteral( "ThumbnailActions" ) );
  KConfigSkeleton::ItemInt  *itemLastUsedVersion;
  itemLastUsedVersion = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "LastUsedVersion" ), mLastUsedVersion, -1 );
  addItem( itemLastUsedVersion, QStringLiteral( "LastUsedVersion" ) );

  setCurrentGroup( QStringLiteral( "FullScreen" ) );

  QStringList defaultFullScreenPreferredMetaInfoKeyList;
  defaultFullScreenPreferredMetaInfoKeyList.append( QString::fromUtf8( "General.Name" ) );
  defaultFullScreenPreferredMetaInfoKeyList.append( QString::fromUtf8( "Exif.Image.DateTime" ) );

  KConfigSkeleton::ItemStringList  *itemFullScreenPreferredMetaInfoKeyList;
  itemFullScreenPreferredMetaInfoKeyList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "FullScreenPreferredMetaInfoKeyList" ), mFullScreenPreferredMetaInfoKeyList, defaultFullScreenPreferredMetaInfoKeyList );
  addItem( itemFullScreenPreferredMetaInfoKeyList, QStringLiteral( "FullScreenPreferredMetaInfoKeyList" ) );
  KConfigSkeleton::ItemString  *itemFullScreenColorScheme;
  itemFullScreenColorScheme = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "FullScreenColorScheme" ), mFullScreenColorScheme );
  addItem( itemFullScreenColorScheme, QStringLiteral( "FullScreenColorScheme" ) );
  KConfigSkeleton::ItemInt  *itemFullScreenBarHeight;
  itemFullScreenBarHeight = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "FullScreenBarHeight" ), mFullScreenBarHeight );
  addItem( itemFullScreenBarHeight, QStringLiteral( "FullScreenBarHeight" ) );
  KConfigSkeleton::ItemBool  *itemShowFullScreenThumbnails;
  itemShowFullScreenThumbnails = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowFullScreenThumbnails" ), mShowFullScreenThumbnails, true );
  addItem( itemShowFullScreenThumbnails, QStringLiteral( "ShowFullScreenThumbnails" ) );
  KConfigSkeleton::ItemBool  *itemFullScreenModeActive;
  itemFullScreenModeActive = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "FullScreenModeActive" ), mFullScreenModeActive, false );
  addItem( itemFullScreenModeActive, QStringLiteral( "FullScreenModeActive" ) );

  setCurrentGroup( QStringLiteral( "ImageView" ) );

  QList<KConfigSkeleton::ItemEnum::Choice> valuesAlphaBackgroundMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AbstractImageView::AlphaBackgroundNone");
    valuesAlphaBackgroundMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AbstractImageView::AlphaBackgroundCheckBoard");
    valuesAlphaBackgroundMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("AbstractImageView::AlphaBackgroundSolid");
    valuesAlphaBackgroundMode.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemAlphaBackgroundMode;
  itemAlphaBackgroundMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "AlphaBackgroundMode" ), mAlphaBackgroundMode, valuesAlphaBackgroundMode, Gwenview::AbstractImageView::AlphaBackgroundNone );
  addItem( itemAlphaBackgroundMode, QStringLiteral( "AlphaBackgroundMode" ) );
  KConfigSkeleton::ItemColor  *itemAlphaBackgroundColor;
  itemAlphaBackgroundColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "AlphaBackgroundColor" ), mAlphaBackgroundColor, QColor( "#ffffff" ) );
  addItem( itemAlphaBackgroundColor, QStringLiteral( "AlphaBackgroundColor" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesMouseWheelBehavior;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MouseWheelBehavior::Scroll");
    valuesMouseWheelBehavior.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MouseWheelBehavior::Browse");
    valuesMouseWheelBehavior.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("MouseWheelBehavior::Zoom");
    valuesMouseWheelBehavior.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemMouseWheelBehavior;
  itemMouseWheelBehavior = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "MouseWheelBehavior" ), mMouseWheelBehavior, valuesMouseWheelBehavior, Gwenview::MouseWheelBehavior::Scroll );
  addItem( itemMouseWheelBehavior, QStringLiteral( "MouseWheelBehavior" ) );
  KConfigSkeleton::ItemBool  *itemEnlargeSmallerImages;
  itemEnlargeSmallerImages = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "EnlargeSmallerImages" ), mEnlargeSmallerImages, false );
  addItem( itemEnlargeSmallerImages, QStringLiteral( "EnlargeSmallerImages" ) );
  KConfigSkeleton::ItemBool  *itemApplyExifOrientation;
  itemApplyExifOrientation = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ApplyExifOrientation" ), mApplyExifOrientation, true );
  addItem( itemApplyExifOrientation, QStringLiteral( "ApplyExifOrientation" ) );
  QList<int> defaultThumbnailSplitterSizes;
  defaultThumbnailSplitterSizes.append( 350 );
  defaultThumbnailSplitterSizes.append(  100 );

  KConfigSkeleton::ItemIntList  *itemThumbnailSplitterSizes;
  itemThumbnailSplitterSizes = new KConfigSkeleton::ItemIntList( currentGroup(), QStringLiteral( "ThumbnailSplitterSizes" ), mThumbnailSplitterSizes, defaultThumbnailSplitterSizes );
  addItem( itemThumbnailSplitterSizes, QStringLiteral( "ThumbnailSplitterSizes" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesAnimationMethod;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::NoAnimation");
    valuesAnimationMethod.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::SoftwareAnimation");
    valuesAnimationMethod.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DocumentView::GLAnimation");
    valuesAnimationMethod.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemAnimationMethod;
  itemAnimationMethod = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "AnimationMethod" ), mAnimationMethod, valuesAnimationMethod, Gwenview::DocumentView::SoftwareAnimation );
  addItem( itemAnimationMethod, QStringLiteral( "AnimationMethod" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesZoomMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ZoomMode::Autofit");
    valuesZoomMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ZoomMode::KeepSame");
    valuesZoomMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ZoomMode::Individual");
    valuesZoomMode.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemZoomMode;
  itemZoomMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ZoomMode" ), mZoomMode, valuesZoomMode, Gwenview::ZoomMode::Autofit );
  addItem( itemZoomMode, QStringLiteral( "ZoomMode" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesRenderingIntent;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("RenderingIntent::Perceptual");
    valuesRenderingIntent.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("RenderingIntent::Relative");
    valuesRenderingIntent.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemRenderingIntent;
  itemRenderingIntent = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "RenderingIntent" ), mRenderingIntent, valuesRenderingIntent, Gwenview::RenderingIntent::Perceptual );
  addItem( itemRenderingIntent, QStringLiteral( "RenderingIntent" ) );
  KConfigSkeleton::ItemBool  *itemNoMonitorICC;
  itemNoMonitorICC = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "NoMonitorICC" ), mNoMonitorICC, true );
  addItem( itemNoMonitorICC, QStringLiteral( "NoMonitorICC" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesNavigationEndNotification;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NavigationEndNotification::NeverWarn");
    valuesNavigationEndNotification.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NavigationEndNotification::WarnOnSlideshow");
    valuesNavigationEndNotification.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NavigationEndNotification::AlwaysWarn");
    valuesNavigationEndNotification.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemNavigationEndNotification;
  itemNavigationEndNotification = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "NavigationEndNotification" ), mNavigationEndNotification, valuesNavigationEndNotification, Gwenview::SlideShow::NavigationEndNotification::WarnOnSlideshow );
  addItem( itemNavigationEndNotification, QStringLiteral( "NavigationEndNotification" ) );

  setCurrentGroup( QStringLiteral( "ThumbnailView" ) );

  KConfigSkeleton::ItemInt  *itemThumbnailSize;
  itemThumbnailSize = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "ThumbnailSize" ), mThumbnailSize, 128 );
  addItem( itemThumbnailSize, QStringLiteral( "ThumbnailSize" ) );
  KConfigSkeleton::ItemDouble  *itemThumbnailAspectRatio;
  itemThumbnailAspectRatio = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "ThumbnailAspectRatio" ), mThumbnailAspectRatio, 3./2. );
  addItem( itemThumbnailAspectRatio, QStringLiteral( "ThumbnailAspectRatio" ) );
  KConfigSkeleton::ItemBool  *itemLowResourceUsageMode;
  itemLowResourceUsageMode = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "LowResourceUsageMode" ), mLowResourceUsageMode, false );
  addItem( itemLowResourceUsageMode, QStringLiteral( "LowResourceUsageMode" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesSorting;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Sorting::Name");
    valuesSorting.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Sorting::Size");
    valuesSorting.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Sorting::Date");
    valuesSorting.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Sorting::Rating");
    valuesSorting.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemSorting;
  itemSorting = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "Sorting" ), mSorting, valuesSorting, Gwenview::Sorting::Name );
  addItem( itemSorting, QStringLiteral( "Sorting" ) );
  KConfigSkeleton::ItemBool  *itemSortDescending;
  itemSortDescending = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SortDescending" ), mSortDescending, false );
  addItem( itemSortDescending, QStringLiteral( "SortDescending" ) );
  KConfigSkeleton::ItemInt  *itemThumbnailDetails;
  itemThumbnailDetails = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "ThumbnailDetails" ), mThumbnailDetails, 1 );
  addItem( itemThumbnailDetails, QStringLiteral( "ThumbnailDetails" ) );
  KConfigSkeleton::ItemBool  *itemListVideos;
  itemListVideos = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ListVideos" ), mListVideos, true );
  addItem( itemListVideos, QStringLiteral( "ListVideos" ) );
  KConfigSkeleton::ItemBool  *itemAutoplayVideos;
  itemAutoplayVideos = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AutoplayVideos" ), mAutoplayVideos, false );
  addItem( itemAutoplayVideos, QStringLiteral( "AutoplayVideos" ) );

  setCurrentGroup( QStringLiteral( "Print" ) );

  KConfigSkeleton::ItemInt  *itemPrintPosition;
  itemPrintPosition = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "PrintPosition" ), mPrintPosition, 
                Qt::AlignHCenter | Qt::AlignVCenter
             );
  addItem( itemPrintPosition, QStringLiteral( "PrintPosition" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesPrintScaleMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PrintOptionsPage::NoScale");
    valuesPrintScaleMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PrintOptionsPage::ScaleToPage");
    valuesPrintScaleMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PrintOptionsPage::ScaleToCustomSize");
    valuesPrintScaleMode.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemPrintScaleMode;
  itemPrintScaleMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "PrintScaleMode" ), mPrintScaleMode, valuesPrintScaleMode, Gwenview::PrintOptionsPage::ScaleToPage );
  addItem( itemPrintScaleMode, QStringLiteral( "PrintScaleMode" ) );
  KConfigSkeleton::ItemBool  *itemPrintEnlargeSmallerImages;
  itemPrintEnlargeSmallerImages = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "PrintEnlargeSmallerImages" ), mPrintEnlargeSmallerImages, false );
  addItem( itemPrintEnlargeSmallerImages, QStringLiteral( "PrintEnlargeSmallerImages" ) );
  KConfigSkeleton::ItemDouble  *itemPrintWidth;
  itemPrintWidth = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "PrintWidth" ), mPrintWidth, 15.0 );
  addItem( itemPrintWidth, QStringLiteral( "PrintWidth" ) );
  KConfigSkeleton::ItemDouble  *itemPrintHeight;
  itemPrintHeight = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "PrintHeight" ), mPrintHeight, 10.0 );
  addItem( itemPrintHeight, QStringLiteral( "PrintHeight" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesPrintUnit;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PrintOptionsPage::Millimeters");
    valuesPrintUnit.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PrintOptionsPage::Centimeters");
    valuesPrintUnit.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("PrintOptionsPage::Inches");
    valuesPrintUnit.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemPrintUnit;
  itemPrintUnit = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "PrintUnit" ), mPrintUnit, valuesPrintUnit, Gwenview::PrintOptionsPage::Centimeters );
  addItem( itemPrintUnit, QStringLiteral( "PrintUnit" ) );
  KConfigSkeleton::ItemBool  *itemPrintKeepRatio;
  itemPrintKeepRatio = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "PrintKeepRatio" ), mPrintKeepRatio, true );
  addItem( itemPrintKeepRatio, QStringLiteral( "PrintKeepRatio" ) );

  setCurrentGroup( QStringLiteral( "slide show" ) );

  KConfigSkeleton::ItemBool  *itemRandom;
  itemRandom = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "random" ), mRandom, false );
  addItem( itemRandom, QStringLiteral( "random" ) );
  KConfigSkeleton::ItemBool  *itemFullscreen;
  itemFullscreen = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "fullscreen" ), mFullscreen, true );
  addItem( itemFullscreen, QStringLiteral( "fullscreen" ) );
  KConfigSkeleton::ItemBool  *itemLoop;
  itemLoop = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "loop" ), mLoop, false );
  addItem( itemLoop, QStringLiteral( "loop" ) );
  KConfigSkeleton::ItemBool  *itemStopAtEnd;
  itemStopAtEnd = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "stop at end" ), mStopAtEnd, false );
  addItem( itemStopAtEnd, QStringLiteral( "stopAtEnd" ) );
  KConfigSkeleton::ItemDouble  *itemInterval;
  itemInterval = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "interval" ), mInterval, 5.0 );
  addItem( itemInterval, QStringLiteral( "interval" ) );

  setCurrentGroup( QStringLiteral( "RedEyeReduction" ) );

  KConfigSkeleton::ItemInt  *itemRedEyeReductionDiameter;
  itemRedEyeReductionDiameter = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "RedEyeReductionDiameter" ), mRedEyeReductionDiameter, 24 );
  addItem( itemRedEyeReductionDiameter, QStringLiteral( "RedEyeReductionDiameter" ) );

  setCurrentGroup( QStringLiteral( "Crop" ) );

  KConfigSkeleton::ItemBool  *itemCropAdvancedSettingsEnabled;
  itemCropAdvancedSettingsEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CropAdvancedSettingsEnabled" ), mCropAdvancedSettingsEnabled, false );
  addItem( itemCropAdvancedSettingsEnabled, QStringLiteral( "CropAdvancedSettingsEnabled" ) );
  KConfigSkeleton::ItemBool  *itemCropPreserveAspectRatio;
  itemCropPreserveAspectRatio = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "CropPreserveAspectRatio" ), mCropPreserveAspectRatio, false );
  addItem( itemCropPreserveAspectRatio, QStringLiteral( "CropPreserveAspectRatio" ) );
  KConfigSkeleton::ItemInt  *itemCropRatioIndex;
  itemCropRatioIndex = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "CropRatioIndex" ), mCropRatioIndex, -1 );
  addItem( itemCropRatioIndex, QStringLiteral( "CropRatioIndex" ) );
  KConfigSkeleton::ItemDouble  *itemCropRatioWidth;
  itemCropRatioWidth = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "CropRatioWidth" ), mCropRatioWidth, 0 );
  addItem( itemCropRatioWidth, QStringLiteral( "CropRatioWidth" ) );
  KConfigSkeleton::ItemDouble  *itemCropRatioHeight;
  itemCropRatioHeight = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "CropRatioHeight" ), mCropRatioHeight, 0 );
  addItem( itemCropRatioHeight, QStringLiteral( "CropRatioHeight" ) );

  setCurrentGroup( QStringLiteral( "StatusBar" ) );

  KConfigSkeleton::ItemBool  *itemStatusBarVisibleBrowseMode;
  itemStatusBarVisibleBrowseMode = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "IsVisible BrowseMode" ), mStatusBarVisibleBrowseMode, true );
  addItem( itemStatusBarVisibleBrowseMode, QStringLiteral( "StatusBarVisibleBrowseMode" ) );
  KConfigSkeleton::ItemBool  *itemStatusBarVisibleViewMode;
  itemStatusBarVisibleViewMode = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "IsVisible ViewMode" ), mStatusBarVisibleViewMode, true );
  addItem( itemStatusBarVisibleViewMode, QStringLiteral( "StatusBarVisibleViewMode" ) );
  KConfigSkeleton::ItemBool  *itemStatusBarVisibleViewModeFullScreen;
  itemStatusBarVisibleViewModeFullScreen = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "IsVisible ViewMode FullScreen" ), mStatusBarVisibleViewModeFullScreen, false );
  addItem( itemStatusBarVisibleViewModeFullScreen, QStringLiteral( "StatusBarVisibleViewModeFullScreen" ) );
}

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

