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

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

class KlipperSettings : public KConfigSkeleton
{
  public:

    static KlipperSettings *self();
    ~KlipperSettings();

    /**
      Set Klipper version
    */
    static
    void setVersion( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Version" ) ))
        self()->mVersion = v;
    }

    /**
      Get Klipper version
    */
    static
    QString version()
    {
      return self()->mVersion;
    }


    /**
      Get Keep clipboard contents
    */
    static
    bool keepClipboardContents()
    {
      return self()->mKeepClipboardContents;
    }


    /**
      Get Prevent empty clipboard
    */
    static
    bool preventEmptyClipboard()
    {
      return self()->mPreventEmptyClipboard;
    }


    /**
      Get Ignore images
    */
    static
    bool ignoreImages()
    {
      return self()->mIgnoreImages;
    }


    /**
      Get Ignore Selection
    */
    static
    bool ignoreSelection()
    {
      return self()->mIgnoreSelection;
    }


    /**
      Get Backwards compatibility, don't touch.
    */
    static
    int synchronize()
    {
      return self()->mSynchronize;
    }


    /**
      Get Synchronize clipboard and selection
    */
    static
    bool syncClipboards()
    {
      return self()->mSyncClipboards;
    }


    /**
      Get Selection text only
    */
    static
    bool selectionTextOnly()
    {
      return self()->mSelectionTextOnly;
    }


    /**
      Get Use graphical regexp editor
    */
    static
    bool useGUIRegExpEditor()
    {
      return self()->mUseGUIRegExpEditor;
    }

    /**
      Set URL grabber enabled
    */
    static
    void setURLGrabberEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "URLGrabberEnabled" ) ))
        self()->mURLGrabberEnabled = v;
    }

    /**
      Get URL grabber enabled
    */
    static
    bool uRLGrabberEnabled()
    {
      return self()->mURLGrabberEnabled;
    }

    /**
      Set No actions for WM_CLASS
    */
    static
    void setNoActionsForWM_CLASS( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "NoActionsForWM_CLASS" ) ))
        self()->mNoActionsForWM_CLASS = v;
    }

    /**
      Get No actions for WM_CLASS
    */
    static
    QStringList noActionsForWM_CLASS()
    {
      return self()->mNoActionsForWM_CLASS;
    }


    /**
      Get Timeout for action popups (seconds)
    */
    static
    int timeoutForActionPopups()
    {
      return self()->mTimeoutForActionPopups;
    }


    /**
      Get Clipboard history size
    */
    static
    int maxClipItems()
    {
      return self()->mMaxClipItems;
    }


    /**
      Get Dummy entry for indicating changes in an action's tree widget
    */
    static
    int actionList()
    {
      return self()->mActionList;
    }


    /**
      Get Strip whitespace when executing an action
    */
    static
    bool stripWhiteSpace()
    {
      return self()->mStripWhiteSpace;
    }


    /**
      Get Replay action in history
    */
    static
    bool replayActionInHistory()
    {
      return self()->mReplayActionInHistory;
    }


    /**
      Get Enable MIME-based actions
    */
    static
    bool enableMagicMimeActions()
    {
      return self()->mEnableMagicMimeActions;
    }

  protected:
    KlipperSettings();
    friend class KlipperSettingsHelper;


    // General
    QString mVersion;
    bool mKeepClipboardContents;
    bool mPreventEmptyClipboard;
    bool mIgnoreImages;
    bool mIgnoreSelection;
    int mSynchronize;
    bool mSyncClipboards;
    bool mSelectionTextOnly;
    bool mUseGUIRegExpEditor;
    bool mURLGrabberEnabled;
    QStringList mNoActionsForWM_CLASS;
    int mTimeoutForActionPopups;
    int mMaxClipItems;
    int mActionList;

    // Actions
    bool mStripWhiteSpace;
    bool mReplayActionInHistory;
    bool mEnableMagicMimeActions;

  private:
};

#endif

