Commit Graph

57 Commits

Author SHA1 Message Date
Eike Ziller
205c930592 Merge remote-tracking branch 'origin/4.6'
Change-Id: I63f8aebb201936f671b1486ff9420f67e5e3fafc
2018-03-01 15:46:37 +01:00
Thomas Hartmann
8cece3226c QmlDesigner: Fix crash in puppet
The infinite recursion occurs because we call QFileInfo::exists()
even if no change/fix is done, if a file in a resource if actually
missing.

If fileName != fixedPath the ":" prefix has been replaced by an
absolute path and a new call to ::create will early reject.
Typically the directories do not match, so nothing is replaced.
This crashed without the fix.
With the fix we will always remove the ":" prefix
and therefore we do not try to handle the "fixed" case.
Even, a broken path that contains multiple ":" we would
only handle a finite number of times until all ":" are fixed.

Change-Id: Ie13cedc1212bb58a16c61e0137128539d189269d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-02-28 16:14:24 +00:00
hjk
73c72fa6a7 QmlPuppet: Remove unused static function
Change-Id: I8c439f87c30b4b4102f0839cc745120568e6f34f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-02-28 07:23:47 +00:00
Thomas Hartmann
4ab5dbeb3a QmlDesigner: Use file engine to resolve resources in puppet
Task-number: QTCREATORBUG-19729
Change-Id: I1297180e29446429b949fc0bbc1b74055018bc28
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-02-14 11:49:42 +00:00
Tim Jenssen
d5342eff77 fix property spelling
Change-Id: I00f84ec8d2c83d7f3937d2e21a24e02ba28991b3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-17 10:38:08 +00:00
Tim Jenssen
12c65d2650 QmlDesigner: improve fixResourcePath()
Change-Id: I675dfe507dbe2989b0a015baf75d0423ba088993
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-04-26 09:22:25 +00:00
Montel Laurent
d29396b164 Use qEnvironmentVariableIsEmpty or qEnvironmentVariableIsSet directly
Change-Id: I4f2e61e4bade9e7b4518d144db8163e596ab6264
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-04-19 08:00:14 +00:00
Montel Laurent
5d27bc747b Use QFileInfo::exists(...) which is faster that QFileInfo(..).exists
Change-Id: I0d2e61d84c74e60ef4f54074a4ca00f2d0835562
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-04-14 13:18:28 +00:00
Thomas Hartmann
a63c431916 QmlDesigner: Fix fixResourcePaths()
QML does not accept absolute paths (e.g. C:\working\something\) as urls.
We need the file:/// prefix.

Change-Id: I9df74cd9c0e730fba056af971751f8eb88cdb536
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-29 13:14:52 +00:00
Tim Jenssen
5dd8e7214a QmlDesigner: fix url
Problem was that a file added to resource it
wasn't shown in the canvas.

Change-Id: I57610db8a55791c409bd249d698bf757cde153b9
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-22 13:17:05 +00:00
Thomas Hartmann
9065697572 QmlDesigner: Support .qrc files in the qml2puppet
The code model knows about .qrc files and has a mapping
that we forward to the qml2puppet.
Support for .qrc was broken when introducing the QmlPrivateGate.

Change-Id: I22d1c1add65d0c9a914e471dbe51ef505f308494
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-10 14:24:26 +00:00
Eike Ziller
0c5bae640b Merge remote-tracking branch 'origin/4.0'
Change-Id: I80bc3371c6d7cf9f2d46cbcf8e79e4761213d8aa
2016-05-27 12:01:36 +02:00
Orgad Shaneh
a16bee8bc2 QmlPuppet: Add missing braces
Detected by GCC6

Change-Id: I62ad2da87477251b6abbf8f5c33c6a392787fb41
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-05-20 09:06:47 +00:00
Eike Ziller
4a826ada04 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I0cbc9d335073e3234f472aa43f462eef9a9178aa
2016-04-22 15:13:58 +02:00
Ulf Hermann
06b09cf4a9 QmlPuppet: Don't compare C string literals with ==
Change-Id: Idaafbc650849744af660e896bf875bdd43e6ae36
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-04-21 09:50:25 +00:00
Eike Ziller
5c87432260 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp

Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
2016-04-12 11:34:46 +02:00
Tim Jenssen
217fef2b1b QmlDesigner: fix binding is not working
Change-Id: Ic40eca09f281626428157dd94ed802c846b2f7e9
Task-number: QTCREATORBUG-15942
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-04-06 15:18:11 +00:00
hjk
39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +00:00
Oswald Buddenhagen
3c2f0096ea Merge remote-tracking branch 'origin/4.0' 2016-03-22 15:23:12 +01:00
Tim Jenssen
3cf5f29719 QmlPuppet: fix Qt 5.5 builds
Change-Id: I520be5d188e637c222ba3e709f072e2881b20db9
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-22 13:15:36 +00:00
hjk
49735ee5ee QmlPuppet: Make compile without QT_RESTRICTED_CAST_FROM_ASCII removed
Change-Id: I535efad65b2224337c133463da075953cc878c6c
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-18 14:17:04 +00:00
Christian Stenger
0e7c5a1c7e Revert "QmlDesigner: call directly the invalidate method"
This reverts commit 74e863f867 as it
breaks compile with Qt5.4.

Change-Id: Ifce52a7790c4f40ce0ccd56a2daacc4d32fe3257
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-01-21 12:15:08 +00:00
Tim Jenssen
74e863f867 QmlDesigner: call directly the invalidate method
Change-Id: Ic54f7d84000f3b7569128a50496c3f29354bec58
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-01-21 09:57:08 +00:00
Tobias Hunger
38cce7eb83 Update License according to agreement with Free Qt Foundation
* Update all files in share folder

Change-Id: I8a82c3eb2eb614d4339dd4c4e690f54b5f29d813
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-01-19 16:05:29 +00:00
Thomas Hartmann
de0ed107a2 QmlDesigner: Adding layouts to doResetProperty()
Those have to be hard coded in our code.

Change-Id: I2bdaec0716aeca56df9476f124a47e2dfc1658cb
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-10-06 10:16:20 +00:00
Alessandro Portale
374f84acc7 Qt Quick Designer: License change to Qt Commercial + GPLv3
Change-Id: I7f7aecd02892b6c616cd148fa5d845e7bc0d3b4f
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-09-18 12:12:57 +00:00
Tobias Hunger
7adb56afde QmlPuppet: Fix warning about unused static function
Change-Id: I3a7fbc18a8fe6b208600996bfa45202389009a18
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-09-15 14:21:47 +00:00
Tobias Hunger
83cea95b95 QmlPuppet: Fix warning about overriding method
Change-Id: I3cee4ab6ae27c56808e69adb9da0ffed336c3ff2
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-09-15 14:21:40 +00:00
Thomas Hartmann
ced554aaab Qml2Puppet: Use helper functions from Qt 5.6
In Qt 5.6 we do not need to access the private API directly.
QmlPrivateGate is forwarded to the helper functions in Qt.

This removes direct dependencies to QML internals in qml2puppet.

Change-Id: I274cb306815824c988b6d79966f007298f6d1e60
(cherry picked from commit d6d0bd60357a41cd6c83b511fd30ab12157ed95d)
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-08-26 12:31:51 +00:00
Friedemann Kleint
e603cafbe5 qmlpuppet: Fix build against Qt 5.6
Change-Id: Ia8417541888fa6a9b282db39f906024e83fee196
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-08-25 08:15:10 +00:00
Thomas Hartmann
6dfd03596f QmlDesigner.QmlPuppet: Fix compile for Qt 5.6
Change-Id: I231bcf61e813db14c0958565cf76dd4df56b4e99
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-07-14 10:28:10 +00:00
Thomas Hartmann
98c31cfcbc QmlDesigner: Fix compilation of qml2puppet for Qt 5.6
The internal API for bindings did change

Change-Id: Ia12e5d855911aedba1c78d6bb54c7f5892f65488
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-07-02 06:53:31 +00:00
Thomas Hartmann
fa6d623dfa QmlPuppet: Remove dependency on ObjectNodeInstance in MetaInfo
MetaInfo cannot depend on ObjectNodeInstance.
I forward the QObject and the QmlEngine all the way through.
The commented code in metainfo.cpp is about defining a context
for the root item. The feature is basically unused, but we can bring
it back using a callback later.

Change-Id: I8f099b06c848e2faeaafc011ac6bd313192a64bd
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-05-21 10:17:38 +00:00
Thomas Hartmann
c9eb75e2f8 QmlPuppet: Register callback for notifyPropertyChange
MetaObject cannot have a dependency on ObjectNodeInstance.
Instead we register a callback.

Change-Id: I9f6e096c67caf1abd525201c9bacd363d31a2fa2
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-05-21 10:11:48 +00:00
Thomas Hartmann
0321f6e1a7 QmlPuppet: Clean up private API usage in ServerNodeInstance
Change-Id: Ic0890c8c6740ad2c4567b58ec9b51933d0293fc1
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-05-21 10:11:40 +00:00
Thomas Hartmann
4a0a1a2b75 QmlPuppet: Clean up private API usage in QmlPropertyChangesNodeInstance
Change-Id: I007bd0a8bf5be42f0f6e9ce193a35fa8a3d3f1aa
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-05-21 10:11:33 +00:00
Thomas Hartmann
4763acbd95 QmlPuppet: Clean up private API usage in QmlStateNodeInstance
Change-Id: If1c8cee81cbdd6f90808a824c2b4d023dd8a3e12
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-21 07:39:35 +00:00
Thomas Hartmann
c919795a08 QmlPuppet: Bring back simplified NodeInstanceSignalSpy
A simplified version of NodeInstanceSignalSpy is required to track
sub objects. I moved all private API usage to QmlPrivateGate.

Change-Id: I86e3e5411eb43777a6b1ab5018a1b8fb9088c666
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-21 07:39:25 +00:00
Thomas Hartmann
a577600d12 QmlPuppet: Remove unused code
Change-Id: I1d6e136748ea8242ff0149f4612a32d71394999f
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:53 +00:00
Thomas Hartmann
afd903c4a4 QmlPuppet: Remove private dependencies from NodeInstanceServer
Change-Id: I386bd18704020d0b174cda224c4cf46245227877
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:43 +00:00
Thomas Hartmann
0d67510270 QmlPuppet: Remove private dependencies from BehaviorNodeInstance
Change-Id: I16f2c4189f7b68bf1cff90d0a9987b4bf4212905
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:24 +00:00
Thomas Hartmann
43d716bb5a QmlPuppet: Remove private dependencies from QmlTransitionNodeInstance
Change-Id: I8a5144947469a3c7f368fa6b18781c0d07b4d850
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:17 +00:00
Thomas Hartmann
f86eb9b78c QmlPuppet: Move functions from QuickItemNodeInstance to QmlPrivateGate
No need to use private API in QuickItemNodeInstance.

Change-Id: I5450ea41571c2787081cc88f59494a28eea5546c
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:05 +00:00
Thomas Hartmann
a1f70b965a QmlPuppet: Adding objectWasDeleted to QmlPrivateGate
Change-Id: I5dadc879f0c6a02ca29c35fff1847b3c7b0a0972
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:01:53 +00:00
Thomas Hartmann
f3abe73956 QmlPuppet: Adding keepBindingFromGettingDeleted to QmlPrivateGate
Change-Id: I51d0d29939b6fbd3fc309c092654f373abd8f179
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:01:48 +00:00
Thomas Hartmann
c6047e06e6 QmlPuppet: Move setPropertyBinding() to QmlPrivateGate
We cannot keep the context.
The context has to be forwarded each time.

Change-Id: I50b944bea1c6ad30832490edad8b35f392c32029
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:01:44 +00:00
Thomas Hartmann
d06980f9bb QmlPuppet: Move doComponentCompleteRecursive to QmlPrivateGate
Change-Id: Ib6ccf791e1dd74878e04c8248bed371fb08084cf
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:01:28 +00:00
Thomas Hartmann
a54bdf3dc7 QmlPuppet: Introduce DesignerCustomObjectData
This class holds the additional data we use to annotate QObject.
At the moment we store the default values and bindings there.
I also moved the code to populate and read the hashes
into that class.

Change-Id: Ib5e4b5291cfd2bf5555a896bf42578d07f2c6253
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 12:49:40 +00:00
Thomas Hartmann
4d4320d598 QmlPuppet: Move hasFullImplementedListInterface to QmlPrivateGate
Change-Id: I42a744b67811cc49b616b742da46af5502d5e1a9
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 08:39:59 +00:00
hjk
589b76041e QmlPuppet: Compile fix for namespaced Qt
Change-Id: I53042de1fdc639e63068ce1f8cdd6e1c81151264
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-05-19 14:09:46 +00:00