When editing values in the puppet we did not take reflection into account.
This means that any changes we did from the puppet for notified back
from Qt Creator. Since those notifications are asynchronous this leads
to various issues especially when more than one axis (property) was modified
at once.
This patch avoids reflection. The notifications are 'flagged' and then
ignored in the Qt5InformationNodeInstanceServer.
While a node is moved we ignore any changes to that specific node.
Task-number: QDS-1191
Change-Id: Ic74e22ea71832ce12321f9085a7296c2a7d9893d
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This option allows to define transactions for
ValuesChangedCommand and ValuesModifiedCommand.
Change-Id: Ia603027b5c431f1a1912d8959561f92a19fd0243
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This is likely to fix a crash we could only reproduce
with the Qt Design Studio release on one machine.
Task-number: QDS-270
Change-Id: Idc33ba145169613b866903fa5e259f8cd6ec4ee8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
In some cases items render their children directly using an effect.
In this case we do not want to hide the children when calling
refFromEffectItem().
If the hint takesOverRenderingOfChildren is set in the .metainfo hints
for a parent item we forward a flag to the puppet and refFromEffectItem()
is not hiding this item,
Change-Id: I37a8c0ad8a15bc914c220e03b1b744779431d655
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We stream in as int or as qint32, so this is symmetric.
Change-Id: Ic46ff326a6ba46bc877cfffd148325c21241f3b1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Calling detach() in setKey() will free the shared memory twice, if
we do not set m_memory to nullptr.
Clean cleanHandleInternal() does always return true, so
checking the value does not make sense.
We have to call cleanHandleInternal() immediately after the close.
Change-Id: I110693d1dd9dae4ff5e52cfd3fdd2f33137af969
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
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>
Obviously, you cannot set m_sharedMemory to 0 and then write the error
and errorString to it.
Change-Id: Ifcacfd7adcb4ff2fd88ebda21aa81094337233f6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
A dynamicTypeName has to be always latin1 so we should use TypeName
instead of QString.
Change-Id: I06c945aa61f677788285cbc8ff8f5811f6c61b0b
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
<QWidget> for QWidget, <QDataStream> for QDataStream and <QMetaObject>
for Q_GADGET (technically, qobjectdefs.h)
Change-Id: Ia7e8b12ff4c67827bb7782a0337714e330de1db1
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Came from two deletions at the same time QCache::remove and
delete on sharedMemory.QmlDesigner:
Change-Id: I6a29cf160c8e81ecd955cf36999edc639fbbb63f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
To be sure that the shared memories are removed at process exit.
And fix that createSharedMemory reuse possible already existing shared
memories now. ("take" -> "[]")
Change-Id: Idcc99ba42b862b862d5403ecf3b781a27fdf757f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
OS X is only supporting a maximum of 31 letters for shared memory names.
Change-Id: I61351228decaa3fa7ec19a6035620ab932cf5386
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
QSharedMemory is using SVR4 shared memory for unix which is limited to
4 MB globally which is really hurting the performance for the designer.
POSIX shared memory is lifting some of this constraints but still has
some bugs on Max OS but generally works better.
Change-Id: I74c1ffd56495f408cd9340cd159190a1175a4086
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Older puppets crashes if we send enumerations so we convert them before.
This patch has to be reverted in master.
Change-Id: Id33e776616ea6e74c7b14799e3aed130c39f8fed
Hotfix: 3.1
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
QVariant now has an operator< that is ambiguous with this one.
(since commit 7ed15da3c1b9e2bb26f414a10bfc6e6d79d7cc7b in qtbase)
Change-Id: Idf38afe85cec966df1885aa2da0f37fbb3eeccf6
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
Import are delemited with a "." and there is a "/" between
import and type.
e.g.: QtQuick.Layout/QQuickLayout
Change-Id: I7750b333296cceef99992610cca126530f777777
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
And PropertyName is a typedef for QByteArray. Because we don't use the
features of QString and the source would be cluttered with QLatin1Strings
we changed the property name to QByteArray.
Change-Id: Ib70ef136bbc411504b450456bd9bb705ae93dd25
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
(cherry picked from commit ee4bf638ca)
Reviewed-by: Marco Bubke <marco.bubke@digia.com>