// This file is generated by kconfig_compiler_kf5 from krdc.kcfg.
// All changes you do to this file will be lost.
#ifndef SETTINGS_H
#define SETTINGS_H

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

#include <krdccore_export.h>
class KRDCCORE_EXPORT Settings : public KConfigSkeleton
{
  public:

    static Settings *self();
    ~Settings();

    /**
      Set RememberSessions
    */
    static
    void setRememberSessions( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RememberSessions" ) ))
        self()->mRememberSessions = v;
    }

    /**
      Get RememberSessions
    */
    static
    bool rememberSessions()
    {
      return self()->mRememberSessions;
    }

    /**
      Set RememberHistory
    */
    static
    void setRememberHistory( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RememberHistory" ) ))
        self()->mRememberHistory = v;
    }

    /**
      Get RememberHistory
    */
    static
    bool rememberHistory()
    {
      return self()->mRememberHistory;
    }

    /**
      Set Sessions
    */
    static
    void setOpenSessions( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "OpenSessions" ) ))
        self()->mOpenSessions = v;
    }

    /**
      Get Sessions
    */
    static
    QStringList openSessions()
    {
      return self()->mOpenSessions;
    }

    /**
      Set NormalUrlInputLine
    */
    static
    void setNormalUrlInputLine( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "NormalUrlInputLine" ) ))
        self()->mNormalUrlInputLine = v;
    }

    /**
      Get NormalUrlInputLine
    */
    static
    bool normalUrlInputLine()
    {
      return self()->mNormalUrlInputLine;
    }

    /**
      Set ShowPreferencesForNewConnections
    */
    static
    void setShowPreferencesForNewConnections( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowPreferencesForNewConnections" ) ))
        self()->mShowPreferencesForNewConnections = v;
    }

    /**
      Get ShowPreferencesForNewConnections
    */
    static
    bool showPreferencesForNewConnections()
    {
      return self()->mShowPreferencesForNewConnections;
    }

    /**
      Set ResizeOnConnect
    */
    static
    void setResizeOnConnect( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ResizeOnConnect" ) ))
        self()->mResizeOnConnect = v;
    }

    /**
      Get ResizeOnConnect
    */
    static
    bool resizeOnConnect()
    {
      return self()->mResizeOnConnect;
    }

    /**
      Set FullscreenOnConnect
    */
    static
    void setFullscreenOnConnect( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "FullscreenOnConnect" ) ))
        self()->mFullscreenOnConnect = v;
    }

    /**
      Get FullscreenOnConnect
    */
    static
    bool fullscreenOnConnect()
    {
      return self()->mFullscreenOnConnect;
    }

    /**
      Set BackgroundColor
    */
    static
    void setBackgroundColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "BackgroundColor" ) ))
        self()->mBackgroundColor = v;
    }

    /**
      Get BackgroundColor
    */
    static
    QColor backgroundColor()
    {
      return self()->mBackgroundColor;
    }

    /**
      Set WalletSupport
    */
    static
    void setWalletSupport( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "WalletSupport" ) ))
        self()->mWalletSupport = v;
    }

    /**
      Get WalletSupport
    */
    static
    bool walletSupport()
    {
      return self()->mWalletSupport;
    }

    /**
      Set SystemTrayIcon
    */
    static
    void setSystemTrayIcon( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "SystemTrayIcon" ) ))
        self()->mSystemTrayIcon = v;
    }

    /**
      Get SystemTrayIcon
    */
    static
    bool systemTrayIcon()
    {
      return self()->mSystemTrayIcon;
    }

    /**
      Set KeepAspectRatio
    */
    static
    void setKeepAspectRatio( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "KeepAspectRatio" ) ))
        self()->mKeepAspectRatio = v;
    }

    /**
      Get KeepAspectRatio
    */
    static
    bool keepAspectRatio()
    {
      return self()->mKeepAspectRatio;
    }

    /**
      Set TabCloseButton
    */
    static
    void setTabCloseButton( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "TabCloseButton" ) ))
        self()->mTabCloseButton = v;
    }

    /**
      Get TabCloseButton
    */
    static
    bool tabCloseButton()
    {
      return self()->mTabCloseButton;
    }

    /**
      Set TabMiddleClick
    */
    static
    void setTabMiddleClick( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "TabMiddleClick" ) ))
        self()->mTabMiddleClick = v;
    }

    /**
      Get TabMiddleClick
    */
    static
    bool tabMiddleClick()
    {
      return self()->mTabMiddleClick;
    }

    /**
      Set TabPosition
    */
    static
    void setTabPosition( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "TabPosition" ) ))
        self()->mTabPosition = v;
    }

    /**
      Get TabPosition
    */
    static
    int tabPosition()
    {
      return self()->mTabPosition;
    }

    /**
      Set ShowTabBar
    */
    static
    void setShowTabBar( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowTabBar" ) ))
        self()->mShowTabBar = v;
    }

    /**
      Get ShowTabBar
    */
    static
    bool showTabBar()
    {
      return self()->mShowTabBar;
    }

    /**
      Set ShowStatusBar
    */
    static
    void setShowStatusBar( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowStatusBar" ) ))
        self()->mShowStatusBar = v;
    }

    /**
      Get ShowStatusBar
    */
    static
    bool showStatusBar()
    {
      return self()->mShowStatusBar;
    }

    /**
      Set ConnectionListSortColumn
    */
    static
    void setConnectionListSortColumn( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ConnectionListSortColumn" ) ))
        self()->mConnectionListSortColumn = v;
    }

    /**
      Get ConnectionListSortColumn
    */
    static
    int connectionListSortColumn()
    {
      return self()->mConnectionListSortColumn;
    }

    /**
      Set ConnectionListSortOrder
    */
    static
    void setConnectionListSortOrder( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ConnectionListSortOrder" ) ))
        self()->mConnectionListSortOrder = v;
    }

    /**
      Get ConnectionListSortOrder
    */
    static
    int connectionListSortOrder()
    {
      return self()->mConnectionListSortOrder;
    }

    /**
      Set DefaultProtocol
    */
    static
    void setDefaultProtocol( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultProtocol" ) ))
        self()->mDefaultProtocol = v;
    }

    /**
      Get DefaultProtocol
    */
    static
    QString defaultProtocol()
    {
      return self()->mDefaultProtocol;
    }

    /**
      Set Quality
    */
    static
    void setQuality( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Quality" ) ))
        self()->mQuality = v;
    }

    /**
      Get Quality
    */
    static
    int quality()
    {
      return self()->mQuality;
    }

    /**
      Set Scaling
    */
    static
    void setScaling( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Scaling" ) ))
        self()->mScaling = v;
    }

    /**
      Get Scaling
    */
    static
    bool scaling()
    {
      return self()->mScaling;
    }

    /**
      Set ScalingWidth
    */
    static
    void setScalingWidth( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ScalingWidth" ) ))
        self()->mScalingWidth = v;
    }

    /**
      Get ScalingWidth
    */
    static
    int scalingWidth()
    {
      return self()->mScalingWidth;
    }

    /**
      Set ScalingHeight
    */
    static
    void setScalingHeight( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ScalingHeight" ) ))
        self()->mScalingHeight = v;
    }

    /**
      Get ScalingHeight
    */
    static
    int scalingHeight()
    {
      return self()->mScalingHeight;
    }

    /**
      Set Width
    */
    static
    void setWidth( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Width" ) ))
        self()->mWidth = v;
    }

    /**
      Get Width
    */
    static
    int width()
    {
      return self()->mWidth;
    }

    /**
      Set Height
    */
    static
    void setHeight( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Height" ) ))
        self()->mHeight = v;
    }

    /**
      Get Height
    */
    static
    int height()
    {
      return self()->mHeight;
    }

    /**
      Set KeyboardLayout
    */
    static
    void setKeyboardLayout( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "KeyboardLayout" ) ))
        self()->mKeyboardLayout = v;
    }

    /**
      Get KeyboardLayout
    */
    static
    int keyboardLayout()
    {
      return self()->mKeyboardLayout;
    }

    /**
      Set Resolution
    */
    static
    void setResolution( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Resolution" ) ))
        self()->mResolution = v;
    }

    /**
      Get Resolution
    */
    static
    int resolution()
    {
      return self()->mResolution;
    }

    /**
      Set ColorDepth
    */
    static
    void setColorDepth( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ColorDepth" ) ))
        self()->mColorDepth = v;
    }

    /**
      Get ColorDepth
    */
    static
    int colorDepth()
    {
      return self()->mColorDepth;
    }

    /**
      Set Sound
    */
    static
    void setSound( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Sound" ) ))
        self()->mSound = v;
    }

    /**
      Get Sound
    */
    static
    int sound()
    {
      return self()->mSound;
    }

    /**
      Set SoundSystem
    */
    static
    void setSoundSystem( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "SoundSystem" ) ))
        self()->mSoundSystem = v;
    }

    /**
      Get SoundSystem
    */
    static
    int soundSystem()
    {
      return self()->mSoundSystem;
    }

    /**
      Set Console
    */
    static
    void setConsole( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Console" ) ))
        self()->mConsole = v;
    }

    /**
      Get Console
    */
    static
    bool console()
    {
      return self()->mConsole;
    }

    /**
      Set ExtraOptions
    */
    static
    void setExtraOptions( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ExtraOptions" ) ))
        self()->mExtraOptions = v;
    }

    /**
      Get ExtraOptions
    */
    static
    QString extraOptions()
    {
      return self()->mExtraOptions;
    }

    /**
      Set DefaultRdpUserName
    */
    static
    void setDefaultRdpUserName( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultRdpUserName" ) ))
        self()->mDefaultRdpUserName = v;
    }

    /**
      Get DefaultRdpUserName
    */
    static
    QString defaultRdpUserName()
    {
      return self()->mDefaultRdpUserName;
    }

    /**
      Set RecognizeLdapLogins
    */
    static
    void setRecognizeLdapLogins( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RecognizeLdapLogins" ) ))
        self()->mRecognizeLdapLogins = v;
    }

    /**
      Get RecognizeLdapLogins
    */
    static
    bool recognizeLdapLogins()
    {
      return self()->mRecognizeLdapLogins;
    }

    /**
      Set RemoteFX
    */
    static
    void setRemoteFX( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RemoteFX" ) ))
        self()->mRemoteFX = v;
    }

    /**
      Get RemoteFX
    */
    static
    bool remoteFX()
    {
      return self()->mRemoteFX;
    }

    /**
      Set Performance
    */
    static
    void setPerformance( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Performance" ) ))
        self()->mPerformance = v;
    }

    /**
      Get Performance
    */
    static
    int performance()
    {
      return self()->mPerformance;
    }

    /**
      Set ShareMedia
    */
    static
    void setShareMedia( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShareMedia" ) ))
        self()->mShareMedia = v;
    }

    /**
      Get ShareMedia
    */
    static
    QString shareMedia()
    {
      return self()->mShareMedia;
    }

    /**
      Set NxWidth
    */
    static
    void setNxWidth( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "NxWidth" ) ))
        self()->mNxWidth = v;
    }

    /**
      Get NxWidth
    */
    static
    int nxWidth()
    {
      return self()->mNxWidth;
    }

    /**
      Set NxHeight
    */
    static
    void setNxHeight( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "NxHeight" ) ))
        self()->mNxHeight = v;
    }

    /**
      Get NxHeight
    */
    static
    int nxHeight()
    {
      return self()->mNxHeight;
    }

    /**
      Set NxDesktopType
    */
    static
    void setNxDesktopType( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "NxDesktopType" ) ))
        self()->mNxDesktopType = v;
    }

    /**
      Get NxDesktopType
    */
    static
    int nxDesktopType()
    {
      return self()->mNxDesktopType;
    }

    /**
      Set NxKeyboardLayout
    */
    static
    void setNxKeyboardLayout( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "NxKeyboardLayout" ) ))
        self()->mNxKeyboardLayout = v;
    }

    /**
      Get NxKeyboardLayout
    */
    static
    int nxKeyboardLayout()
    {
      return self()->mNxKeyboardLayout;
    }

    /**
      Set NxPrivateKey
    */
    static
    void setNxPrivateKey( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "NxPrivateKey" ) ))
        self()->mNxPrivateKey = v;
    }

    /**
      Get NxPrivateKey
    */
    static
    QString nxPrivateKey()
    {
      return self()->mNxPrivateKey;
    }

  protected:
    Settings();
    friend class SettingsHelper;


    // General
    bool mRememberSessions;
    bool mRememberHistory;
    QStringList mOpenSessions;
    bool mNormalUrlInputLine;
    bool mShowPreferencesForNewConnections;
    bool mResizeOnConnect;
    bool mFullscreenOnConnect;
    QColor mBackgroundColor;
    bool mWalletSupport;
    bool mSystemTrayIcon;
    bool mKeepAspectRatio;
    bool mTabCloseButton;
    bool mTabMiddleClick;
    int mTabPosition;
    bool mShowTabBar;
    bool mShowStatusBar;
    int mConnectionListSortColumn;
    int mConnectionListSortOrder;
    QString mDefaultProtocol;

    // VNC
    int mQuality;
    bool mScaling;
    int mScalingWidth;
    int mScalingHeight;

    // RDP
    int mWidth;
    int mHeight;
    int mKeyboardLayout;
    int mResolution;
    int mColorDepth;
    int mSound;
    int mSoundSystem;
    bool mConsole;
    QString mExtraOptions;
    QString mDefaultRdpUserName;
    bool mRecognizeLdapLogins;
    bool mRemoteFX;
    int mPerformance;
    QString mShareMedia;

    // NX
    int mNxWidth;
    int mNxHeight;
    int mNxDesktopType;
    int mNxKeyboardLayout;
    QString mNxPrivateKey;

  private:
};

#endif

