Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
b55c0ed8
Commit
b55c0ed8
authored
Feb 16, 2010
by
Thomas Hartmann
Browse files
QMlDesigner.propertyEditor: perfomance optimization
Only update geometry based properties in transformChanged()
parent
0246e28a
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
View file @
b55c0ed8
...
...
@@ -295,10 +295,31 @@ void PropertyEditor::anyPropertyChanged(const QmlObjectNode &fxObjectNode)
}
}
void
PropertyEditor
::
geometryPropertyChanged
(
const
QmlObjectNode
&
fxObjectNode
)
{
if
(
fxObjectNode
.
isValid
()
&&
m_currentType
&&
fxObjectNode
==
m_selectedNode
&&
fxObjectNode
.
currentState
().
isValid
())
{
QStringList
geometryProperties
;
geometryProperties
<<
"x"
<<
"y"
<<
"width"
<<
"height"
<<
"rotation"
<<
"scale"
;
foreach
(
const
QString
&
propertyName
,
geometryProperties
)
{
if
(
propertyName
!=
"id"
&&
propertyName
!=
"objectName"
)
{
AbstractProperty
property
=
fxObjectNode
.
modelNode
().
property
(
propertyName
);
if
(
fxObjectNode
==
m_selectedNode
||
QmlObjectNode
(
m_selectedNode
).
propertyChangeForCurrentState
()
==
fxObjectNode
)
{
if
(
m_selectedNode
.
property
(
property
.
name
()).
isBindingProperty
()
||
!
m_selectedNode
.
hasProperty
(
propertyName
))
m_currentType
->
setValue
(
m_selectedNode
,
property
.
name
(),
QmlObjectNode
(
m_selectedNode
).
instanceValue
(
property
.
name
()));
else
m_currentType
->
setValue
(
m_selectedNode
,
property
.
name
(),
QmlObjectNode
(
m_selectedNode
).
modelValue
(
property
.
name
()));
}
}
}
}
}
void
PropertyEditor
::
otherPropertyChanged
(
const
QmlObjectNode
&
fxObjectNode
)
{
QmlModelView
::
otherPropertyChanged
(
fxObjectNode
);
return
;
anyPropertyChanged
(
fxObjectNode
);
}
...
...
@@ -307,6 +328,8 @@ void PropertyEditor::transformChanged(const QmlObjectNode &fxObjectNode)
QmlModelView
::
transformChanged
(
fxObjectNode
);
anyPropertyChanged
(
fxObjectNode
);
return
;
}
void
PropertyEditor
::
setQmlDir
(
const
QString
&
qmlDir
)
...
...
src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
View file @
b55c0ed8
...
...
@@ -84,6 +84,7 @@ public:
void
anyPropertyChanged
(
const
QmlObjectNode
&
qmlObjectNode
);
void
geometryPropertyChanged
(
const
QmlObjectNode
&
fxObjectNode
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment