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

0001 /*
0002     KT environment variable editor window 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 <QCheckBox>
0012 #include <QComboBox>
0013 #include <QDialog>
0014 #include <QLabel>
0015 #include <QLineEdit>
0016 #include <QTextEdit>
0017 
0018 #include <KTitleWidget>
0019 
0020 class CTVariable;
0021 class CrontabWidget;
0022 
0023 /**
0024  * Environment variable editor window.
0025  */
0026 class VariableEditorDialog : public QDialog
0027 {
0028     Q_OBJECT
0029 
0030 public:
0031     /**
0032      * Initialize from CTVariable.
0033      */
0034     explicit VariableEditorDialog(CTVariable *_ctVariable, const QString &_caption, CrontabWidget *crontabWidget);
0035 
0036     /**
0037      * Destroy.
0038      */
0039     ~VariableEditorDialog() override;
0040 
0041 private Q_SLOTS:
0042 
0043     /**
0044      * Setup title widget
0045      */
0046     void setupTitleWidget(const QString &comment = QLatin1String(""), KTitleWidget::MessageType = KTitleWidget::PlainMessage);
0047 
0048     /**
0049      * Enable / disable variable
0050      */
0051     void slotEnabled();
0052 
0053     /**
0054      * Apply changes and close.
0055      */
0056     void slotOk();
0057 
0058     /**
0059      * Run the wizard.
0060      */
0061     void slotWizard();
0062 
0063 private:
0064     /**
0065      * Environment variable.
0066      */
0067     CTVariable *mCtVariable = nullptr;
0068 
0069     CrontabWidget *mCrontabWidget = nullptr;
0070 
0071     // Widgets.
0072     KTitleWidget *mTitleWidget = nullptr;
0073     QPushButton *mOkButton = nullptr;
0074 
0075     QComboBox *mCmbVariable = nullptr;
0076 
0077     QLabel *mDetailsIcon = nullptr;
0078     QLabel *mDetails = nullptr;
0079 
0080     QLineEdit *mLeValue = nullptr;
0081 
0082     QTextEdit *mTeComment = nullptr;
0083 
0084     QCheckBox *mChkEnabled = nullptr;
0085 
0086     QComboBox *mUserCombo = nullptr;
0087 };
0088