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

#include <kgpginterface.h>

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

class KGpgSettings : public TDEConfigSkeleton
{
  public:
    class EnumPhotoProperties
    {
      public:
      enum type { Disable, Small, Medium, Big, COUNT };
    };
    class EnumLeftClick
    {
      public:
      enum type { KeyManager, Editor, COUNT };
    };
    class EnumEncryptedDropEvent
    {
      public:
      enum type { DecryptAndSave, DecryptAndOpen, Ask, COUNT };
    };
    class EnumUnencryptedDropEvent
    {
      public:
      enum type { Encrypt, Sign, Ask, COUNT };
    };
    class EnumSignMenu
    {
      public:
      enum type { Disabled, AllFiles, COUNT };
    };
    class EnumDecryptMenu
    {
      public:
      enum type { Disabled, AllFiles, EncryptedFiles, COUNT };
    };

    static KGpgSettings *self();
    ~KGpgSettings();

    /**
      Set Custom decryption command.
    */
    static
    void setCustomDecrypt( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "CustomDecrypt" ) ))
        self()->mCustomDecrypt = v;
    }

    /**
      Get Custom decryption command.
    */
    static
    TQString customDecrypt()
    {
      return self()->mCustomDecrypt;
    }

    /**
      Set Custom encryption options
    */
    static
    void setCustomEncryptionOptions( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "CustomEncryptionOptions" ) ))
        self()->mCustomEncryptionOptions = v;
    }

    /**
      Get Custom encryption options
    */
    static
    TQString customEncryptionOptions()
    {
      return self()->mCustomEncryptionOptions;
    }

    /**
      Set Allow custom encryption options
    */
    static
    void setAllowCustomEncryptionOptions( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AllowCustomEncryptionOptions" ) ))
        self()->mAllowCustomEncryptionOptions = v;
    }

    /**
      Get Allow custom encryption options
    */
    static
    bool allowCustomEncryptionOptions()
    {
      return self()->mAllowCustomEncryptionOptions;
    }

    /**
      Set File encryption key.
    */
    static
    void setFileKey( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "FileKey" ) ))
        self()->mFileKey = v;
    }

    /**
      Get File encryption key.
    */
    static
    TQString fileKey()
    {
      return self()->mFileKey;
    }

    /**
      Set Use ASCII armored encryption.
    */
    static
    void setAsciiArmor( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AsciiArmor" ) ))
        self()->mAsciiArmor = v;
    }

    /**
      Get Use ASCII armored encryption.
    */
    static
    bool asciiArmor()
    {
      return self()->mAsciiArmor;
    }

    /**
      Set Allow encryption with untrusted keys.
    */
    static
    void setAllowUntrustedKeys( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AllowUntrustedKeys" ) ))
        self()->mAllowUntrustedKeys = v;
    }

    /**
      Get Allow encryption with untrusted keys.
    */
    static
    bool allowUntrustedKeys()
    {
      return self()->mAllowUntrustedKeys;
    }

    /**
      Set Hide the user ID.
    */
    static
    void setHideUserID( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "HideUserID" ) ))
        self()->mHideUserID = v;
    }

    /**
      Get Hide the user ID.
    */
    static
    bool hideUserID()
    {
      return self()->mHideUserID;
    }

    /**
      Set Shred the source file after encryption.
    */
    static
    void setShredSource( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShredSource" ) ))
        self()->mShredSource = v;
    }

    /**
      Get Shred the source file after encryption.
    */
    static
    bool shredSource()
    {
      return self()->mShredSource;
    }

    /**
      Set Enable PGP 6 compatibility.
    */
    static
    void setPgpCompatibility( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PgpCompatibility" ) ))
        self()->mPgpCompatibility = v;
    }

    /**
      Get Enable PGP 6 compatibility.
    */
    static
    bool pgpCompatibility()
    {
      return self()->mPgpCompatibility;
    }

    /**
      Set Use *.pgp extension for encrypted files.
    */
    static
    void setPgpExtension( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PgpExtension" ) ))
        self()->mPgpExtension = v;
    }

    /**
      Get Use *.pgp extension for encrypted files.
    */
    static
    bool pgpExtension()
    {
      return self()->mPgpExtension;
    }

    /**
      Set The path of the gpg configuration file.
    */
    static
    void setGpgConfigPath( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "GpgConfigPath" ) ))
        self()->mGpgConfigPath = v;
    }

    /**
      Get The path of the gpg configuration file.
    */
    static
    TQString gpgConfigPath()
    {
      return self()->mGpgConfigPath;
    }

    /**
      Set GPG groups
    */
    static
    void setGroups( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Groups" ) ))
        self()->mGroups = v;
    }

    /**
      Get GPG groups
    */
    static
    TQString groups()
    {
      return self()->mGroups;
    }

    /**
      Set Use only the additional keyring, not the default one.
    */
    static
    void setOnlyAdditional( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "OnlyAdditional" ) ))
        self()->mOnlyAdditional = v;
    }

    /**
      Get Use only the additional keyring, not the default one.
    */
    static
    bool onlyAdditional()
    {
      return self()->mOnlyAdditional;
    }

    /**
      Set Enable additional public keyring.
    */
    static
    void setPubKeyring( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PubKeyring" ) ))
        self()->mPubKeyring = v;
    }

    /**
      Get Enable additional public keyring.
    */
    static
    bool pubKeyring()
    {
      return self()->mPubKeyring;
    }

    /**
      Set Enable additional private keyring.
    */
    static
    void setPrivKeyring( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PrivKeyring" ) ))
        self()->mPrivKeyring = v;
    }

    /**
      Get Enable additional private keyring.
    */
    static
    bool privKeyring()
    {
      return self()->mPrivKeyring;
    }

    /**
      Set The path of the additional public keyring.
    */
    static
    void setPubKeyringUrl( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PubKeyringUrl" ) ))
        self()->mPubKeyringUrl = v;
    }

    /**
      Get The path of the additional public keyring.
    */
    static
    TQString pubKeyringUrl()
    {
      return self()->mPubKeyringUrl;
    }

    /**
      Set The path of the additional private keyring.
    */
    static
    void setPrivKeyringUrl( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PrivKeyringUrl" ) ))
        self()->mPrivKeyringUrl = v;
    }

    /**
      Get The path of the additional private keyring.
    */
    static
    TQString privKeyringUrl()
    {
      return self()->mPrivKeyringUrl;
    }

    /**
      Set photo properties
    */
    static
    void setPhotoProperties( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "PhotoProperties" ) ))
        self()->mPhotoProperties = v;
    }

    /**
      Get photo properties
    */
    static
    int photoProperties()
    {
      return self()->mPhotoProperties;
    }

    /**
      Set Is the first time the application runs.
    */
    static
    void setFirstRun( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "FirstRun" ) ))
        self()->mFirstRun = v;
    }

    /**
      Get Is the first time the application runs.
    */
    static
    bool firstRun()
    {
      return self()->mFirstRun;
    }

    /**
      Set The size of the editor window.
    */
    static
    void setEditorGeometry( const TQSize & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "EditorGeometry" ) ))
        self()->mEditorGeometry = v;
    }

    /**
      Get The size of the editor window.
    */
    static
    TQSize editorGeometry()
    {
      return self()->mEditorGeometry;
    }

    /**
      Set Show the trust value in key manager.
    */
    static
    void setShowTrust( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowTrust" ) ))
        self()->mShowTrust = v;
    }

    /**
      Get Show the trust value in key manager.
    */
    static
    bool showTrust()
    {
      return self()->mShowTrust;
    }

    /**
      Set Show the expiration value in key manager.
    */
    static
    void setShowExpi( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowExpi" ) ))
        self()->mShowExpi = v;
    }

    /**
      Get Show the expiration value in key manager.
    */
    static
    bool showExpi()
    {
      return self()->mShowExpi;
    }

    /**
      Set Show the size value in key manager.
    */
    static
    void setShowSize( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowSize" ) ))
        self()->mShowSize = v;
    }

    /**
      Get Show the size value in key manager.
    */
    static
    bool showSize()
    {
      return self()->mShowSize;
    }

    /**
      Set Show the creation value in key manager.
    */
    static
    void setShowCreat( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowCreat" ) ))
        self()->mShowCreat = v;
    }

    /**
      Get Show the creation value in key manager.
    */
    static
    bool showCreat()
    {
      return self()->mShowCreat;
    }

    /**
      Set Use the mouse selection instead of the clipboard.
    */
    static
    void setUseMouseSelection( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "UseMouseSelection" ) ))
        self()->mUseMouseSelection = v;
    }

    /**
      Get Use the mouse selection instead of the clipboard.
    */
    static
    bool useMouseSelection()
    {
      return self()->mUseMouseSelection;
    }

    /**
      Set Start KGpg automatically at TDE startup.
    */
    static
    void setAutoStart( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AutoStart" ) ))
        self()->mAutoStart = v;
    }

    /**
      Get Start KGpg automatically at TDE startup.
    */
    static
    bool autoStart()
    {
      return self()->mAutoStart;
    }

    /**
      Set Display a warning before creating temporary files during remote file operations.
    */
    static
    void setRemoteFileWarn( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "RemoteFileWarn" ) ))
        self()->mRemoteFileWarn = v;
    }

    /**
      Get Display a warning before creating temporary files during remote file operations.
    */
    static
    bool remoteFileWarn()
    {
      return self()->mRemoteFileWarn;
    }

    /**
      Set Choose default left-click behavior
    */
    static
    void setLeftClick( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "LeftClick" ) ))
        self()->mLeftClick = v;
    }

    /**
      Get Choose default left-click behavior
    */
    static
    int leftClick()
    {
      return self()->mLeftClick;
    }

    /**
      Set Handle encrypted drops
    */
    static
    void setEncryptedDropEvent( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "EncryptedDropEvent" ) ))
        self()->mEncryptedDropEvent = v;
    }

    /**
      Get Handle encrypted drops
    */
    static
    int encryptedDropEvent()
    {
      return self()->mEncryptedDropEvent;
    }

    /**
      Set Handle unencrypted drops
    */
    static
    void setUnencryptedDropEvent( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "UnencryptedDropEvent" ) ))
        self()->mUnencryptedDropEvent = v;
    }

    /**
      Get Handle unencrypted drops
    */
    static
    int unencryptedDropEvent()
    {
      return self()->mUnencryptedDropEvent;
    }

    /**
      Set Show the "sign file" service menu.
    */
    static
    void setSignMenu( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "SignMenu" ) ))
        self()->mSignMenu = v;
    }

    /**
      Get Show the "sign file" service menu.
    */
    static
    int signMenu()
    {
      return self()->mSignMenu;
    }

    /**
      Set Show the "decrypt file" service menu.
    */
    static
    void setDecryptMenu( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "DecryptMenu" ) ))
        self()->mDecryptMenu = v;
    }

    /**
      Get Show the "decrypt file" service menu.
    */
    static
    int decryptMenu()
    {
      return self()->mDecryptMenu;
    }

    /**
      Set Show tip of the day.
    */
    static
    void setShowTipOfDay( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowTipOfDay" ) ))
        self()->mShowTipOfDay = v;
    }

    /**
      Get Show tip of the day.
    */
    static
    bool showTipOfDay()
    {
      return self()->mShowTipOfDay;
    }

    /**
      Set Color used for trusted keys.
    */
    static
    void setColorGood( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ColorGood" ) ))
        self()->mColorGood = v;
    }

    /**
      Get Color used for trusted keys.
    */
    static
    TQColor colorGood()
    {
      return self()->mColorGood;
    }

    /**
      Set Color used for revoked keys.
    */
    static
    void setColorRev( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ColorRev" ) ))
        self()->mColorRev = v;
    }

    /**
      Get Color used for revoked keys.
    */
    static
    TQColor colorRev()
    {
      return self()->mColorRev;
    }

    /**
      Set Color used for unknown keys.
    */
    static
    void setColorUnknown( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ColorUnknown" ) ))
        self()->mColorUnknown = v;
    }

    /**
      Get Color used for unknown keys.
    */
    static
    TQColor colorUnknown()
    {
      return self()->mColorUnknown;
    }

    /**
      Set Color used for untrusted keys.
    */
    static
    void setColorBad( const TQColor & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ColorBad" ) ))
        self()->mColorBad = v;
    }

    /**
      Get Color used for untrusted keys.
    */
    static
    TQColor colorBad()
    {
      return self()->mColorBad;
    }

    /**
      Set Font
    */
    static
    void setFont( const TQFont & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Font" ) ))
        self()->mFont = v;
    }

    /**
      Get Font
    */
    static
    TQFont font()
    {
      return self()->mFont;
    }

    /**
      Set Use HTTP proxy when available.
    */
    static
    void setUseProxy( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "UseProxy" ) ))
        self()->mUseProxy = v;
    }

    /**
      Get Use HTTP proxy when available.
    */
    static
    bool useProxy()
    {
      return self()->mUseProxy;
    }

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


    // Decryption
    TQString mCustomDecrypt;

    // Encryption
    TQString mCustomEncryptionOptions;
    bool mAllowCustomEncryptionOptions;
    TQString mFileKey;
    bool mAsciiArmor;
    bool mAllowUntrustedKeys;
    bool mHideUserID;
    bool mShredSource;
    bool mPgpCompatibility;
    bool mPgpExtension;

    // GPG Settings
    TQString mGpgConfigPath;
    TQString mGroups;
    bool mOnlyAdditional;
    bool mPubKeyring;
    bool mPrivKeyring;
    TQString mPubKeyringUrl;
    TQString mPrivKeyringUrl;

    // General Options
    int mPhotoProperties;
    bool mFirstRun;
    TQSize mEditorGeometry;
    bool mShowTrust;
    bool mShowExpi;
    bool mShowSize;
    bool mShowCreat;

    // User Interface
    bool mUseMouseSelection;
    bool mAutoStart;
    bool mRemoteFileWarn;
    int mLeftClick;
    int mEncryptedDropEvent;
    int mUnencryptedDropEvent;
    int mSignMenu;
    int mDecryptMenu;

    // TipOfDay
    bool mShowTipOfDay;

    // Key Colors
    TQColor mColorGood;
    TQColor mColorRev;
    TQColor mColorUnknown;
    TQColor mColorBad;

    // Text Font
    TQFont mFont;

    // Key Servers
    bool mUseProxy;

  private:
    // Include custom additions
    #include "kgpgsettings_addons.h"
};

#endif

