File indexing completed on 2024-04-21 05:45:50

0001 /*
0002     KT icons.
0003     --------------------------------------------------------------------
0004     SPDX-FileCopyrightText: 1999 Gary Meyer <gary@meyer.net>
0005     --------------------------------------------------------------------
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #pragma once
0010 
0011 /**
0012  * Crontab binary executable location
0013  * The $PATH variable could be used
0014  */
0015 #define CRONTAB_BINARY "crontab"
0016 
0017 #include <QString>
0018 #include <QVariantList>
0019 #include <QWidget>
0020 
0021 #include <KCModule>
0022 #include <KSharedConfig>
0023 
0024 class CTHost;
0025 class CrontabWidget;
0026 
0027 class KCMCron : public KCModule
0028 {
0029     Q_OBJECT
0030 
0031 public:
0032     KCMCron(QObject *parent);
0033 
0034     ~KCMCron() override;
0035 
0036     void load() override;
0037     void save() override;
0038     void defaults() override;
0039 
0040     /**
0041      * Additional init
0042      */
0043     bool init();
0044 
0045     /**
0046      * Returns a reference to the CTHost.
0047      */
0048     CTHost *ctHost() const;
0049 
0050     QString findCrontabBinary();
0051 
0052 private:
0053     /**
0054      * Main GUI view/working area.
0055      */
0056     CrontabWidget *mCrontabWidget = nullptr;
0057 
0058     /**
0059      * Document object, here crotab entries.
0060      */
0061     CTHost *mCtHost = nullptr;
0062 };
0063