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

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

class YHConfig : public TDEConfigSkeleton
{
  public:
    enum { Animation, FlashingIcon, StaticIcon, NoIcon };
    enum { PlayPause, HideShowPlaylist };
    enum { Nothing, ChangeVolume, ChangeTrack };
    enum { None, Shift, Alt, Ctrl };
    static const char* const EnumModifierToString[];

    static YHConfig *self();
    ~YHConfig();

    /**
      Set State Icon Display
    */
    static
    void setStateIconDisplay( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "StateIconDisplay" ) ))
        self()->mStateIconDisplay = v;
    }

    /**
      Get State Icon Display
    */
    static
    int stateIconDisplay()
    {
      return self()->mStateIconDisplay;
    }

    /**
      Set Icon
    */
    static
    void setIcon( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "icon" ) ))
        self()->mIcon = v;
    }

    /**
      Get Icon
    */
    static
    int icon()
    {
      return self()->mIcon;
    }

    /**
      Set Show a tooltip for the current track
    */
    static
    void setTip( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "tip" ) ))
        self()->mTip = v;
    }

    /**
      Get Show a tooltip for the current track
    */
    static
    bool tip()
    {
      return self()->mTip;
    }

    /**
      Set Announce tracks with a popup window
    */
    static
    void setPassivePopup( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "passivePopup" ) ))
        self()->mPassivePopup = v;
    }

    /**
      Get Announce tracks with a popup window
    */
    static
    bool passivePopup()
    {
      return self()->mPassivePopup;
    }

    /**
      Set Display popup window for x seconds
    */
    static
    void setPassivePopupTimeout( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "passivePopupTimeout" ) ))
        self()->mPassivePopupTimeout = v;
    }

    /**
      Get Display popup window for x seconds
    */
    static
    int passivePopupTimeout()
    {
      return self()->mPassivePopupTimeout;
    }

    /**
      Set Show covers in popup window and tooltip
    */
    static
    void setPassivePopupCovers( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "passivePopupCovers" ) ))
        self()->mPassivePopupCovers = v;
    }

    /**
      Get Show covers in popup window and tooltip
    */
    static
    bool passivePopupCovers()
    {
      return self()->mPassivePopupCovers;
    }

    /**
      Set Show buttons in popup window
    */
    static
    void setPassivePopupButtons( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "passivePopupButtons" ) ))
        self()->mPassivePopupButtons = v;
    }

    /**
      Get Show buttons in popup window
    */
    static
    bool passivePopupButtons()
    {
      return self()->mPassivePopupButtons;
    }

    /**
      Set Mode
    */
    static
    void setMiddleMouseAction( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "MiddleMouseAction" ) ))
        self()->mMiddleMouseAction = v;
    }

    /**
      Get Mode
    */
    static
    int middleMouseAction()
    {
      return self()->mMiddleMouseAction;
    }

    /**
      Set mousewheelaction_$(Modifier)
    */
    static
    void setMouseWheelAction( int i, int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "MouseWheelAction%1" ).arg( TQString::fromLatin1( EnumModifierToString[i] ) ) ))
        self()->mMouseWheelAction[i] = v;
    }

    /**
      Get mousewheelaction_$(Modifier)
    */
    static
    int mouseWheelAction( int i )
    {
      return self()->mMouseWheelAction[i];
    }

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


    // Young Hickory
    int mStateIconDisplay;
    int mIcon;
    bool mTip;
    bool mPassivePopup;
    int mPassivePopupTimeout;
    bool mPassivePopupCovers;
    bool mPassivePopupButtons;
    int mMiddleMouseAction;
    int mMouseWheelAction[4];

  private:
};

#endif

