// This file is generated by tdeconfig_compiler from slideshowconfig.kcfg.
// All changes you do to this file will be lost.
#ifndef GWENVIEW_SLIDESHOWCONFIG_H
#define GWENVIEW_SLIDESHOWCONFIG_H

#include <gvcore/libgwenview_export.h>

#include <tdeconfigskeleton.h>
#include <kdebug.h>

namespace Gwenview {

class LIBGWENVIEW_EXPORT SlideShowConfig : public TDEConfigSkeleton
{
  public:

    static SlideShowConfig *self();
    ~SlideShowConfig();

    /**
      Set Display slide show images in random order
    */
    static
    void setRandom( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "random" ) ))
        self()->mRandom = v;
    }

    /**
      Get Display slide show images in random order
    */
    static
    bool random()
    {
      return self()->mRandom;
    }

    /**
      Set Show slideshow in fullscreen mode
    */
    static
    void setFullscreen( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "fullscreen" ) ))
        self()->mFullscreen = v;
    }

    /**
      Get Show slideshow in fullscreen mode
    */
    static
    bool fullscreen()
    {
      return self()->mFullscreen;
    }

    /**
      Set Loop on images
    */
    static
    void setLoop( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "loop" ) ))
        self()->mLoop = v;
    }

    /**
      Get Loop on images
    */
    static
    bool loop()
    {
      return self()->mLoop;
    }

    /**
      Set Stop at last image of folder
    */
    static
    void setStopAtEnd( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "stopAtEnd" ) ))
        self()->mStopAtEnd = v;
    }

    /**
      Get Stop at last image of folder
    */
    static
    bool stopAtEnd()
    {
      return self()->mStopAtEnd;
    }

    /**
      Set Delay between images (in seconds)
    */
    static
    void setDelay( double v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "delay" ) ))
        self()->mDelay = v;
    }

    /**
      Get Delay between images (in seconds)
    */
    static
    double delay()
    {
      return self()->mDelay;
    }

    static
    void writeConfig()
    {
      static_cast<TDEConfigSkeleton*>(self())->writeConfig();
    }
  protected:
    SlideShowConfig();
    static SlideShowConfig *mSelf;


    // slide show
    bool mRandom;
    bool mFullscreen;
    bool mLoop;
    bool mStopAtEnd;
    double mDelay;

  private:
};

}

#endif

