Commit Graph

290 Commits

Author SHA1 Message Date
Thomas Hartmann
a6d16f85c4 QmlDesigner: Check for parent is not required
States actually have a parent.

Change-Id: Iaee31dec4d969c2f84224a2d93796d67f39fda77
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-11 07:28:35 +00:00
Thomas Hartmann
f952c3ee4a QmlDesigner: Fallback to create types from source
We fallback to create types from source, if other means failed.
This can be required if the meta info is incomplete/incorrect when
a C++ type is mocked.

Change-Id: I50d45a6f9d7eba3483da10d9e1d7d6644d9aeb96
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-31 14:30:40 +00:00
Thomas Hartmann
cb86cc3bdd QmlDesigner: Only register mockup object if not available
If a cpp type is somehow available do not create the mockup.

Change-Id: Ibd76429c3d1190c46a223062d77d676f728fe666
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-25 14:05:41 +00:00
Thomas Hartmann
034f1728ea QmlDesigner: Set QQuickItem parent if item is written to a property
The QQuickEngine does the same.

Before in cases like this:

Item {
   Slider {
      handle: Item {
      }
   }
}

The item parent of the handle was the root item instead of the slider.

Change-Id: Ia022c82c6d85c2a957763c56639ac77bca9297e6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-13 11:39:25 +00:00
Thomas Hartmann
4f2557e9cf QmlDesigner: Fix build of qml2puppet
If the qml2puppet is build for the custom Qt then
the build failed because of utils/algorithm.h.

There is currently no reason to use utils/algorithm.h
in the puppet.

Change-Id: I4fb2aa2e7df4a5087ff48318cc416b457779c96e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-07 10:20:23 +00:00
Tim Jenssen
83e128c2d9 QmlDesigner: refactor test import code
Change-Id: I4efaaacbbf2de23b8709535a7b9a2446f0a4b90e
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-10-06 15:50:11 +00:00
Tim Jenssen
0ca288f518 QmlDesigner: fix a crash when there are missing imports
Task-number: QTCREATORBUG-16963
Change-Id: I0d4c2e018b4849b2a32cd77da8c2f979fd3befb3
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-10-05 14:14:11 +00:00
Thomas Hartmann
d3b4acfae2 QmlDesigner: Allow qml2puppet to mockup C++ types
This allows Qt Quick Designer to register a component that can serve
as a mockup for known C++ components registered in e.g. main.cpp.

In many cases those components are the interface to the C++ backend.
While the C++ components itself are not relevant for the gui designer,
the user has to be able to instantiate gui components that use such C++
components.

We use the CreateSceneCommand to forward a list of C++ types to
qml2puppet.
Those types are then registered so that the imports and object institation
works.

Change-Id: I1543912f233f9a783998f3c6a1b48981b342ee80
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-04 08:59:24 +00:00
Tim Jenssen
5a11d5cd5b QmlDesigner: use initializer lists
Change-Id: Ie93861c7d8a5b2863ec8b111afceacc2c163715b
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-22 13:16:33 +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
Tim Jenssen
bc08c10764 QmlDesigner: do no refresh if there is no parent
Change-Id: I2299437ea97e884f4b7734129eec8246c87208ab
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-04-29 08:06:40 +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
Thomas Hartmann
27c00777d5 QmlDesigner: Fix assert
Trying to serialize a void start  using QVariant does assert.
Solution: Ignore properties of type void star.
This was triggered by TreeView.

Change-Id: Idca5646a472fdfce8761861f5bf889bb73300fff
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-21 13:06:49 +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
Thomas Hartmann
eb172fbbd4 QmlDesigner: Fix assert
Trying to serialize a QModelIndex using QVariant does assert.
Solution: Ignore properties of type QModelIndex.

Change-Id: Idca5646a472fdfce8761861f5bf889bb73340df7
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-06 13:10:04 +00:00
Eike Ziller
1ae483fc83 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/libs/utils/tcpportsgatherer.h

Change-Id: I495f3e05789f09efb8b1e84827893423a5b5b60c
2016-04-05 14:11:47 +02:00
Thomas Hartmann
b0af88c0dd Fixing crasing Timer
A "raw" QObject (created instead of the Timer) will crash the engine later. Instead we setup
the QObject using createPrimitive().

Task-number: QTCREATORBUG-15916
Change-Id: I5f0dd9c887fd57d492222d221e54f267e12a5044
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-05 11:09:07 +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
Eike Ziller
467def6996 Merge remote-tracking branch 'origin/4.0'
Change-Id: I3f28f1f53cf2b2228928fbd7accf25d87bb40243
2016-03-23 14:15:31 +01:00
Tim Jenssen
50b1bf629e QmlDesigner: remove unused code
Change-Id: I00bc1b533f065b87a8d1b46e3296f76bf05b85d4
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-03-23 12:13:48 +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
Thomas Hartmann
c7a6221e6e QmlDesigner: Evaluate properties for the root item in dummy context
We evaluate properties for the root item in dummy context if
they contain "parent.".

Defining a parent in the dummy context was not working for QML 2,
because there seems to be a shortcut bypassing the metasystem for parent.

Task-number: QTCREATORBUG-15530
Change-Id: I710f1ef36b8c97cc481b9909a775f06d9e03f666
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-10 11:30:05 +00:00
Thomas Hartmann
ece316fb64 QmlDesigner: Adding dummydata as context property
The dummyContextObject is now set as the context object

Change-Id: I710f1ef36b8c97cc481b9109a775f06d9e03f6b6
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-10 10:36:34 +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
Eike Ziller
98257617e9 Merge remote-tracking branch 'origin/3.6'
Conflicts:
	src/plugins/clangcodemodel/clangassistproposalmodel.cpp
	src/plugins/clangcodemodel/clangassistproposalmodel.h

Change-Id: Iba30d2f4d95fa0f551afe58890d15f5835dfb715
2016-01-19 16:41:17 +01:00
Thomas Hartmann
17e5cd7085 QmlDesigner: Fix crash in qml2puppet
We should not call updateDirtyNode() for items without a window.
This will assert later in consistency checks.

Change-Id: Iff3574123a1497206de88d59fcf630ead57ef593
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-19 12:04:44 +00:00
Tobias Hunger
bf48d54b27 Convert to Qt5 style connects
Use Clazy fix-old-style-connect to turn most connects to Qt5 style.

Change-Id: Ib81da329a7c1f5cf3e76536cbcc729a5c5d6dd56
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2015-11-19 16:22:52 +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
c020d1e44b QmlPuppet: Fix warning about inconsistent override usage
Change-Id: I458a04b3045961ebeadb12a6c599cdcec79e1713
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-08-27 12:13:25 +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
Tobias Hunger
ae477c3a4b qml2puppet: s/Q_DECL_OVERRIDE/override/g
Change-Id: I4c582486572df9d94c53163321212b15dcc042cf
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-06-08 10:51:24 +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
c6a2f1fe46 QmlPuppet: Explicitly include private headers
Those headers are used implcitly.

Change-Id: I49dcfb1a04b2103866b1d828605381570fb3e5c6
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-05-21 10:11:23 +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
7415ea9563 QmlPuppet: Remove unused private header
Change-Id: I699c423c3d4a84659e074e310e8697cd19f5c4c0
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:48 +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
6fe2c1455c QmlPuppet: Remove private dependencies from PositionerNodeInstance
Change-Id: I835fb8fa28e49aed049af995f7c3d5105f4dff19
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:30 +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
d38b1c21a2 QmlPuppet: DesignerSupport is not used directly anymore
No need to use DesignerSupport directly in ObjectNodeInstance.

Change-Id: I124adc6334feb23c30fb1a242fe95386678eadf5
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:12 +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
e1a19ba229 QmlPuppet: Removing private headers from ObjectNodeInstance
Change-Id: I179de2b759307a9251c672b1747823626e2f3ef0
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:02:00 +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
ebf074a604 QmlPuppet: Coding style
Change-Id: I9e7d54a3b6e4de452dc2cee1101100631cd69cbb
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-20 14:01:37 +00:00