Kstars

profilescript.h
1/*
2 SPDX-FileCopyrightText: 2022 Jasem Mutlaq <mutlaqja@ikarustech.com>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <QWidget>
10#include <QJsonObject>
11
12class QComboBox;
13class QSpinBox;
14class QLineEdit;
15class QPushButton;
16
17class ProfileScript : public QWidget
18{
20 Q_PROPERTY(uint PreDelay MEMBER m_PreDelay)
21 Q_PROPERTY(QString PreScript MEMBER m_PreScript)
22 Q_PROPERTY(QString Driver MEMBER m_Driver)
23 Q_PROPERTY(uint PostDelay MEMBER m_PostDelay)
24 Q_PROPERTY(QString PostScript MEMBER m_PostScript)
25 Q_PROPERTY(uint StoppingDelay MEMBER m_StoppingDelay)
26 Q_PROPERTY(QString StoppingScript MEMBER m_StoppingScript)
27 Q_PROPERTY(uint StoppedDelay MEMBER m_StoppedDelay)
28 Q_PROPERTY(QString StoppedScript MEMBER m_StoppedScript)
29
30 public:
31 explicit ProfileScript(QWidget *parent = nullptr);
32 void setDriverList(const QStringList &value);
33 void syncGUI();
34 QJsonObject toJSON() const;
35
36 protected:
37 QString m_PreScript, m_PostScript, m_Driver, m_StoppingScript, m_StoppedScript;
38 uint m_PreDelay {0}, m_PostDelay {0}, m_StoppingDelay {0}, m_StoppedDelay {0};
39
40 private:
41 QComboBox *m_DriverCombo {nullptr};
42 QSpinBox *m_PreDelaySpin {nullptr}, *m_PostDelaySpin {nullptr}, *m_StoppingDelaySpin {nullptr}, *m_StoppedDelaySpin {nullptr};
43 QLineEdit *m_PreScriptEdit {nullptr}, *m_PostScriptEdit {nullptr}, *m_StoppingScriptEdit {nullptr}, *m_StoppedScriptEdit {nullptr};
44 QPushButton *m_PreScriptB {nullptr}, *m_PostScriptB {nullptr}, *m_RemoveB {nullptr}, *m_StoppingScriptB {nullptr}, *m_StoppedScriptB {nullptr};
45
46 signals:
47 void removedRequested();
48
49 protected:
50 void selectPreScript();
51 void selectPostScript();
52 void selectStoppingScript();
53 void selectStoppedScript();
54
55};
56
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
QObject * parent() const const
QWidget(QWidget *parent, Qt::WindowFlags f)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Apr 25 2025 11:58:36 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.