// This file is generated by kconfig_compiler from test2.kcfg.
// All changes you do to this file will be lost.
#ifndef TEST2_H
#define TEST2_H

#include <myprefs.h>

#include <kconfigskeleton.h>
#include <kdebug.h>

class Test2 : public MyPrefs
{
  public:
    enum { standardDestination, askDestination, argl1, argl2, argl3 };

    Test2( );
    ~Test2();

    /**
      Set Enable automatic saving of calendar
    */
    void setAutoSave( bool v )
    {
      if (!isImmutable( QString::fromLatin1( "AutoSave" ) ))
        mAutoSave = v;
    }

    /**
      Get Enable automatic saving of calendar
    */
    bool autoSave() const
    {
      return mAutoSave;
    }

    /**
      Get Item object corresponding to AutoSave()
    */
    ItemBool *autoSaveItem()
    {
      return mAutoSaveItem;
    }

    /**
      Set Auto Save Interval
    */
    void setAutoSaveInterval( int v )
    {
      if (!isImmutable( QString::fromLatin1( "AutoSaveInterval" ) ))
        mAutoSaveInterval = v;
    }

    /**
      Get Auto Save Interval
    */
    int autoSaveInterval() const
    {
      return mAutoSaveInterval;
    }

    /**
      Get Item object corresponding to AutoSaveInterval()
    */
    ItemInt *autoSaveIntervalItem()
    {
      return mAutoSaveIntervalItem;
    }

    /**
      Set Confirm deletes
    */
    void setConfirm( bool v )
    {
      if (!isImmutable( QString::fromLatin1( "Confirm" ) ))
        mConfirm = v;
    }

    /**
      Get Confirm deletes
    */
    bool confirm() const
    {
      return mConfirm;
    }

    /**
      Get Item object corresponding to Confirm()
    */
    ItemBool *confirmItem()
    {
      return mConfirmItem;
    }

    /**
      Set Archive File
    */
    void setArchiveFile( const QString & v )
    {
      if (!isImmutable( QString::fromLatin1( "ArchiveFile" ) ))
        mArchiveFile = v;
    }

    /**
      Get Archive File
    */
    QString archiveFile() const
    {
      return mArchiveFile;
    }

    /**
      Get Item object corresponding to ArchiveFile()
    */
    ItemString *archiveFileItem()
    {
      return mArchiveFileItem;
    }

    /**
      Set New Events/Todos Should
    */
    void setDestination( int v )
    {
      if (!isImmutable( QString::fromLatin1( "Destination" ) ))
        mDestination = v;
    }

    /**
      Get New Events/Todos Should
    */
    int destination() const
    {
      return mDestination;
    }

    /**
      Get Item object corresponding to Destination()
    */
    ItemEnum *destinationItem()
    {
      return mDestinationItem;
    }

    /**
      Set Hour Size
    */
    void setHourSize( int v )
    {
      if (!isImmutable( QString::fromLatin1( "HourSize" ) ))
        mHourSize = v;
    }

    /**
      Get Hour Size
    */
    int hourSize() const
    {
      return mHourSize;
    }

    /**
      Get Item object corresponding to HourSize()
    */
    ItemInt *hourSizeItem()
    {
      return mHourSizeItem;
    }

    /**
      Set Time range selection in agenda view starts event editor
    */
    void setSelectionStartsEditor( bool v )
    {
      if (!isImmutable( QString::fromLatin1( "SelectionStartsEditor" ) ))
        mSelectionStartsEditor = v;
    }

    /**
      Get Time range selection in agenda view starts event editor
    */
    bool selectionStartsEditor() const
    {
      return mSelectionStartsEditor;
    }

    /**
      Get Item object corresponding to SelectionStartsEditor()
    */
    ItemBool *selectionStartsEditorItem()
    {
      return mSelectionStartsEditorItem;
    }

    /**
      Set SelectedPlugins
    */
    void setSelectedPlugins( const QStringList & v )
    {
      if (!isImmutable( QString::fromLatin1( "SelectedPlugins" ) ))
        mSelectedPlugins = v;
    }

    /**
      Get SelectedPlugins
    */
    QStringList selectedPlugins() const
    {
      return mSelectedPlugins;
    }

    /**
      Get Item object corresponding to SelectedPlugins()
    */
    ItemStringList *selectedPluginsItem()
    {
      return mSelectedPluginsItem;
    }

    /**
      Set Highlight color
    */
    void setHighlightColor( const QColor & v )
    {
      if (!isImmutable( QString::fromLatin1( "HighlightColor" ) ))
        mHighlightColor = v;
    }

    /**
      Get Highlight color
    */
    QColor highlightColor() const
    {
      return mHighlightColor;
    }

    /**
      Get Item object corresponding to HighlightColor()
    */
    ItemColor *highlightColorItem()
    {
      return mHighlightColorItem;
    }

    /**
      Set Agenda view background color
    */
    void setAgendaBgColor( const QColor & v )
    {
      if (!isImmutable( QString::fromLatin1( "AgendaBgColor" ) ))
        mAgendaBgColor = v;
    }

    /**
      Get Agenda view background color
    */
    QColor agendaBgColor() const
    {
      return mAgendaBgColor;
    }

    /**
      Get Item object corresponding to AgendaBgColor()
    */
    ItemColor *agendaBgColorItem()
    {
      return mAgendaBgColorItem;
    }

    /**
      Set Time bar
    */
    void setTimeBarFont( const QFont & v )
    {
      if (!isImmutable( QString::fromLatin1( "TimeBarFont" ) ))
        mTimeBarFont = v;
    }

    /**
      Get Time bar
    */
    QFont timeBarFont() const
    {
      return mTimeBarFont;
    }

    /**
      Get Item object corresponding to TimeBarFont()
    */
    ItemFont *timeBarFontItem()
    {
      return mTimeBarFontItem;
    }

  protected:
  public:

    // General
    bool mAutoSave;
    int mAutoSaveInterval;
    bool mConfirm;
    QString mArchiveFile;
    int mDestination;

    // Views
    int mHourSize;
    bool mSelectionStartsEditor;

    // KOrganizer Plugins
    QStringList mSelectedPlugins;

    // Colors
    QColor mHighlightColor;
    QColor mAgendaBgColor;

    // Fonts
    QFont mTimeBarFont;

  private:
    ItemBool *mAutoSaveItem;
    ItemInt *mAutoSaveIntervalItem;
    ItemBool *mConfirmItem;
    ItemString *mArchiveFileItem;
    ItemEnum *mDestinationItem;
    ItemInt *mHourSizeItem;
    ItemBool *mSelectionStartsEditorItem;
    ItemStringList *mSelectedPluginsItem;
    ItemColor *mHighlightColorItem;
    ItemColor *mAgendaBgColorItem;
    ItemFont *mTimeBarFontItem;
};

#endif