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

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

class Prefs : public TDEConfigSkeleton
{
  public:
    class EnumTimeDisplayMode
    {
      public:
      enum type { TRACK_SEC, TRACK_REM, TOTAL_SEC, TOTAL_REM, COUNT };
    };
    class EnumSelectedEncoding
    {
      public:
      enum type { AUTO, utf8, CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257, COUNT };
    };

    static Prefs *self();
    ~Prefs();

    /**
      Set Output Volume
    */
    static
    void setVolume( uint v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Volume" ) ))
        self()->mVolume = v;
    }

    /**
      Get Output Volume
    */
    static
    uint volume()
    {
      return self()->mVolume;
    }

    /**
      Set Play random tracks.
    */
    static
    void setRandomPlay( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "RandomPlay" ) ))
        self()->mRandomPlay = v;
    }

    /**
      Get Play random tracks.
    */
    static
    bool randomPlay()
    {
      return self()->mRandomPlay;
    }

    /**
      Set Show an icon in the system tray.
    */
    static
    void setDocking( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Docking" ) ))
        self()->mDocking = v;
    }

    /**
      Get Show an icon in the system tray.
    */
    static
    bool docking()
    {
      return self()->mDocking;
    }

    /**
      Set TrackAnnouncement
    */
    static
    void setTrackAnnouncement( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "TrackAnnouncement" ) ))
        self()->mTrackAnnouncement = v;
    }

    /**
      Get TrackAnnouncement
    */
    static
    bool trackAnnouncement()
    {
      return self()->mTrackAnnouncement;
    }

    /**
      Set Start playing when a CD is inserted.
    */
    static
    void setAutoplay( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Autoplay" ) ))
        self()->mAutoplay = v;
    }

    /**
      Get Start playing when a CD is inserted.
    */
    static
    bool autoplay()
    {
      return self()->mAutoplay;
    }

    /**
      Set Stop playing the CD on program exit.
    */
    static
    void setStopExit( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "StopExit" ) ))
        self()->mStopExit = v;
    }

    /**
      Get Stop playing the CD on program exit.
    */
    static
    bool stopExit()
    {
      return self()->mStopExit;
    }

    /**
      Set Eject CD when playing is finished.
    */
    static
    void setEjectOnFinish( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "EjectOnFinish" ) ))
        self()->mEjectOnFinish = v;
    }

    /**
      Get Eject CD when playing is finished.
    */
    static
    bool ejectOnFinish()
    {
      return self()->mEjectOnFinish;
    }

    /**
      Set Loop tracks.
    */
    static
    void setLooping( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Looping" ) ))
        self()->mLooping = v;
    }

    /**
      Get Loop tracks.
    */
    static
    bool looping()
    {
      return self()->mLooping;
    }

    /**
      Set Skip interval.
    */
    static
    void setSkipDelta( uint v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "SkipDelta" ) ))
        self()->mSkipDelta = v;
    }

    /**
      Get Skip interval.
    */
    static
    uint skipDelta()
    {
      return self()->mSkipDelta;
    }

    /**
      Set TimeDisplay
    */
    static
    void setTimeDisplayMode( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "TimeDisplayMode" ) ))
        self()->mTimeDisplayMode = v;
    }

    /**
      Get TimeDisplay
    */
    static
    int timeDisplayMode()
    {
      return self()->mTimeDisplayMode;
    }

    /**
      Set Name of the CD-ROM device.
    */
    static
    void setCdDevice( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "cdDevice" ) ))
        self()->mCdDevice = v;
    }

    /**
      Get Name of the CD-ROM device.
    */
    static
    TQString cdDevice()
    {
      return self()->mCdDevice;
    }

    /**
      Set The audio backend KsCD uses.
    */
    static
    void setAudioSystem( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AudioSystem" ) ))
        self()->mAudioSystem = v;
    }

    /**
      Get The audio backend KsCD uses.
    */
    static
    TQString audioSystem()
    {
      return self()->mAudioSystem;
    }

    /**
      Set The audio device KsCD uses.
    */
    static
    void setAudioDevice( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AudioDevice" ) ))
        self()->mAudioDevice = v;
    }

    /**
      Get The audio device KsCD uses.
    */
    static
    TQString audioDevice()
    {
      return self()->mAudioDevice;
    }

    /**
      Set Use direct digital playback.
    */
    static
    void setDigitalPlayback( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "DigitalPlayback" ) ))
        self()->mDigitalPlayback = v;
    }

    /**
      Get Use direct digital playback.
    */
    static
    bool digitalPlayback()
    {
      return self()->mDigitalPlayback;
    }

    /**
      Set The foreground color that will be used in the LCD display.
    */
    static
    void setLedColor( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ledColor" ) ))
        self()->mLedColor = v;
    }

    /**
      Get The foreground color that will be used in the LCD display.
    */
    static
    TQColor ledColor()
    {
      return self()->mLedColor;
    }

    /**
      Set The font that will be used for the LCD display.
    */
    static
    void setLedFont( const TQFont & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ledFont" ) ))
        self()->mLedFont = v;
    }

    /**
      Get The font that will be used for the LCD display.
    */
    static
    TQFont ledFont()
    {
      return self()->mLedFont;
    }

    /**
      Set The background color that will be used for the LCD display.
    */
    static
    void setBackColor( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "BackColor" ) ))
        self()->mBackColor = v;
    }

    /**
      Get The background color that will be used for the LCD display.
    */
    static
    TQColor backColor()
    {
      return self()->mBackColor;
    }

    /**
      Set Allow encoding selection.
    */
    static
    void setSelectEncoding( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "SelectEncoding" ) ))
        self()->mSelectEncoding = v;
    }

    /**
      Get Allow encoding selection.
    */
    static
    bool selectEncoding()
    {
      return self()->mSelectEncoding;
    }

    /**
      Set SelectedEncoding
    */
    static
    void setSelectedEncoding( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "SelectedEncoding" ) ))
        self()->mSelectedEncoding = v;
    }

    /**
      Get SelectedEncoding
    */
    static
    int selectedEncoding()
    {
      return self()->mSelectedEncoding;
    }

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


    // GENERAL
    uint mVolume;
    bool mRandomPlay;
    bool mDocking;
    bool mTrackAnnouncement;
    bool mAutoplay;
    bool mStopExit;
    bool mEjectOnFinish;
    bool mLooping;
    uint mSkipDelta;
    int mTimeDisplayMode;
    TQString mCdDevice;
    TQString mAudioSystem;
    TQString mAudioDevice;
    bool mDigitalPlayback;
    TQColor mLedColor;
    TQFont mLedFont;
    TQColor mBackColor;
    bool mSelectEncoding;
    int mSelectedEncoding;

  private:
};

#endif

