forked from qt-creator/qt-creator
QmlDesigner: Adding support for padding
This property has been added to Qt Quick 2.6. We do not show the padding section for Qt Quick versions that do not support padding. Change-Id: I10123c65849e1708d452320ba3e3b4cb19f5b5bb Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
6884ab080e
commit
da202bff82
@@ -80,9 +80,6 @@ PropertyEditorContextObject::PropertyEditorContextObject(QObject *parent) :
|
||||
m_isBaseState(false),
|
||||
m_selectionChanged(false),
|
||||
m_backendValues(0),
|
||||
m_majorVersion(-1),
|
||||
m_minorVersion(-1),
|
||||
m_majorQtQuickVersion(-1),
|
||||
m_qmlComponent(0),
|
||||
m_qmlContext(0)
|
||||
{
|
||||
@@ -167,7 +164,12 @@ int PropertyEditorContextObject::majorVersion() const
|
||||
|
||||
int PropertyEditorContextObject::majorQtQuickVersion() const
|
||||
{
|
||||
return m_majorQtQuickVersion;
|
||||
return m_majorQtQuickVersion;
|
||||
}
|
||||
|
||||
int PropertyEditorContextObject::minorQtQuickVersion() const
|
||||
{
|
||||
return m_minorQtQuickVersion;
|
||||
}
|
||||
|
||||
void PropertyEditorContextObject::setMajorVersion(int majorVersion)
|
||||
@@ -191,6 +193,16 @@ void PropertyEditorContextObject::setMajorQtQuickVersion(int majorVersion)
|
||||
|
||||
}
|
||||
|
||||
void PropertyEditorContextObject::setMinorQtQuickVersion(int minorVersion)
|
||||
{
|
||||
if (m_minorQtQuickVersion == minorVersion)
|
||||
return;
|
||||
|
||||
m_minorQtQuickVersion = minorVersion;
|
||||
|
||||
emit minorQtQuickVersionChanged();
|
||||
}
|
||||
|
||||
int PropertyEditorContextObject::minorVersion() const
|
||||
{
|
||||
return m_minorVersion;
|
||||
|
||||
@@ -51,6 +51,7 @@ class PropertyEditorContextObject : public QObject
|
||||
Q_PROPERTY(int majorVersion READ majorVersion WRITE setMajorVersion NOTIFY majorVersionChanged)
|
||||
Q_PROPERTY(int minorVersion READ minorVersion WRITE setMinorVersion NOTIFY minorVersionChanged)
|
||||
Q_PROPERTY(int majorQtQuickVersion READ majorQtQuickVersion WRITE setMajorQtQuickVersion NOTIFY majorQtQuickVersionChanged)
|
||||
Q_PROPERTY(int minorQtQuickVersion READ minorQtQuickVersion WRITE setMinorQtQuickVersion NOTIFY minorQtQuickVersionChanged)
|
||||
|
||||
Q_PROPERTY(bool hasAliasExport READ hasAliasExport NOTIFY hasAliasExportChanged)
|
||||
|
||||
@@ -81,8 +82,10 @@ public:
|
||||
|
||||
int majorVersion() const;
|
||||
int majorQtQuickVersion() const;
|
||||
int minorQtQuickVersion() const;
|
||||
void setMajorVersion(int majorVersion);
|
||||
void setMajorQtQuickVersion(int majorVersion);
|
||||
void setMinorQtQuickVersion(int minorVersion);
|
||||
int minorVersion() const;
|
||||
void setMinorVersion(int minorVersion);
|
||||
|
||||
@@ -102,6 +105,7 @@ signals:
|
||||
void majorVersionChanged();
|
||||
void minorVersionChanged();
|
||||
void majorQtQuickVersionChanged();
|
||||
void minorQtQuickVersionChanged();
|
||||
void specificQmlComponentChanged();
|
||||
void hasAliasExportChanged();
|
||||
|
||||
@@ -137,9 +141,10 @@ private:
|
||||
|
||||
QQmlPropertyMap* m_backendValues;
|
||||
|
||||
int m_majorVersion;
|
||||
int m_minorVersion;
|
||||
int m_majorQtQuickVersion;
|
||||
int m_majorVersion = 1;
|
||||
int m_minorVersion = 1;
|
||||
int m_majorQtQuickVersion = 1;
|
||||
int m_minorQtQuickVersion = -1;
|
||||
QQmlComponent *m_qmlComponent;
|
||||
QQmlContext *m_qmlContext;
|
||||
|
||||
|
||||
@@ -328,10 +328,12 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q
|
||||
} else {
|
||||
contextObject()->setMajorVersion(-1);
|
||||
contextObject()->setMinorVersion(-1);
|
||||
contextObject()->setMajorQtQuickVersion(-1);
|
||||
contextObject()->setMajorQtQuickVersion(-1);
|
||||
contextObject()->setMinorQtQuickVersion(-1);
|
||||
}
|
||||
|
||||
contextObject()->setMajorQtQuickVersion(qmlObjectNode.view()->majorQtQuickVersion());
|
||||
contextObject()->setMinorQtQuickVersion(qmlObjectNode.view()->minorQtQuickVersion());
|
||||
} else {
|
||||
qWarning() << "PropertyEditor: invalid node for setup";
|
||||
}
|
||||
|
||||
@@ -236,6 +236,7 @@ public:
|
||||
QmlModelState currentState() const;
|
||||
|
||||
int majorQtQuickVersion() const;
|
||||
int minorQtQuickVersion() const;
|
||||
|
||||
void resetView();
|
||||
|
||||
|
||||
@@ -672,6 +672,21 @@ QmlModelState AbstractView::currentState() const
|
||||
return QmlModelState(currentStateNode());
|
||||
}
|
||||
|
||||
static int getMinorVersionFromImport(const Model *model)
|
||||
{
|
||||
foreach (const Import &import, model->imports()) {
|
||||
if (import.isLibraryImport() && import.url() == "QtQuick") {
|
||||
const QString versionString = import.version();
|
||||
if (versionString.contains(".")) {
|
||||
const QString minorVersionString = versionString.split(".").last();
|
||||
return minorVersionString.toInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int getMajorVersionFromImport(const Model *model)
|
||||
{
|
||||
foreach (const Import &import, model->imports()) {
|
||||
@@ -702,6 +717,21 @@ static int getMajorVersionFromNode(const ModelNode &modelNode)
|
||||
return 1; //default
|
||||
}
|
||||
|
||||
static int getMinorVersionFromNode(const ModelNode &modelNode)
|
||||
{
|
||||
if (modelNode.metaInfo().isValid()) {
|
||||
if (modelNode.type() == "QtQuick.QtObject" || modelNode.type() == "QtQuick.Item")
|
||||
return modelNode.minorVersion();
|
||||
|
||||
foreach (const NodeMetaInfo &superClass, modelNode.metaInfo().superClasses()) {
|
||||
if (modelNode.type() == "QtQuick.QtObject" || modelNode.type() == "QtQuick.Item")
|
||||
return superClass.minorVersion();
|
||||
}
|
||||
}
|
||||
|
||||
return 1; //default
|
||||
}
|
||||
|
||||
int AbstractView::majorQtQuickVersion() const
|
||||
{
|
||||
int majorVersionFromImport = getMajorVersionFromImport(model());
|
||||
@@ -711,4 +741,14 @@ int AbstractView::majorQtQuickVersion() const
|
||||
return getMajorVersionFromNode(rootModelNode());
|
||||
}
|
||||
|
||||
int AbstractView::minorQtQuickVersion() const
|
||||
{
|
||||
int minorVersionFromImport = getMinorVersionFromImport(model());
|
||||
if (minorVersionFromImport >= 0)
|
||||
return minorVersionFromImport;
|
||||
|
||||
return getMinorVersionFromNode(rootModelNode());
|
||||
}
|
||||
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
||||
Reference in New Issue
Block a user