From 2d402bf7fefb76cd18c8c0b291d688bc8f201714 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 30 Jul 2019 11:53:01 +0200 Subject: [PATCH 01/10] Update change log for 4.10 Change-Id: Id171e50d7fe92a354614e3718c675c64114a292e Reviewed-by: Eike Ziller --- dist/changes-4.10.0.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.10.0.md b/dist/changes-4.10.0.md index 651c719a328..6022f5aac9e 100644 --- a/dist/changes-4.10.0.md +++ b/dist/changes-4.10.0.md @@ -14,6 +14,7 @@ you can check out from the public Git repository. For example: * Removed support for KDE code paster after removal of official API * Added option for pinning files so they stay open when closing all files (QTCREATORBUG-21899) * Fixed low contrast of hovered folding markers (QTCREATORBUG-21702) +* Fixed infinite global search in case of symlink loop (QTCREATORBUG-22662) ### Generic Highlighter @@ -120,12 +121,22 @@ you can check out from the public Git repository. For example: ## Debugging * Added pretty printer for `QMargin` +* Fixed pretty printer for `std::vector` and `std::basic_string` with custom allocator +* Fixed pretty printer for `std::map::iterator` * Fixed issues with restoring layout (QTCREATORBUG-21669) ### CDB * Fixed loading of custom debugging helpers (QTCREATORBUG-20481) +## Clang Analyzer Tools + +* Fixed display of diagnostic for files outside of project directory (QTCREATORBUG-22213) + +## QML Profiler + +* Improved behavior in case of slow connections (QTCREATORBUG-22641) + ## Perf Profiler * Changed format of saved traces @@ -151,6 +162,7 @@ you can check out from the public Git repository. For example: * Added support for different reset types in `Branches` view * Added choice of build system to `Git Clone` wizard if cloned project supports multiple build systems (QTCREATORBUG-17828) +* Fixed popping stash after checkout from `Branches` view ## Test Integration @@ -182,13 +194,14 @@ you can check out from the public Git repository. For example: in its install step (QTCREATORBUG-21855) * Added support for opening remote terminal with run environment * Added option for `rsync` flags for deployment (QTCREATORBUG-22352) +* Fixed deployment of files with `executable` `CONFIG` value (QTCREATORBUG-22663) +* Fixed `Unexpected stat output for remote file` (QTCREATORBUG-22603) ### Bare Metal * Added include path detection and output parsers for `IAR`, `KEIL` and `SDCC` toolchains ## Credits for these changes go to: - Aleksei German Alessandro Ambrosano Alessandro Portale @@ -221,6 +234,7 @@ Kavindra Palaraja Knud Dollereder Leena Miettinen Luca Carlon +Marc Mutz Marco Bubke Martin Haase Michael Weghorn @@ -230,6 +244,7 @@ Oliver Wolff Orgad Shaneh Przemyslaw Gorszkowski Robert Löhning +Thiago Macieira Thomas Hartmann Thomas Otto Tim Henning @@ -238,4 +253,5 @@ Tobias Hunger Tor Arne Vestbø Uladzislau Paulovich Ulf Hermann +Vikas Pachdha Ville Nummela From 2ec58eac25e2c58b84d96ada85ef727d4a6685ef Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Mon, 15 Jul 2019 19:59:30 +0200 Subject: [PATCH 02/10] OutputWindow: Fix freeze when zooming out very far Task-number: QTCREATORBUG-22721 Change-Id: I5a3bc8d1aa677614bd7fdc5e5094b589721e378d Reviewed-by: Orgad Shaneh Reviewed-by: Eike Ziller --- src/plugins/coreplugin/outputwindow.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp index e89f999a478..6c33b8dafe2 100644 --- a/src/plugins/coreplugin/outputwindow.cpp +++ b/src/plugins/coreplugin/outputwindow.cpp @@ -232,6 +232,12 @@ void OutputWindow::wheelEvent(QWheelEvent *e) if (d->zoomEnabled) { if (e->modifiers() & Qt::ControlModifier) { float delta = e->angleDelta().y() / 120.f; + + // Workaround for QTCREATORBUG-22721, remove when properly fixed in Qt + const float newSize = float(font().pointSizeF()) + delta; + if (delta < 0.f && newSize < 4.f) + return; + zoomInF(delta); emit wheelZoom(); return; From b2daf07573b2813b849faaaeedfbfa4ac28afca5 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 30 Jul 2019 15:07:28 +0200 Subject: [PATCH 03/10] Debugger: Fix QFileDumper Some QRingBuffer member got removed in 8f92baf5c9. Change-Id: Ie0066db3b61bff25751a4886cb4b584cc4db49bf Reviewed-by: hjk Reviewed-by: Christian Stenger --- share/qtcreator/debugger/qttypes.py | 11 ++++++++++- tests/auto/debugger/tst_offsets.cpp | 17 ++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 317b3d343ae..44f151c9c6e 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -603,7 +603,16 @@ def qdump__QFile(d, value): # 9fc0965 and a373ffcd change the layout of the private structure qtVersion = d.qtVersion() is32bit = d.ptrSize() == 4 - if qtVersion >= 0x050700: + if qtVersion >= 0x050600 and d.qtTypeInfoVersion() >= 17: + # Some QRingBuffer member got removed in 8f92baf5c9 + if d.isWindowsTarget(): + if d.isMsvcTarget(): + offset = 164 if is32bit else 224 + else: + offset = 160 if is32bit else 224 + else: + offset = 156 if is32bit else 224 + elif qtVersion >= 0x050700: if d.isWindowsTarget(): if d.isMsvcTarget(): offset = 176 if is32bit else 248 diff --git a/tests/auto/debugger/tst_offsets.cpp b/tests/auto/debugger/tst_offsets.cpp index 4e312173046..90d1cfa3ef8 100644 --- a/tests/auto/debugger/tst_offsets.cpp +++ b/tests/auto/debugger/tst_offsets.cpp @@ -144,6 +144,10 @@ void tst_offsets::offsets() QCOMPARE(actual, expect); } +QT_BEGIN_NAMESPACE +extern quintptr Q_CORE_EXPORT qtHookData[]; +QT_END_NAMESPACE + void tst_offsets::offsets_data() { QTest::addColumn("actual"); @@ -151,8 +155,19 @@ void tst_offsets::offsets_data() QTest::addColumn("expected64"); const int qtVersion = QT_VERSION; + const quintptr qtTypeVersion = qtHookData[6]; - if (qtVersion >= 0x50700) + if (qtVersion > 0x50600 && qtTypeVersion >= 17) +#ifdef Q_OS_WIN +# ifdef Q_CC_MSVC + OFFSET_TEST(QFilePrivate, fileName) << 164 << 224; +# else // MinGW + OFFSET_TEST(QFilePrivate, fileName) << 160 << 224; +# endif +#else + OFFSET_TEST(QFilePrivate, fileName) << 156 << 224; +#endif + else if (qtVersion >= 0x50700) #ifdef Q_OS_WIN # ifdef Q_CC_MSVC OFFSET_TEST(QFilePrivate, fileName) << 176 << 248; From be67ee75c5bd8b537c578ec024722374b472f9fd Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 30 Jul 2019 15:48:46 +0200 Subject: [PATCH 04/10] Debugger: Fix QStandardItem dumper for Qt >= 5.9 Change-Id: Ib0dab191705982cf92d9599b8e627b41f0e187cc Reviewed-by: Christian Stenger --- share/qtcreator/debugger/qttypes.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 44f151c9c6e..864b2299534 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -227,7 +227,9 @@ def qdump__QStandardItemData(d, value): def qdump__QStandardItem(d, value): vtable, dptr = value.split('pp') - if d.isMsvcTarget(): + # There used to be a virtual destructor that got removed in + # 88b6abcebf29b455438 on Apr 18 17:01:22 2017 + if d.qtVersion() >= 0x050900 or d.isMsvcTarget(): model, parent, values, children, rows, cols, item = d.split('ppPPIIp', dptr) else: vtable1, model, parent, values, children, rows, cols, item = d.split('pppPPIIp', dptr) From c6b9f406152e160747a4287a5faa4ce86c9c9fe6 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 31 Jul 2019 09:49:34 +0200 Subject: [PATCH 05/10] Fix missing built-in header paths for iOS In cc9d246b028c518d1fc01fc8318f0945949040d3 we started passing "-target" to Clang when retrieving built-in header paths, but Clang doesn't like that for iOS targets if we do not also pass the target architecture. Fixes: QTCREATORBUG-22784 Change-Id: I007bba8ff14d7f303d84db2c803165ba789a5531 Reviewed-by: Nikolai Kosjar --- src/plugins/projectexplorer/gcctoolchain.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 9515668afa3..e9c683e21d3 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -533,7 +533,8 @@ QStringList GccToolChain::gccPrepareArguments(const QStringList &flags, || flag.startsWith("-B") || flag.startsWith("--target=") || (flag.startsWith("-isystem") && flag.length() > 8)) { arguments << flag; - } else if ((flag == "-target" || flag == "-gcc-toolchain" || flag == "-isystem") + } else if ((flag == "-target" || flag == "-gcc-toolchain" || flag == "-isystem" + || flag == "-arch") && i < flags.size() - 1) { arguments << flag << allFlags.at(i + 1); ++i; From 0f3c8a3c7b36c75ea405e4782fd5bd5d7413c794 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 31 Jul 2019 12:31:51 +0200 Subject: [PATCH 06/10] QmlDesigner: Fix custom qml2puppet build The build of a custom qml2puppet was failing, because of utils/algorithm.h missing. We should minimize Qt Creator dependencies in the puppet. Change-Id: Iba8dd1a3979dbeeb1bfa860b50ba586bea20c7a7 Reviewed-by: Eike Ziller --- .../qml2puppet/instances/nodeinstanceserver.cpp | 4 +--- .../qml2puppet/instances/nodeinstanceserver.h | 12 ++++++++++++ .../instances/qt5informationnodeinstanceserver.cpp | 6 ++---- .../instances/qt5rendernodeinstanceserver.cpp | 4 +--- .../instances/qt5testnodeinstanceserver.cpp | 6 ++---- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp index 56e407f62bd..ad6867e9309 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp @@ -67,8 +67,6 @@ #include #include -#include - #include #include #include @@ -460,7 +458,7 @@ void NodeInstanceServer::setupImports(const QVector &contain delete m_importComponent.data(); delete m_importComponentObject.data(); - const QStringList importStatementList = Utils::toList(importStatementSet); + const QStringList importStatementList = QtHelpers::toList(importStatementSet); const QStringList fullImportStatementList(QStringList(qtQuickImport) + importStatementList); // check possible import statements combinations diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h index 2aebef1174c..fb8b081b45b 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h @@ -35,6 +35,18 @@ #include "servernodeinstance.h" #include "debugoutputcommand.h" +namespace QtHelpers { +template +QListtoList(const QSet &set) +{ +#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) + return set.toList(); +#else + return QList(set.begin(), set.end()); +#endif +} +} //QtHelpers + QT_BEGIN_NAMESPACE class QFileSystemWatcher; class QQmlView; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp index 99688fa7cc7..055e9f9eba1 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp @@ -60,8 +60,6 @@ #include -#include - namespace QmlDesigner { Qt5InformationNodeInstanceServer::Qt5InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) : @@ -169,13 +167,13 @@ void Qt5InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands() if (!informationChangedInstanceSet.isEmpty()) nodeInstanceClient()->informationChanged( - createAllInformationChangedCommand(Utils::toList(informationChangedInstanceSet))); + createAllInformationChangedCommand(QtHelpers::toList(informationChangedInstanceSet))); if (!propertyChangedList.isEmpty()) nodeInstanceClient()->valuesChanged(createValuesChangedCommand(propertyChangedList)); if (!m_parentChangedSet.isEmpty()) { - sendChildrenChangedCommand(Utils::toList(m_parentChangedSet)); + sendChildrenChangedCommand(QtHelpers::toList(m_parentChangedSet)); m_parentChangedSet.clear(); } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp index 19160d9ea9f..08b20ccd223 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp @@ -60,8 +60,6 @@ #include -#include - namespace QmlDesigner { Qt5RenderNodeInstanceServer::Qt5RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) : @@ -96,7 +94,7 @@ void Qt5RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands() clearChangedPropertyList(); if (!m_dirtyInstanceSet.isEmpty()) { - nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(Utils::toList(m_dirtyInstanceSet))); + nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(QtHelpers::toList(m_dirtyInstanceSet))); m_dirtyInstanceSet.clear(); } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5testnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5testnodeinstanceserver.cpp index 1f8540359b8..cb5af3dc800 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5testnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5testnodeinstanceserver.cpp @@ -62,8 +62,6 @@ #include -#include - namespace QmlDesigner { Qt5TestNodeInstanceServer::Qt5TestNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) @@ -291,7 +289,7 @@ void QmlDesigner::Qt5TestNodeInstanceServer::collectItemChangesAndSendChangeComm if (!informationChangedInstanceSet.isEmpty()) { InformationChangedCommand command - = createAllInformationChangedCommand(Utils::toList(informationChangedInstanceSet)); + = createAllInformationChangedCommand(QtHelpers::toList(informationChangedInstanceSet)); command.sort(); nodeInstanceClient()->informationChanged(command); } @@ -302,7 +300,7 @@ void QmlDesigner::Qt5TestNodeInstanceServer::collectItemChangesAndSendChangeComm } if (!parentChangedSet.isEmpty()) - sendChildrenChangedCommand(Utils::toList(parentChangedSet)); + sendChildrenChangedCommand(QtHelpers::toList(parentChangedSet)); } } From 5d3010a722d2b90bcdf870e7ba04e8a87f790707 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Tue, 30 Jul 2019 16:15:55 +0200 Subject: [PATCH 07/10] Squish: Use parameters in another call to mouseClick(...) Reverts e8727fcae25d96da9e55bb5a98dde813e4e5dfa0 for this line. Change-Id: I98e789ef3e09b3d33e53ced23177795e1e226a1e Reviewed-by: Christian Stenger --- tests/system/suite_HELP/tst_HELP06/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system/suite_HELP/tst_HELP06/test.py b/tests/system/suite_HELP/tst_HELP06/test.py index e4cadad9512..96ec0a4e1c8 100755 --- a/tests/system/suite_HELP/tst_HELP06/test.py +++ b/tests/system/suite_HELP/tst_HELP06/test.py @@ -106,7 +106,7 @@ def main(): checkIfObjectExists(bldRunQModelIndex, verboseOnFail = True) and checkIfObjectExists(manualQModelIndex, verboseOnFail = True), "Verifying if all folders and bookmarks are present") - mouseClick(waitForObject(":Qt Creator_Bookmarks_TreeView")) + mouseClick(waitForObject(":Qt Creator_Bookmarks_TreeView"), 5, 5, 0, Qt.LeftButton) for _ in range(6): type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "") type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "") From ae66f63390cf1165bba1d00e7b79b27d36498501 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 31 Jul 2019 12:37:43 +0200 Subject: [PATCH 08/10] Debugger: Disable QObject connection and signal display Besides the announced change to QObject guts in a5a859e72 there has been at least 6e0b5dadc and possibly more, so give up here. Change-Id: I84201cef9f2a7515f082f4c3310bdc96f7a4216d Reviewed-by: Christian Stenger --- share/qtcreator/debugger/dumper.py | 6 ++++-- share/qtcreator/debugger/qttypes.py | 6 ++++-- tests/auto/debugger/tst_dumpers.cpp | 5 +++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 341ceb71455..14019268586 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -1994,14 +1994,16 @@ class DumperBase: with Children(self): self.putQObjectGutsHelper(0, 0, -1, metaObjectPtr, 'QMetaObject') - with SubItem(self, '[connections]'): + if False: + with SubItem(self, '[connections]'): if connectionListsPtr: typeName = '@QObjectConnectionListVector' self.putItem(self.createValue(connectionListsPtr, typeName)) else: self.putItemCount(0) - with SubItem(self, '[signals]'): + if False: + with SubItem(self, '[signals]'): self.putItemCount(signalCount) if self.isExpanded(): with Children(self): diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 864b2299534..a584e24e84f 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -1211,7 +1211,8 @@ def qdump__QMetaObject(d, value): d.putMembersItem(value) -def qdump__QObjectPrivate__ConnectionList(d, value): +if False: + def qdump__QObjectPrivate__ConnectionList(d, value): d.putNumChild(1) if d.isExpanded(): i = 0 @@ -1948,7 +1949,8 @@ def qdump__QVector(d, value): d.putItemCount(size) d.putPlotData(data, size, value.type[0]) -def qdump__QObjectConnectionList(d, value): +if False: + def qdump__QObjectConnectionList(d, value): dd = d.extractPointer(value) data, size, alloc = d.vectorDataHelper(dd) d.check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index f6b3cd8b56d..b179882643f 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -2837,8 +2837,9 @@ void tst_Dumpers::dumper_data() + Check("ob", "\"An Object\"", "@QWidget") + Check("ob1", "\"Another Object\"", "@QObject") + Check("ob2", "\"A Subobject\"", "@QObject") - + Check("ob.[extra].[connections].@1.0.0.receiver", "\"Another Object\"", - "@QObject") % NoCdbEngine % QtVersion(0x50b00); + //+ Check("ob.[extra].[connections].@1.0.0.receiver", "\"Another Object\"", + // "@QObject") % NoCdbEngine % QtVersion(0x50b00) + ; QString senderData = From c6777035435f218adedf99d51d9136923151fbf0 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Jul 2019 11:31:25 +0200 Subject: [PATCH 09/10] QmlDesigner: Explcitly set drag range for geometry properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The default drag range is based on the minimum and maximum, but sicne those are huge we overide the default. Change-Id: Ibad785b475adfd92a78e6c5ff21fed2af21d637a Reviewed-by: Henning Gründl Reviewed-by: Thomas Hartmann --- .../propertyEditorQmlSources/QtQuick/GeometrySection.qml | 4 ++++ .../imports/HelperWidgets/SpinBox.qml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml index 36a46b72bbd..166c9631739 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml @@ -53,6 +53,7 @@ Section { maximumValue: 0xffff minimumValue: -0xffff decimals: 0 + realDragRange: 5000 } Item { @@ -70,6 +71,7 @@ Section { maximumValue: 0xffff minimumValue: -0xffff decimals: 0 + realDragRange: 5000 } ExpandingSpacer { @@ -92,6 +94,7 @@ Section { maximumValue: 0xffff minimumValue: 0 decimals: 0 + realDragRange: 5000 } Item { @@ -109,6 +112,7 @@ Section { maximumValue: 0xffff minimumValue: 0 decimals: 0 + realDragRange: 5000 } ExpandingSpacer { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/SpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/SpinBox.qml index 2ec1052877a..2333a194e7f 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/SpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/SpinBox.qml @@ -41,6 +41,8 @@ Item { property alias backendValue: spinBox.backendValue property alias sliderIndicatorVisible: spinBox.sliderIndicatorVisible + property alias realDragRange: spinBox.realDragRange + width: 96 implicitHeight: spinBox.height From 100e21c0d4eb2ed135b567d0c97a658f01bceaca Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 31 Jul 2019 14:23:31 +0200 Subject: [PATCH 10/10] CMake build: Add PUBLIC_DEFINES to extend_qtc_target/add_qtc_plugin Change-Id: I65d5af13f697ed7dcf4d3584e3b4cd776dcdf6c0 Reviewed-by: Cristian Adam Reviewed-by: Eike Ziller --- cmake/QtCreatorAPI.cmake | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 3c11c348bf5..003ac10c307 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -364,7 +364,7 @@ function(add_qtc_plugin target_name) cmake_parse_arguments(_arg "EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL" "VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC" ${ARGN} ) @@ -501,6 +501,7 @@ function(add_qtc_plugin target_name) target_compile_definitions(${target_name} PRIVATE ${EXPORT_SYMBOL} ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES} + PUBLIC ${_arg_PUBLIC_DEFINES} ) add_qtc_depends(${target_name} @@ -548,7 +549,7 @@ function(extend_qtc_target target_name) cmake_parse_arguments(_arg "" "SOURCES_PREFIX" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC" ${ARGN} ) @@ -567,7 +568,10 @@ function(extend_qtc_target target_name) PRIVATE ${_arg_DEPENDS} PUBLIC ${_arg_PUBLIC_DEPENDS} ) - target_compile_definitions(${target_name} PRIVATE ${_arg_DEFINES}) + target_compile_definitions(${target_name} + PRIVATE ${_arg_DEFINES} + PUBLIC ${_arg_PUBLIC_DEFINES} + ) target_include_directories(${target_name} PRIVATE ${_arg_INCLUDES}) set_public_includes(${target_name} "${_arg_PUBLIC_INCLUDES}")