// This file is generated by tdeconfig_compiler from kmix.kcfg.
// All changes you do to this file will be lost.

#include "kmixsettings.h"

#include <tdelocale.h>

#include <kstaticdeleter.h>

KMixSettings *KMixSettings::mSelf = 0;
static KStaticDeleter<KMixSettings> staticKMixSettingsDeleter;

KMixSettings *KMixSettings::self()
{
  if ( !mSelf ) {
    staticKMixSettingsDeleter.setObject( mSelf, new KMixSettings() );
    mSelf->readConfig();
  }

  return mSelf;
}

KMixSettings::KMixSettings(  )
  : TDEConfigSkeleton( TQString::fromLatin1( "kmixrc" ) )
{
  mSelf = this;
  setCurrentGroup( TQString::fromLatin1( "General" ) );

  TDEConfigSkeleton::ItemBool  *itemAllowDocking;
  itemAllowDocking = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "AllowDocking" ), mAllowDocking, true );
  itemAllowDocking->setLabel( i18n("Enable system tray icon") );
  itemAllowDocking->setWhatsThis( i18n("Docks the mixer into the TDE panel") );
  addItem( itemAllowDocking, TQString::fromLatin1( "AllowDocking" ) );
  TDEConfigSkeleton::ItemBool  *itemTrayVolumeControl;
  itemTrayVolumeControl = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "TrayVolumeControl" ), mTrayVolumeControl, true );
  itemTrayVolumeControl->setLabel( i18n("Enable system tray volume slider") );
  itemTrayVolumeControl->setWhatsThis( i18n("If enabled, clicking on the system tray icon pops up a volume indicator, otherwise it opens the mixer.") );
  addItem( itemTrayVolumeControl, TQString::fromLatin1( "TrayVolumeControl" ) );
  TDEConfigSkeleton::ItemBool  *itemTickmarks;
  itemTickmarks = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "Tickmarks" ), mTickmarks, true );
  itemTickmarks->setLabel( i18n("Show tickmarks") );
  itemTickmarks->setWhatsThis( i18n("Enable/disable tickmark scales on the sliders") );
  addItem( itemTickmarks, TQString::fromLatin1( "Tickmarks" ) );
  TDEConfigSkeleton::ItemBool  *itemLabels;
  itemLabels = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "Labels" ), mLabels, true );
  itemLabels->setLabel( i18n("Show labels") );
  itemLabels->setWhatsThis( i18n("Enables/disables description labels above the sliders") );
  addItem( itemLabels, TQString::fromLatin1( "Labels" ) );
  TQValueList<TDEConfigSkeleton::ItemEnum::Choice> valuesValueStyle;
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "None" );
    choice.label = i18n("None");
    valuesValueStyle.append( choice );
  }
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "Absolute" );
    choice.label = i18n("Absolute");
    valuesValueStyle.append( choice );
  }
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "Relative" );
    choice.label = i18n("Relative");
    valuesValueStyle.append( choice );
  }
  TDEConfigSkeleton::ItemEnum  *itemValueStyle;
  itemValueStyle = new TDEConfigSkeleton::ItemEnum( currentGroup(), TQString::fromLatin1( "ValueStyle" ), mValueStyle, valuesValueStyle, EnumValueStyle::None );
  itemValueStyle->setLabel( i18n("Volume Values") );
  itemValueStyle->setWhatsThis( i18n("How volume values are displayed") );
  addItem( itemValueStyle, TQString::fromLatin1( "ValueStyle" ) );
  TDEConfigSkeleton::ItemBool  *itemStarttdeRestore;
  itemStarttdeRestore = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "starttdeRestore" ), mStarttdeRestore, true );
  itemStarttdeRestore->setLabel( i18n("Autostart") );
  itemStarttdeRestore->setWhatsThis( i18n("Automatically start mixer when you login") );
  addItem( itemStarttdeRestore, TQString::fromLatin1( "starttdeRestore" ) );
  TDEConfigSkeleton::ItemBool  *itemDockIconMuting;
  itemDockIconMuting = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "DockIconMuting" ), mDockIconMuting, false );
  itemDockIconMuting->setLabel( i18n("Middle click on system tray icon toggles muting") );
  addItem( itemDockIconMuting, TQString::fromLatin1( "DockIconMuting" ) );
  TDEConfigSkeleton::ItemBool  *itemVisible;
  itemVisible = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "Visible" ), mVisible, false );
  itemVisible->setLabel( i18n("Show mixer window when starting KMix") );
  itemVisible->setWhatsThis( i18n("Check this to make KMix open the mixer window on startup by default. By default this is unchecked, causing only the system tray icon to be shown on startup. Note that if both system tray icon and this option are disabled then this option is assumed to be checked (to avoid starting KMix with no GUI at all).") );
  addItem( itemVisible, TQString::fromLatin1( "Visible" ) );
  TDEConfigSkeleton::ItemBool  *itemMenubar;
  itemMenubar = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "Menubar" ), mMenubar, true );
  itemMenubar->setLabel( i18n("Show menubar") );
  itemMenubar->setWhatsThis( i18n("Show the menu bar in the mixer window.") );
  addItem( itemMenubar, TQString::fromLatin1( "Menubar" ) );
  TDEConfigSkeleton::ItemBool  *itemMultiDriver;
  itemMultiDriver = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "MultiDriver" ), mMultiDriver, false );
  itemMultiDriver->setLabel( i18n("Enable multi-driver mode") );
  itemMultiDriver->setWhatsThis( i18n("Try scanning all backends. By default this is unchecked, which results in the first found backend being used.") );
  addItem( itemMultiDriver, TQString::fromLatin1( "MultiDriver" ) );
  TDEConfigSkeleton::ItemBool  *itemExperimental_ViewSurround;
  itemExperimental_ViewSurround = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "Experimental_ViewSurround" ), mExperimental_ViewSurround, false );
  itemExperimental_ViewSurround->setLabel( i18n("Enable Surround View (EXPERIMENTAL)") );
  addItem( itemExperimental_ViewSurround, TQString::fromLatin1( "Experimental_ViewSurround" ) );
  TDEConfigSkeleton::ItemBool  *itemExperimental_ViewGrid;
  itemExperimental_ViewGrid = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "Experimental_ViewGrid" ), mExperimental_ViewGrid, false );
  itemExperimental_ViewGrid->setLabel( i18n("Enable Grid View (EXPERIMENTAL)") );
  addItem( itemExperimental_ViewGrid, TQString::fromLatin1( "Experimental_ViewGrid" ) );
  TQValueList<TDEConfigSkeleton::ItemEnum::Choice> valuesOrientation;
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "Horizontal" );
    choice.label = i18n("Horizontal");
    valuesOrientation.append( choice );
  }
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "Vertical" );
    choice.label = i18n("Vertical");
    valuesOrientation.append( choice );
  }
  TDEConfigSkeleton::ItemEnum  *itemOrientation;
  itemOrientation = new TDEConfigSkeleton::ItemEnum( currentGroup(), TQString::fromLatin1( "Orientation" ), mOrientation, valuesOrientation, EnumOrientation::Vertical );
  itemOrientation->setLabel( i18n("Slider Orientation") );
  addItem( itemOrientation, TQString::fromLatin1( "Orientation" ) );
  TDEConfigSkeleton::ItemBool  *itemUseDefaultMaster;
  itemUseDefaultMaster = new TDEConfigSkeleton::ItemBool( currentGroup(), TQString::fromLatin1( "UseDefaultMaster" ), mUseDefaultMaster, true );
  itemUseDefaultMaster->setLabel( i18n("UseDefaultMaster") );
  addItem( itemUseDefaultMaster, TQString::fromLatin1( "UseDefaultMaster" ) );
  TDEConfigSkeleton::ItemString  *itemMasterMixer;
  itemMasterMixer = new TDEConfigSkeleton::ItemString( currentGroup(), TQString::fromLatin1( "MasterMixer" ), mMasterMixer );
  itemMasterMixer->setLabel( i18n("MasterMixer") );
  addItem( itemMasterMixer, TQString::fromLatin1( "MasterMixer" ) );
  TDEConfigSkeleton::ItemString  *itemMasterMixerDevice;
  itemMasterMixerDevice = new TDEConfigSkeleton::ItemString( currentGroup(), TQString::fromLatin1( "MasterMixerDevice" ), mMasterMixerDevice );
  itemMasterMixerDevice->setLabel( i18n("MasterMixerDevice") );
  addItem( itemMasterMixerDevice, TQString::fromLatin1( "MasterMixerDevice" ) );
  TDEConfigSkeleton::ItemSize  *itemSize;
  itemSize = new TDEConfigSkeleton::ItemSize( currentGroup(), TQString::fromLatin1( "Size" ), mSize );
  itemSize->setLabel( i18n("Size") );
  addItem( itemSize, TQString::fromLatin1( "Size" ) );
  TDEConfigSkeleton::ItemPoint  *itemPosition;
  itemPosition = new TDEConfigSkeleton::ItemPoint( currentGroup(), TQString::fromLatin1( "Position" ), mPosition );
  itemPosition->setLabel( i18n("Position") );
  addItem( itemPosition, TQString::fromLatin1( "Position" ) );

  setCurrentGroup( TQString::fromLatin1( "Appearance" ) );

  TQValueList<TDEConfigSkeleton::ItemEnum::Choice> valuesIconTheme;
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "Crystal" );
    choice.label = i18n("Crystal");
    valuesIconTheme.append( choice );
  }
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "OldCrystal" );
    choice.label = i18n("Classic (Old Crystal)");
    valuesIconTheme.append( choice );
  }
  {
    TDEConfigSkeleton::ItemEnum::Choice choice;
    choice.name = TQString::fromLatin1( "System" );
    choice.label = i18n("System theme");
    valuesIconTheme.append( choice );
  }
  TDEConfigSkeleton::ItemEnum  *itemIconTheme;
  itemIconTheme = new TDEConfigSkeleton::ItemEnum( currentGroup(), TQString::fromLatin1( "IconTheme" ), mIconTheme, valuesIconTheme, EnumIconTheme::Crystal );
  itemIconTheme->setLabel( i18n("Icon Theme") );
  addItem( itemIconTheme, TQString::fromLatin1( "IconTheme" ) );
}

KMixSettings::~KMixSettings()
{
  if ( mSelf == this )
    staticKMixSettingsDeleter.setObject( mSelf, 0, false );
}

