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

#include <gvcore/libgwenview_export.h>

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

#include <tqapplication.h>
#include <tqpalette.h>
namespace Gwenview {

class LIBGWENVIEW_EXPORT ImageViewConfig : public TDEConfigSkeleton
{
  public:
    class EnumSmoothAlgorithm
    {
      public:
      enum type { None, Fast, Normal, Best, COUNT };
    };
    class EnumZoomMode
    {
      public:
      enum type { FitWindow, FitWidth, FitHeight, Free, COUNT };
    };

    static ImageViewConfig *self();
    ~ImageViewConfig();

    /**
      Set smooth scale
    */
    static
    void setSmoothAlgorithm( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "smoothAlgorithm" ) ))
        self()->mSmoothAlgorithm = v;
    }

    /**
      Get smooth scale
    */
    static
    int smoothAlgorithm()
    {
      return self()->mSmoothAlgorithm;
    }

    /**
      Set delayed smoothing
    */
    static
    void setDelayedSmoothing( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "delayedSmoothing" ) ))
        self()->mDelayedSmoothing = v;
    }

    /**
      Get delayed smoothing
    */
    static
    bool delayedSmoothing()
    {
      return self()->mDelayedSmoothing;
    }

    /**
      Set background color
    */
    static
    void setBackgroundColor( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "backgroundColor" ) ))
        self()->mBackgroundColor = v;
    }

    /**
      Get background color
    */
    static
    TQColor backgroundColor()
    {
      return self()->mBackgroundColor;
    }

    /**
      Set enlarge small images
    */
    static
    void setEnlargeSmallImages( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "enlargeSmallImages" ) ))
        self()->mEnlargeSmallImages = v;
    }

    /**
      Get enlarge small images
    */
    static
    bool enlargeSmallImages()
    {
      return self()->mEnlargeSmallImages;
    }

    /**
      Set show scroll bars
    */
    static
    void setShowScrollBars( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "showScrollBars" ) ))
        self()->mShowScrollBars = v;
    }

    /**
      Get show scroll bars
    */
    static
    bool showScrollBars()
    {
      return self()->mShowScrollBars;
    }

    /**
      Set mouse wheel scrolls image
    */
    static
    void setMouseWheelScroll( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "mouseWheelScroll" ) ))
        self()->mMouseWheelScroll = v;
    }

    /**
      Get mouse wheel scrolls image
    */
    static
    bool mouseWheelScroll()
    {
      return self()->mMouseWheelScroll;
    }

    /**
      Set zoomMode
    */
    static
    void setZoomMode( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "zoomMode" ) ))
        self()->mZoomMode = v;
    }

    /**
      Get zoomMode
    */
    static
    int zoomMode()
    {
      return self()->mZoomMode;
    }

    /**
      Set lockZoom
    */
    static
    void setLockZoom( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "lockZoom" ) ))
        self()->mLockZoom = v;
    }

    /**
      Get lockZoom
    */
    static
    bool lockZoom()
    {
      return self()->mLockZoom;
    }

    /**
      Set max repaint size
    */
    static
    void setMaxRepaintSize( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "maxRepaintSize" ) ))
        self()->mMaxRepaintSize = v;
    }

    /**
      Get max repaint size
    */
    static
    int maxRepaintSize()
    {
      return self()->mMaxRepaintSize;
    }

    /**
      Set max scale repaint size
    */
    static
    void setMaxScaleRepaintSize( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "maxScaleRepaintSize" ) ))
        self()->mMaxScaleRepaintSize = v;
    }

    /**
      Get max scale repaint size
    */
    static
    int maxScaleRepaintSize()
    {
      return self()->mMaxScaleRepaintSize;
    }

    /**
      Set max smooth repaint size
    */
    static
    void setMaxSmoothRepaintSize( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "maxSmoothRepaintSize" ) ))
        self()->mMaxSmoothRepaintSize = v;
    }

    /**
      Get max smooth repaint size
    */
    static
    int maxSmoothRepaintSize()
    {
      return self()->mMaxSmoothRepaintSize;
    }

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


    // pixmap widget
    int mSmoothAlgorithm;
    bool mDelayedSmoothing;
    TQColor mBackgroundColor;
    bool mEnlargeSmallImages;
    bool mShowScrollBars;
    bool mMouseWheelScroll;
    int mZoomMode;
    bool mLockZoom;
    int mMaxRepaintSize;
    int mMaxScaleRepaintSize;
    int mMaxSmoothRepaintSize;

  private:
};

}

#endif

