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

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

class KSystemLogConfig : public KConfigSkeleton
{
  public:

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

    /**
      Set Load this log mode at startup.
    */
    static
    void setStartupLogMode( const QString & v )
    {
      if (!self()->isStartupLogModeImmutable())
        self()->mStartupLogMode = v;
    }

    /**
      Get Load this log mode at startup.
    */
    static
    QString startupLogMode()
    {
      return self()->mStartupLogMode;
    }

    /**
      Is Load this log mode at startup. Immutable
    */
    static
    bool isStartupLogModeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "StartupLogMode" ) );
    }

    /**
      Set The log view line count limit.
    */
    static
    void setMaxLines( int v )
    {
      if (!self()->isMaxLinesImmutable())
        self()->mMaxLines = v;
    }

    /**
      Get The log view line count limit.
    */
    static
    int maxLines()
    {
      return self()->mMaxLines;
    }

    /**
      Is The log view line count limit. Immutable
    */
    static
    bool isMaxLinesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "MaxLines" ) );
    }

    /**
      Set Option is true if the user wants to delete repeated log lines.
    */
    static
    void setDeleteDuplicatedLines( bool v )
    {
      if (!self()->isDeleteDuplicatedLinesImmutable())
        self()->mDeleteDuplicatedLines = v;
    }

    /**
      Get Option is true if the user wants to delete repeated log lines.
    */
    static
    bool deleteDuplicatedLines()
    {
      return self()->mDeleteDuplicatedLines;
    }

    /**
      Is Option is true if the user wants to delete repeated log lines. Immutable
    */
    static
    bool isDeleteDuplicatedLinesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DeleteDuplicatedLines" ) );
    }

    /**
      Set Option is true if the PID in the process column of the SystemLog is to be omitted.
    */
    static
    void setDeleteProcessIdentifier( bool v )
    {
      if (!self()->isDeleteProcessIdentifierImmutable())
        self()->mDeleteProcessIdentifier = v;
    }

    /**
      Get Option is true if the PID in the process column of the SystemLog is to be omitted.
    */
    static
    bool deleteProcessIdentifier()
    {
      return self()->mDeleteProcessIdentifier;
    }

    /**
      Is Option is true if the PID in the process column of the SystemLog is to be omitted. Immutable
    */
    static
    bool isDeleteProcessIdentifierImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DeleteProcessIdentifier" ) );
    }

    /**
      Set Option is true if the log lines are to be colored depending on their log level.
    */
    static
    void setColorizeLogLines( bool v )
    {
      if (!self()->isColorizeLogLinesImmutable())
        self()->mColorizeLogLines = v;
    }

    /**
      Get Option is true if the log lines are to be colored depending on their log level.
    */
    static
    bool colorizeLogLines()
    {
      return self()->mColorizeLogLines;
    }

    /**
      Is Option is true if the log lines are to be colored depending on their log level. Immutable
    */
    static
    bool isColorizeLogLinesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ColorizeLogLines" ) );
    }

    /**
      Set Whether the tooltips are enabled.
    */
    static
    void setTooltipEnabled( bool v )
    {
      if (!self()->isTooltipEnabledImmutable())
        self()->mTooltipEnabled = v;
    }

    /**
      Get Whether the tooltips are enabled.
    */
    static
    bool tooltipEnabled()
    {
      return self()->mTooltipEnabled;
    }

    /**
      Is Whether the tooltips are enabled. Immutable
    */
    static
    bool isTooltipEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "TooltipEnabled" ) );
    }

    /**
      Set Whether new lines are displayed.
    */
    static
    void setNewLinesDisplayed( bool v )
    {
      if (!self()->isNewLinesDisplayedImmutable())
        self()->mNewLinesDisplayed = v;
    }

    /**
      Get Whether new lines are displayed.
    */
    static
    bool newLinesDisplayed()
    {
      return self()->mNewLinesDisplayed;
    }

    /**
      Is Whether new lines are displayed. Immutable
    */
    static
    bool isNewLinesDisplayedImmutable()
    {
      return self()->isImmutable( QStringLiteral( "NewLinesDisplayed" ) );
    }

    /**
      Set Whether the filter bar is shown.
    */
    static
    void setToggleFilterBar( bool v )
    {
      if (!self()->isToggleFilterBarImmutable())
        self()->mToggleFilterBar = v;
    }

    /**
      Get Whether the filter bar is shown.
    */
    static
    bool toggleFilterBar()
    {
      return self()->mToggleFilterBar;
    }

    /**
      Is Whether the filter bar is shown. Immutable
    */
    static
    bool isToggleFilterBarImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ToggleFilterBar" ) );
    }

    /**
      Set The date format of log lines.
    */
    static
    void setDateFormat( int v )
    {
      if (!self()->isDateFormatImmutable())
        self()->mDateFormat = v;
    }

    /**
      Get The date format of log lines.
    */
    static
    int dateFormat()
    {
      return self()->mDateFormat;
    }

    /**
      Is The date format of log lines. Immutable
    */
    static
    bool isDateFormatImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DateFormat" ) );
    }

  protected:
    KSystemLogConfig();
    friend class KSystemLogConfigHelper;


    // KSystemLogGeneral
    QString mStartupLogMode;
    int mMaxLines;
    bool mDeleteDuplicatedLines;
    bool mDeleteProcessIdentifier;
    bool mColorizeLogLines;
    bool mTooltipEnabled;
    bool mNewLinesDisplayed;
    bool mToggleFilterBar;
    int mDateFormat;
};

#endif

