1 | // Copyright (C) 2016 The Qt Company Ltd. |
---|---|
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 |
3 | |
4 | #ifndef PROPERTY_H |
5 | #define PROPERTY_H |
6 | |
7 | #include "library/proitems.h" |
8 | #include "propertyprinter.h" |
9 | |
10 | #include <qglobal.h> |
11 | #include <qstring.h> |
12 | #include <qhash.h> |
13 | |
14 | QT_BEGIN_NAMESPACE |
15 | |
16 | class QSettings; |
17 | |
18 | class QMakeProperty final |
19 | { |
20 | QSettings *settings; |
21 | void initSettings(); |
22 | |
23 | QHash<ProKey, ProString> m_values; |
24 | |
25 | public: |
26 | QMakeProperty(); |
27 | ~QMakeProperty(); |
28 | |
29 | void reload(); |
30 | |
31 | bool hasValue(const ProKey &); |
32 | ProString value(const ProKey &); |
33 | |
34 | void setValue(QString, const QString &); |
35 | void remove(const QString &); |
36 | |
37 | int queryProperty(const QStringList &optionProperties = QStringList(), |
38 | const PropertyPrinter &printer = qmakePropertyPrinter); |
39 | int setProperty(const QStringList &optionProperties); |
40 | void unsetProperty(const QStringList &optionProperties); |
41 | }; |
42 | |
43 | QT_END_NAMESPACE |
44 | |
45 | #endif // PROPERTY_H |
46 |