Commit Graph

298 Commits

Author SHA1 Message Date
Thomas Hartmann
4ca71590db QmlDesigner: Fix warning
Change-Id: Iff2c50439521e602bd2703716590a3e95c8ab2b1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-03-23 17:00:42 +00:00
Thomas Hartmann
fdb40645a4 QmlDesigner: Unite the bounding rectangle with actual size
This is required to correctly render text elements with padding,
since the bounding rect seems incorrect.

Change-Id: Ifcef2607089a7a2cec071814d5d87bd27da7ace3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-03-17 13:02:54 +00:00
Thomas Hartmann
bf3008292f QmlDesigner: Add support for high dpi to form editor and puppet
We forward the device pixel ratio to the qml2puppet and
render items in higher resolutions.
We have to set the device pixel ratio on the pixmap manually,
since it is not serialized.
The option IgnoreDevicePixelRaio allows disabling high dpi awareness.
Rendering in high dpi affects performance, but since we
use shared memory this does not seem to be a serious issue.

Change-Id: Ie9219b8fdb37841c24d4fb3f0ca259f0194ef65c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-03-13 12:04:18 +00:00
Thomas Hartmann
6e30faba73 QmlDesigner: Quick fix for Popup
This is a quickfix for Controls 2 Popup, Drawer, Menu and Dialog.
We pretend everything derived from QtQuick.Controls.Popup
is an item instead of a QQObject.

Change-Id: I603dce8a1a1b08df3e2c1dccc0fa57e7ccef0800
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 12:58:20 +00:00
Thomas Hartmann
d942111ace QmlDesigner: Fix manual puppet build
The overload for the "+" operator is ambiguous.

Change-Id: Iaebd889ef2eaed6e2d4261ecbd9555a6ba73c521
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-22 16:14:04 +00:00
Nikolai Kosjar
ab87035ed3 QmlDesigner: Fix compilation
nodeinstanceserver.cpp: In member function 'void
    QmlDesigner::NodeInstanceServer::setupImports(const
    QVector<QmlDesigner::AddImportContainer>&)':
nodeinstanceserver.cpp:458:71: error: conversion from 'const char*' to
    'QChar' is ambiguous

Change-Id: Ifa4cb2700344aaacc17619f05249f338e9b28d0b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-22 10:01:04 +00:00
Tim Jenssen
cff0c06f0c QmlDesigner: fix import check again
Task-number: QTCREATORBUG-17303
Change-Id: I0f7a054d63234f3f368de65fd6092c494a9055d4
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-22 09:19:53 +00:00
Tim Jenssen
571168f9fb QmlDesigner: fix endless loop in check import code
Change-Id: Id1255ed1fd544e0eed75aeeeb2ffb3df8f75dc84
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-21 15:44:33 +00:00
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