// 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 <QtCore/QFile>

using namespace Gwenview;

namespace Gwenview {

class GwenviewConfigHelper
{
  public:
    GwenviewConfigHelper() : q(nullptr) {}
    ~GwenviewConfigHelper() { delete q; }
    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" ) );

  setCurrentGroup( QStringLiteral( "General" ) );

  KConfigSkeleton::ItemInt  *itemViewBackgroundValue;
  itemViewBackgroundValue = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "ViewBackgroundValue" ), mViewBackgroundValue, 100 );
  addItem( itemViewBackgroundValue, QStringLiteral( "ViewBackgroundValue" ) );
  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::ItemBool  *itemStatusBarIsVisible;
  itemStatusBarIsVisible = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "StatusBarIsVisible" ), mStatusBarIsVisible, true );
  addItem( itemStatusBarIsVisible, QStringLiteral( "StatusBarIsVisible" ) );
  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" ) );

  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, 75 );
  addItem( itemFullScreenBarHeight, QStringLiteral( "FullScreenBarHeight" ) );
  KConfigSkeleton::ItemBool  *itemShowFullScreenThumbnails;
  itemShowFullScreenThumbnails = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ShowFullScreenThumbnails" ), mShowFullScreenThumbnails, true );
  addItem( itemShowFullScreenThumbnails, QStringLiteral( "ShowFullScreenThumbnails" ) );

  setCurrentGroup( QStringLiteral( "ImageView" ) );

  QList<KConfigSkeleton::ItemEnum::Choice> valuesAlphaBackgroundMode;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("RasterImageView::AlphaBackgroundCheckBoard");
    valuesAlphaBackgroundMode.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("RasterImageView::AlphaBackgroundSolid");
    valuesAlphaBackgroundMode.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemAlphaBackgroundMode;
  itemAlphaBackgroundMode = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "AlphaBackgroundMode" ), mAlphaBackgroundMode, valuesAlphaBackgroundMode, Gwenview::RasterImageView::AlphaBackgroundCheckBoard );
  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  *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" ) );

  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  *itemDeleteThumbnailCacheOnExit;
  itemDeleteThumbnailCacheOnExit = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "DeleteThumbnailCacheOnExit" ), mDeleteThumbnailCacheOnExit, false );
  addItem( itemDeleteThumbnailCacheOnExit, QStringLiteral( "DeleteThumbnailCacheOnExit" ) );
  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  *itemSorting;
  itemSorting = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "Sorting" ), mSorting, valuesSorting, Gwenview::Sorting::Name );
  addItem( itemSorting, QStringLiteral( "Sorting" ) );
  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" ) );

  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" ) );
}

GwenviewConfig::~GwenviewConfig()
{
  s_globalGwenviewConfig()->q = nullptr;
}

