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

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

#include <kaudiocreator_workman.h>
class Prefs : public TDEConfigSkeleton
{
  public:

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


    /**
      Get Perform automatic CDDB lookups.
    */
    static
    bool performCDDBauto()
    {
      return self()->mPerformCDDBauto;
    }


    /**
      Get Automatically rip all tracks upon a successful CDDB retrieval
    */
    static
    bool autoRip()
    {
      return self()->mAutoRip;
    }

    /**
      Set CD device
    */
    static
    void setDevice( const TQStringList & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "device" ) ))
        self()->mDevice = v;
    }

    /**
      Get CD device
    */
    static
    TQStringList device()
    {
      return self()->mDevice;
    }


    /**
      Get Prompt if information is not complete
    */
    static
    bool promptIfIncompleteInfo()
    {
      return self()->mPromptIfIncompleteInfo;
    }


    /**
      Get Automatically remove jobs when finished
    */
    static
    bool removeCompletedJobs()
    {
      return self()->mRemoveCompletedJobs;
    }


    /**
      Get Regexp to match file names with
    */
    static
    TQString replaceInput()
    {
      return self()->mReplaceInput;
    }


    /**
      Get String used to replace the parts that match the selection regexp
    */
    static
    TQString replaceOutput()
    {
      return self()->mReplaceOutput;
    }


    /**
      Get seperateMultiArtist
    */
    static
    bool seperateMultiArtist()
    {
      return self()->mSeperateMultiArtist;
    }


    /**
      Get genericArtist
    */
    static
    TQString genericArtist()
    {
      return self()->mGenericArtist;
    }


    /**
      Get delimiter
    */
    static
    TQString delimiter()
    {
      return self()->mDelimiter;
    }


    /**
      Get format_artistTitle
    */
    static
    bool format_artistTitle()
    {
      return self()->mFormat_artistTitle;
    }


    /**
      Get format_titleArtist
    */
    static
    bool format_titleArtist()
    {
      return self()->mFormat_titleArtist;
    }


    /**
      Get Currently selected encoder
    */
    static
    int currentEncoder()
    {
      return self()->mCurrentEncoder;
    }

    /**
      Set Last encoder in the list
    */
    static
    void setLastKnownEncoder( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "lastKnownEncoder" ) ))
        self()->mLastKnownEncoder = v;
    }

    /**
      Get Last encoder in the list
    */
    static
    int lastKnownEncoder()
    {
      return self()->mLastKnownEncoder;
    }


    /**
      Get Number of files to encode at a time
    */
    static
    int numberOfCpus()
    {
      return self()->mNumberOfCpus;
    }


    /**
      Get Location pattern for encoded files
    */
    static
    TQString fileFormat()
    {
      return self()->mFileFormat;
    }


    /**
      Get Encoder priority
    */
    static
    int niceLevel()
    {
      return self()->mNiceLevel;
    }


    /**
      Get Enable full decoder debugging
    */
    static
    bool fullDecoderDebug()
    {
      return self()->mFullDecoderDebug;
    }


    /**
      Get Number of tracks to rip at a time
    */
    static
    int maxWavFiles()
    {
      return self()->mMaxWavFiles;
    }


    /**
      Get Beep after rip
    */
    static
    bool beepAfterRip()
    {
      return self()->mBeepAfterRip;
    }


    /**
      Get Eject CD after last track is ripped
    */
    static
    bool autoEjectAfterRip()
    {
      return self()->mAutoEjectAfterRip;
    }


    /**
      Get Auto-eject delay
    */
    static
    int autoEjectDelay()
    {
      return self()->mAutoEjectDelay;
    }


    /**
      Get Specify temporary directory
    */
    static
    bool enableTempDir()
    {
      return self()->mEnableTempDir;
    }


    /**
      Get Location of temporary directory to use
    */
    static
    TQString tempDir()
    {
      return self()->mTempDir;
    }

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


    // CD
    bool mPerformCDDBauto;
    bool mAutoRip;
    TQStringList mDevice;
    bool mPromptIfIncompleteInfo;

    // General
    bool mRemoveCompletedJobs;
    TQString mReplaceInput;
    TQString mReplaceOutput;
    bool mSeperateMultiArtist;
    TQString mGenericArtist;
    TQString mDelimiter;
    bool mFormat_artistTitle;
    bool mFormat_titleArtist;

    // Encoder
    int mCurrentEncoder;
    int mLastKnownEncoder;
    int mNumberOfCpus;
    TQString mFileFormat;
    int mNiceLevel;
    bool mFullDecoderDebug;

    // Ripper
    int mMaxWavFiles;
    bool mBeepAfterRip;
    bool mAutoEjectAfterRip;
    int mAutoEjectDelay;
    bool mEnableTempDir;
    TQString mTempDir;

  private:
};

#endif

