File indexing completed on 2024-05-05 05:48:32
0001 /* 0002 CT Environment Variable Header 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 #include <QIcon> 0012 #include <QString> 0013 0014 /** 0015 * An environment variable (encapsulation of crontab environment variable 0016 * entry). Encapsulates parsing and tokenization. 0017 */ 0018 class CTVariable 0019 { 0020 public: 0021 /** 0022 * Constructs environment variable from crontab format string. 0023 */ 0024 explicit CTVariable(const QString &tokenString, const QString &_comment, const QString &_userLogin); 0025 0026 /** 0027 * Copy constructor. 0028 */ 0029 CTVariable(const CTVariable &source); 0030 0031 /** 0032 * Assignment operator. 0033 */ 0034 CTVariable &operator=(const CTVariable &source); 0035 0036 /** 0037 * Tokenizes environment variable to crontab format. 0038 */ 0039 QString exportVariable(); 0040 0041 /** 0042 * Mark changes as applied. 0043 */ 0044 void apply(); 0045 0046 /** 0047 * Cancel changes. 0048 */ 0049 void cancel(); 0050 0051 /** 0052 * Indicates whether or not the environment variable has been modified. 0053 */ 0054 bool dirty() const; 0055 0056 QIcon variableIcon() const; 0057 0058 QString information() const; 0059 0060 QString variable; 0061 QString value; 0062 QString comment; 0063 QString userLogin; 0064 0065 bool enabled; 0066 0067 private: 0068 QString mInitialVariable; 0069 QString mInitialValue; 0070 QString mInitialComment; 0071 QString mInitialUserLogin; 0072 bool mInitialEnabled; 0073 }; 0074