// This file is generated by kconfig_compiler_kf6 from kgraphviewersettings.kcfg.
// All changes you do to this file will be lost.
#ifndef KGRAPHVIEWERSETTINGS_H
#define KGRAPHVIEWERSETTINGS_H

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

class KGraphViewerSettings : public KConfigSkeleton
{
  public:

    static KGraphViewerSettings *self();
    ~KGraphViewerSettings() override;

    /**
      Set The answer to the question 'File modified, do you want to reload it'
    */
    static
    void setReloadOnChangeMode( const QString & v )
    {
      if (!self()->isReloadOnChangeModeImmutable())
        self()->mReloadOnChangeMode = v;
    }

    /**
      Get The answer to the question 'File modified, do you want to reload it'
    */
    static
    QString reloadOnChangeMode()
    {
      return self()->mReloadOnChangeMode;
    }

    /**
      Is The answer to the question 'File modified, do you want to reload it' Immutable
    */
    static
    bool isReloadOnChangeModeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "reloadOnChangeMode" ) );
    }

    /**
      Set To choose whether to parse using an external command (usually dot) or the graphviz library
    */
    static
    void setParsingMode( const QString & v )
    {
      if (!self()->isParsingModeImmutable())
        self()->mParsingMode = v;
    }

    /**
      Get To choose whether to parse using an external command (usually dot) or the graphviz library
    */
    static
    QString parsingMode()
    {
      return self()->mParsingMode;
    }

    /**
      Is To choose whether to parse using an external command (usually dot) or the graphviz library Immutable
    */
    static
    bool isParsingModeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "parsingMode" ) );
    }

    /**
      Set The answer to the question 'If another window already exist when launching kgraphviewer, should we open in it, open a new window or ask?'
    */
    static
    void setOpenInExistingWindowMode( const QString & v )
    {
      if (!self()->isOpenInExistingWindowModeImmutable())
        self()->mOpenInExistingWindowMode = v;
    }

    /**
      Get The answer to the question 'If another window already exist when launching kgraphviewer, should we open in it, open a new window or ask?'
    */
    static
    QString openInExistingWindowMode()
    {
      return self()->mOpenInExistingWindowMode;
    }

    /**
      Is The answer to the question 'If another window already exist when launching kgraphviewer, should we open in it, open a new window or ask?' Immutable
    */
    static
    bool isOpenInExistingWindowModeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "openInExistingWindowMode" ) );
    }

    /**
      Set The answer to the question 'Should the files that were opened in previous sessions be reopened at startup?'
    */
    static
    void setReopenPreviouslyOpenedFilesMode( const QString & v )
    {
      if (!self()->isReopenPreviouslyOpenedFilesModeImmutable())
        self()->mReopenPreviouslyOpenedFilesMode = v;
    }

    /**
      Get The answer to the question 'Should the files that were opened in previous sessions be reopened at startup?'
    */
    static
    QString reopenPreviouslyOpenedFilesMode()
    {
      return self()->mReopenPreviouslyOpenedFilesMode;
    }

    /**
      Is The answer to the question 'Should the files that were opened in previous sessions be reopened at startup?' Immutable
    */
    static
    bool isReopenPreviouslyOpenedFilesModeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "reopenPreviouslyOpenedFilesMode" ) );
    }

    /**
      Set If true, the bird's eye view will be shown if needed.
    */
    static
    void setBirdsEyeViewEnabled( bool v )
    {
      if (!self()->isBirdsEyeViewEnabledImmutable())
        self()->mBirdsEyeViewEnabled = v;
    }

    /**
      Get If true, the bird's eye view will be shown if needed.
    */
    static
    bool birdsEyeViewEnabled()
    {
      return self()->mBirdsEyeViewEnabled;
    }

    /**
      Is If true, the bird's eye view will be shown if needed. Immutable
    */
    static
    bool isBirdsEyeViewEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "birdsEyeViewEnabled" ) );
    }

    /**
      Set The list of files that were opened in past instances of kgraphviewer
    */
    static
    void setPreviouslyOpenedFiles( const QStringList & v )
    {
      if (!self()->isPreviouslyOpenedFilesImmutable())
        self()->mPreviouslyOpenedFiles = v;
    }

    /**
      Get The list of files that were opened in past instances of kgraphviewer
    */
    static
    QStringList previouslyOpenedFiles()
    {
      return self()->mPreviouslyOpenedFiles;
    }

    /**
      Is The list of files that were opened in past instances of kgraphviewer Immutable
    */
    static
    bool isPreviouslyOpenedFilesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "PreviouslyOpenedFiles" ) );
    }

    /**
      Set Background color of the graph view.
    */
    static
    void setBackgroundColor( const QColor & v )
    {
      if (!self()->isBackgroundColorImmutable())
        self()->mBackgroundColor = v;
    }

    /**
      Get Background color of the graph view.
    */
    static
    QColor backgroundColor()
    {
      return self()->mBackgroundColor;
    }

    /**
      Is Background color of the graph view. Immutable
    */
    static
    bool isBackgroundColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "backgroundColor" ) );
    }

  protected:
    KGraphViewerSettings();
    friend class KGraphViewerSettingsHelper;


    // Notification Messages
    QString mReloadOnChangeMode;
    QString mParsingMode;
    QString mOpenInExistingWindowMode;
    QString mReopenPreviouslyOpenedFilesMode;
    bool mBirdsEyeViewEnabled;
    QStringList mPreviouslyOpenedFiles;

    // Appearance
    QColor mBackgroundColor;
};

#endif

