Kstars

profilescriptdialog.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 <QDialog>
10#include <QJsonArray>
11#include <QList>
12
13class ProfileScript;
14class QVBoxLayout;
16class QLabel;
17
18class ProfileScriptDialog : public QDialog
19{
21
22
23 public:
24 explicit ProfileScriptDialog(const QStringList &drivers, const QByteArray &settings, QWidget *parent = nullptr);
25 const QJsonArray &jsonSettings() const
26 {
27 return m_ProfileScripts;
28 }
29
30 protected:
31
32 QJsonArray m_ProfileScripts;
33 QList<ProfileScript *> m_ProfileScriptWidgets;
34
35 void addRule();
36 void addJSONRule(QJsonObject settings);
37 void removeRule();
38 void generateSettings();
39 void parseSettings(const QByteArray &settings);
40
41 private:
42 QVBoxLayout *m_MainLayout {nullptr};
43 QDialogButtonBox *m_ButtonBox {nullptr};
44 QPushButton *m_AddRuleB {nullptr}, *m_RemoveRuleB {nullptr};
45 QStringList m_DriversList;
46 QLabel *m_DriverLabel {nullptr}, *m_PreLabel {nullptr}, *m_PostLabel {nullptr}, *m_PreStopLabel {nullptr}, *m_PostStopLabel;
47
48};
49
50
Q_OBJECTQ_OBJECT
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 May 2 2025 12:02:38 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.